Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Розмістіть свій проєкт безплатно та почніть отримувати пропозиції від фрилансерів-виконавців уже через хвилини після публікації!

Дельфі алгоритм

Translated1000 UAH

Відгук замовника про співпрацю з Valera Vino

Якість
Професіоналізм
Вартість
Контактність
Терміни

Все в порядку, робота виконана.

Відгук фрилансера про співпрацю з Евгениєм Сергеевичем

Оплата
Постановка завдання
Чіткість вимог
Контактність

Хороший замовник, адекватний Приємно працювати.
Рекомендуємо співпрацювати.

  1. 147    5  0
    Переможець1 день1000 UAH

    Я роблю через длл.
    У дельфі не знайшов ідеального способу, тому в шарпі соберу dll і через неї ми будемо працювати.

  2. 221    6  1
    1 день1000 UAH

    Функція CreateFileA
    Другий параметр dwDesireAccess - встановлюється в
    ІНФОРМАЦІЯ / READ
    Третій - dwShareMode вставити в 1
    Головне правило - всі інші відкриття даного файлу (іншими потоками або процесами) не повинні суперечити першому відкриттю в питаннях прав спільного доступу.
    Синхронізація читання, якщо потрібно, можливо і через евенти або через вас певні прапори/значення в shared memory. З одного процесу взагалі не проблема. Це і є весь алгоритм. Більш детально - два пакети честера і кави. Буде з схемами / блоками )

  3. 1 ставку приховано
  • Valera Vino
    10 червня 2019, 0:02 |

    Привет, напиши пожалуйста мне в телеграм t.me/coinbits
    или тут в личку.

  • Профіль видалено
    10 червня 2019, 0:15 |

    По-моему это невозможно. Многопотоково один файл. Или я чего то не знаю )))

    Только стрим ("на лету") качать данные и обрабатывать.

  • Сергей Гребенюк
    10 червня 2019, 4:32 |

    ну сорян канеш, но скорее второе

  • Евгений Сергеевич
    10 червня 2019, 0:27 |

    Мне необходимо многопоточно и синхронно дергать строки поочередно в каждый поток с смещением от начала и до конца файла.

  • Профіль видалено
    10 червня 2019, 0:29 |

    Ну если только сплитить (разделит) файл на мильён файлов и тогда обрабатывать их в многопотоке.

  • Игорь Ляльченко
    10 червня 2019, 1:43 |

    Нет. Совместный доступ я описал в ставке. Собственно полагая что именно он вызвал проблему, т.к в содержимом файла, судя по ТЗ строки одинаковой длины и считать конкретную путем установки указателя на нужную ф-ей SetFilePointer не вызывает сложностей. Совместный доступ на чтение сам по себе прост. Правило которого следует придерживаться - первое открытие файла должно разрешать совместный доступ на чтение, а остальные открытия не противоречить друг другу в вопросах прав доступа. Например если вы открыли файл для чтения и записи, с произвольным доступом на чтение, а второй раз его пытаетесь открыть с разрешением произвольного доступа на чтение то это будет противоречить первому открытию, предусматривающему и запись тоже. Вот и вся тонкость

  • Профіль видалено
    10 червня 2019, 5:42 |

    В том то и дело (как я уже писала), что строки неодинаковой длины.

    Например:

    заказ №3 13.04.2019 

    заказ №456 13.12.2199 

    Поэтому даже сплитить файл - это потеря, как минимум, одной "записи".

  • Игорь Ляльченко
    10 червня 2019, 8:13 |

    Ну а при неодинаковой длинне всегда полезно сперва составить карту строк. Массив смещений от начала. Иначе произвольный доступ к сотне байт, превратится в перечитывание 2гб

  • Игорь Ляльченко
    10 червня 2019, 8:38 |

    Ну а если не лабораторная (где выигрыш от многопоточности не в скорости чтения, а в скорости получения запроса), а чтение именно последовательное от начала и до конца.. то господа коллеги верно отметили - многопоточность сразу снизит скорость работы, так как после чтения одного блока, для чтения второго (того же самого фактически, ранее прочитанного) нужно будет дергать считывающие головки туда сюда и кроме жуткого рычания диска под нагрузкой не получите ничего интересного

  • Игорь Ляльченко
    10 червня 2019, 8:38 |

    *запроса=зачета

  • Евгений C
    10 червня 2019, 1:45 |

    Такое "многопоточное" чтение бессмысленно, т.к. приведёт не к увеличению скорости чтения, а наоборот -  к деградации, особенно если файл находится на жёстком диске. 

  • Игорь Ляльченко
    10 червня 2019, 1:53 |

    А вот вопрос.  Смотря какие цели. Чем ставить очередь на чтение к примеру не один-два запроса и с непредсказуемым доступом внутри файла, да ещё мелких объемов на чтение.. то скорость многопоточного варианта таки возрастет

  • Игорь Ляльченко
    10 червня 2019, 2:07 |

    Нет, безусловно, блины вращаться быстрее не станут от того что файл открыт 1000 раз. Это понятно ))

    Вопрос для чего это дальше. Но технически это возможно и не сложно придумать ситуацию, когда это хоть и не вызовет большей скорости работы железа, но это железо поднапряжет и что то из него таки выдавит сверх однопоточного.

  • Евгений C
    10 червня 2019, 2:50 |

    Да нет,  вы только проиграете по скорости, потому что скорость последовательного чтения как минимум на 2 порядка выше скорости случайного чтения. А при многопоточном чтении вы как раз и получите вариант случайного чтения данных с диск.

  • Игорь Ляльченко
    10 червня 2019, 8:09 |

    Если нужно последовательное (строго последовательное, напр речь о копировании файла) то да, безусловно правы.


    Так же если после чтения блока минимум обработки и мы готовы читать след.блок молниеносно  то тоже да, тоже правы.


    Ну а если речь о необходимости произвольного чтения что в один что в несколько потоков ? Или вариант когда требуется доп обработка перед тем как можно читать дальше и пока мы обрабатываем hdd простаивает? 


  • Вячеслав Азаров
    10 червня 2019, 6:27 |

    Нужно оптимизировать обработку потока файла, в алгоритме о котором вы не сказали ни слова. Открытие нескольких дескриторов не увеличит скорость обработки информации, физический диск то один.

  • Игорь Ляльченко
    10 червня 2019, 8:10 |

    Ну и ещё может не быть алгоритма а может быть задача по какой нибудь лабораторной ))

    В которой сказано - нужно многопоточно ))

  • Евгений C
    10 червня 2019, 9:42 |

    Выигрыш от многопоточности будет только при обработке файла, а не при его чтении. Чтобы получить максимальную скорость, читать нужно одним потоком последовательно, а обрабатывать считанные данные уже многопоточно.

  • Игорь Ляльченко
    10 червня 2019, 9:49 |

    согласен. почти всегда это возможно реализовать именно таким способом ))

    я лишь говорю что многопоточно это тоже возможно, хоть и под сомнением целесообразность. 

Актуальні фриланс-проєкти в категорії Десктопні додатки

Потрібно терміново отримати POST / GET / PUT запити з мобільного додатку TikTok

По суті. Потрібно витягти POST / GET / PUT запити з мобільного додатку TikTok Навіть по суї можна до кінця не реверсити нічого такого, бо підписи є в інтернеті і т.д. Але було б теж супер Вся авторизація (Відправка даних/підтвердження по пошті і введення коду якщо…

Веб-програмуванняДесктопні додатки ∙ 2 дні 20 годин тому ∙ 21 ставка

Розробка кастомного ПЗ (Android-додатка + CMS) для кіосків самообслуговування SUNMI K2 (Фастфуд)

1000 UAH

Шукаємо досвідчену команду або Middle/Senior Android-розробника (можливо, з Full-stack навичками) для створення власного програмного забезпечення для кіосків самообслуговування ритейл-мережі закладу швидкого харчування. Зараз наші термінали працюють на базі готового хмарного…

CMSДесктопні додатки ∙ 3 дні 14 годин тому ∙ 19 ставок

Потрібно зробити міграцію поточної робочої програми з foxpro на C#

Всім привіт! У нас є програма на foxpro (в ній є кілька модулів, програма для обліку), є вихідники програми, при гострій необхідності можна проконсультуватися з людьми по підтримці поточної програми Що потрібно зробити: 1. Аналіз, що і як працює, скласти список всього зайвого,…

C#Десктопні додатки ∙ 8 днів 22 години тому ∙ 18 ставок

ПО Мастер-програма «KONSTRUCTOR»

185 490 UAH

Ми шукаємо дуже досвідченого C++ розробника для модернізації існуючого ПЗ (майстер-програми). Програма відповідає за створення виробного ПЗ, що представляє аудіо-візуальні сеанси психологічної корекції. Поточна версія написана на чистому WinAPI (Visual Studio 2019/2022).…

C та C++Десктопні додатки ∙ 11 днів 11 годин тому ∙ 19 ставок

Налаштування ODOO Enterprise для будівництва

Необхідно побудувати картки та налаштувати зручний імпорт, інтеграцію з ЕДО і загалом Workflow ODOO Компанія займається системною інтеграцією: маємо поставки обладнання В2В або з прямою маржинальністю, або з рібейтами в подальшому. Крім того, ведемо будівельні роботи на об'єктах…

Автоматизація управління підприємствомДесктопні додатки ∙ 11 днів 20 годин тому ∙ 7 ставок

Замовник
Проєкт опублікований
6 років тому
159 переглядів