|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.11.2015, 10:23 | #11 | ||
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
||
26.11.2015, 10:31 | #12 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Серж, на больших файлах должно дать. При маленьком блоке больше обращений с жесткому диску. На маленьких файлах разницы особой нет - там кеширование файла операционкой свою роль должно сыграть, и все операции чтения по сути с ОП. А вот на больших будет значительная разница, должна быть. Не проверял на гигабайтах
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
26.11.2015, 10:34 | #13 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
TStringList, TFileStream, FileMapping ВСЕ это средства для ОБЕСПЕЧЕНИЯ удобной РАБОТЫ ПАРСЕРА.
Цитата:
Короче говоря хотите получить дельные советы по ускорению. 1) озвучьте ИСХОДНУЮ задачу. (задачу которую должен делать парсер). и не только парсер, ведь ЕГО(парсера) результатами кто-то пользуется (по крайней мере они куда-то складываются в формате удобном для ПОСЛЕДУЮЩЕЙ обработки/анализа). 2) код парсера в студию. пример "очень простого" улучшения на StringList почти незаметного для программиста, но очень заметного для компьютера. Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 26.11.2015 в 10:42. |
||
26.11.2015, 10:45 | #14 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ну, если не сложно.
я бы сам проверил, но я сейчас "безлошадный" (Delphi под рукой нет). посмотрим, насколько я ошибся! Цитата:
Но у меня сложилось впечатление (возможно, что и ошибочное), что TFileStream.ReadBuffer уже использует кеширование. Хотя, конечно, возможно, что я наблюдал дисковый кэш операционнки, не буду спорить. Вот поэтому и хотелось бы увидеть конкретную фактическую разницу. Последний раз редактировалось Serge_Bliznykov; 26.11.2015 в 10:48. |
|
26.11.2015, 11:01 | #15 | |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
Цитата:
Последний раз редактировалось come-on; 26.11.2015 в 11:03. |
|
26.11.2015, 11:02 | #16 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Ну основное правило - читать блоками кратными кластерам жесткого диска. Даже если размер блока будет больше, но не кратный, то скорость все равно упадет. Поэтому берете 4К и кратно грузите сколько Вам надо за один раз. Даже если Вам надо реально меньше, все равно грузить 4к будет быстрей.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
26.11.2015, 17:13 | #17 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Хы. Смотрите, как интересно работает кэширование. Исходники, могу дать, кому интересно. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
26.11.2015, 17:32 | #18 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Спасибо. Наглядно и весьма любопытно!
Как я понимаю, наивысшая скорость при размере блока в 64 кб ? (кстати, а что у Вас с винта реально читается 880 Мб в секунду? В тестах?) исходники. да нет, пожалуй в них нет необходимости... |
26.11.2015, 17:54 | #19 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
не понял вопроса.
поясни. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
26.11.2015, 18:08 | #20 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Исходники не нужны. Тест конечно кросивый.
Это КЭШ операционной системы выдаёт 880 МБ/с. HDD больше 200 Мбайт/с я не видел. А так обычно 100-150 МБайт/с. SSD до 500-600 МБайт/с выдают. Начиная с Win Visat ОС использует всю свободную память под файловый кэш. Когда писал свою программу для измерения скорости диска делал очистку кэша. Для этого просто выделял кучу памяти что-бы вытеснить кэш из памяти. А так оптимальный размер 256 КБайт.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обработка файлов | Pepsik | Помощь студентам | 1 | 10.07.2011 21:35 |
С++. Обработка файлов | teach | Помощь студентам | 5 | 02.04.2011 16:41 |
Обработка файлов | FauLL | Общие вопросы C/C++ | 1 | 23.06.2010 21:34 |
Обработка файлов. | Morzik8 | Помощь студентам | 2 | 17.05.2010 20:05 |
Обработка файлов Си++ | modulrev | Помощь студентам | 22 | 19.02.2009 18:53 |