Size: a a a

2020 March 09

D

Dmitry in Delphi & Lazarus
По одному символы 2гб сливать в цикле....
источник

SB

Sergey Bodrov in Delphi & Lazarus
Это пример из справки Дельфи =)
источник

D

Dmitry in Delphi & Lazarus
Особенности/требования : много и быстро
источник

SB

Sergey Bodrov in Delphi & Lazarus
Даже по одному байту будет шустро писать, благодаря буферизации.
источник

D

Dmitry in Delphi & Lazarus
Поэтому, школьные примеры из хэлпа не подойдут
источник

SB

Sergey Bodrov in Delphi & Lazarus
А если WriteLn(), то совсем быстро.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Ну, не знаю, у меня гигабайтные логи именно так и пишутся
источник

D

Dmitry in Delphi & Lazarus
CsvDocument кто использовал?
источник

SB

Sergey Bodrov in Delphi & Lazarus
Можно еще через TFileStream и всякие хелперы к нему, но там могут быть проблемы с разделением доступа и буферизацией.
источник

VA

Viktor Akselrod in Delphi & Lazarus
Dmitry
Особенности/требования : много и быстро
если говорить про выгрузку в файл - то по факту это просто запись в файл предварительно отформатированных строк

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

SB

Sergey Bodrov in Delphi & Lazarus
Самое быстрое - mapped file, но это сложно
источник

VA

Viktor Akselrod in Delphi & Lazarus
Sergey Bodrov
Самое быстрое - mapped file, но это сложно
чем быстрее? в итоге mmf все равно рано или поздно будет записан на диск
источник

SB

Sergey Bodrov in Delphi & Lazarus
Короче, пиши текст через WriteLn(), не пожалеешь.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Viktor Akselrod
чем быстрее? в итоге mmf все равно рано или поздно будет записан на диск
Быстрее за счет агрегации операций IO.
источник

D

Dmitry in Delphi & Lazarus
Спасибо, я думал может есть какие-то "автоматизированные" решения, чем нативная запись в файл
источник

SB

Sergey Bodrov in Delphi & Lazarus
"Наивная" запись хорошо оптимизируется на уровне ОС и драйверов экзотических железок. А хитрожопая запись может давать внезапные провалы производительности на хитрожопом серверном железе.
источник

D

Dmitry in Delphi & Lazarus
😄 Опечатка по Фрейду
источник

D

Dmitry in Delphi & Lazarus
В итоге ничего программировать не пришлось. В IBExpert-е есть готовое решение - IBEblock.
источник

D

Dmitry in Delphi & Lazarus
1млн строк слит в csv за 2м 15 сек, объём файла 306мб
источник

D

Dmitry in Delphi & Lazarus
источник