Дельфі алгоритм
Середня розробка Embarcadero.
Прикладний обсяг .txt файлу 2 Гб
Приклад контенту файлу:
замовлення No1 13.04.2019
замовлення No2 13.04.2019
замовлення No3 13.04.2019
замовлення No4 13.04.2019
Завдання: багатопоточне і синхронне читати построчно великий txt файл без його повного завантаження в ОЗУ
Відгук замовника про співпрацю з Valera Vino
Дельфі алгоритмВсе в порядку, робота виконана.
Відгук фрилансера про співпрацю з Евгениєм Сергеевичем
Дельфі алгоритмХороший замовник, адекватний Приємно працювати.
Рекомендуємо співпрацювати.
-
147 5 0 Я роблю через длл.
У дельфі не знайшов ідеального способу, тому в шарпі соберу dll і через неї ми будемо працювати.
-
221 6 1 Функція CreateFileA
Другий параметр dwDesireAccess - встановлюється в
ІНФОРМАЦІЯ / READ
Третій - dwShareMode вставити в 1
Головне правило - всі інші відкриття даного файлу (іншими потоками або процесами) не повинні суперечити першому відкриттю в питаннях прав спільного доступу.
Синхронізація читання, якщо потрібно, можливо і через евенти або через вас певні прапори/значення в shared memory. З одного процесу взагалі не проблема. Це і є весь алгоритм. Більш детально - два пакети честера і кави. Буде з схемами / блоками )
-
Привет, напиши пожалуйста мне в телеграм t.me/coinbits
или тут в личку. -
Мне необходимо многопоточно и синхронно дергать строки поочередно в каждый поток с смещением от начала и до конца файла.
-
Такое "многопоточное" чтение бессмысленно, т.к. приведёт не к увеличению скорости чтения, а наоборот - к деградации, особенно если файл находится на жёстком диске.
-
Да нет, вы только проиграете по скорости, потому что скорость последовательного чтения как минимум на 2 порядка выше скорости случайного чтения. А при многопоточном чтении вы как раз и получите вариант случайного чтения данных с диск.
-
Нужно оптимизировать обработку потока файла, в алгоритме о котором вы не сказали ни слова. Открытие нескольких дескриторов не увеличит скорость обработки информации, физический диск то один.
-
Выигрыш от многопоточности будет только при обработке файла, а не при его чтении. Чтобы получить максимальную скорость, читать нужно одним потоком последовательно, а обрабатывать считанные данные уже многопоточно.
-
Актуальні фриланс-проєкти в категорії Десктопні додатки
Потрібен Airtable-архітектор для побудови relational schema та нового clean Airtable baseПотрібно допомогти переосмислити та побудувати чисту relational-схему для внутрішньої операційної системи на Airtable. Поточна база вже використовується командою, але вона виросла органічно: структура частково плоска, частина таблиць/в’юшок використовується активно, частина… Бази даних та SQL, Десктопні додатки ∙ 2 дні 20 годин тому ∙ 9 ставок |
Створення ПЗ для генерації файлів різки дерев'яних пазлівШукаємо розробника для створення програмного забезпечення, яке автоматизує процес побудови файлів різки для дерев'яних фігурних пазлів. Поточний процес Зараз кожен файл створюється дизайнером вручну в Adobe Illustrator. Файл містить: зовнішній контур пазла довільної форми;… Десктопні додатки ∙ 3 дні тому ∙ 14 ставок |
Невелика правка на сайті
700 UAH
Потрібно перепідв'язати договір оферти в футері на новий, в компанії змінився регламент Завдання на 20 хвилин Веб-програмування, Десктопні додатки ∙ 4 дні 2 години тому ∙ 110 ставок |
Інструмент звірки рахунків з банком, картами та бухгалтеромТехнічне завдання: інструмент звірки рахунків з банком, картами та бухгалтеромЗагальна метаПотрібен локальний інструмент (скрипт/невеликий додаток на Python), який запускається вручну раз на 1-2 місяці на моєму комп'ютері і робить звірку між:Рахунками, які я виставив клієнтам і… Python, Десктопні додатки ∙ 6 днів 9 годин тому ∙ 44 ставки |
Додати паузи 10-30 секунд між відправками листівВітаю! Шукаю досвідченого програміста 1С / BAS (BAF) для оперативного вирішення технічної проблеми з поштовою розсилкою.Суть проблеми: Використовуємо бухгалтерську програму BAF (Business Automation Framework), редакция 2.0. Раз на місяць виникає потреба масово відправляти… Веб-програмування, Десктопні додатки ∙ 12 днів 1 година тому ∙ 10 ставок |