|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.07.2013, 09:18 | #1 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 912
|
Скорость записи файла (исследование)
Проводил исследования скорости записи файлов, с целью установления зависимости времени записи от количество файлов. Для работы с файлами использовал чистый WinAPI. Исследование проводилось на файлах разных размеров, типов и расширений. Хочу поделиться на мой взгляд интересными результатами исследования на примере одного файла (с другими файлами результаты идентичны в физическом смысле):
Файл: *.jpg; Размер файла: 13376719 байт; Количеств записанных байт увеличиваем по формуле Y=X^2, начиная с 64 байт. Максимальная длинна записи для этого файла составляет 8388608 байт. На исследование выносилось два параметра: Время записи, сек и скорость записи, байт/сек * 10^3. Скорость записи вычисляется как отношение количества записанных байт к общему времени записи. Результаты исследования времени записи и скорости записи представлены на рисунках 1 и 2 соответственно. Рис. 1 - Время записи. Рис. 2 - Скорость записи. Как видно из результатов исследования время записи плавно увеличивается до определенного момента, затем наблюдается резкое уменьшение времени, затрачиваемого на запись. Поведение скорости записи соответствует представленной картине, т.е. наблюдается падение скорости записи, затем резкое увеличение. Экстремум соответствует записи длинной в 65536 байт. Обсуждение: С чем связанно такое поведение исследуемых параметров и что это за магия такая с числом 65536? |
29.07.2013, 10:52 | #2 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Например, в системе нашелся еще один потребитель жесткого диска и немного подвинул ваш тест... или с методикой измерений что-то не то...
Правильно поставленная задача - три четверти решения.
|
29.07.2013, 11:05 | #3 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Есть внутренние буфера, и (насколько я помню) их размер кратен 256К.
Отсюда любая операция не кратная 256К требует лишних телодвижений. |
29.07.2013, 11:11 | #4 |
Недо
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,394
|
Может быть я ошибаюсь, но более "чистый" тест можно сделать только в однозадачной операционной системе. Разве жесткий диск не отвлекается на чтение/запись, инициированные другими приложениями?
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
|
29.07.2013, 13:07 | #5 |
Играюсь с Python
Форумчанин
Регистрация: 12.12.2012
Сообщений: 340
|
кэши записи в винде же, очистка кэшей.
галки в свойствах винта убирите (или обе поставте) и тестите снова. |
29.07.2013, 13:28 | #6 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
А ещё через msconfig вырубить все сервисы и перейти в безопасный режим.
|
29.07.2013, 13:44 | #7 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 912
|
Тесты не однократно повторялись результат не оспорим. Чистота эксперимента выдержана. (Я же писал разные файла...) Всегда замечено резкое увеличение скорости записи после длинны равной 65536.
Интересно рассуждение именно на эту тему. Есть подозрения, что ситуация схожа с геометрией HDD и секторами длинной в 512 байт. Только вот не понятно почему именно 65536... waleri, почему 256 байт, поделитесь источником Последний раз редактировалось kta87; 29.07.2013 в 13:47. |
29.07.2013, 13:53 | #8 | ||
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2kta87
Цитата:
Цитата:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance Последний раз редактировалось pproger; 29.07.2013 в 13:56. |
||
29.07.2013, 14:24 | #9 | ||
Форумчанин
Регистрация: 22.02.2010
Сообщений: 912
|
Цитата:
Цитата:
|
||
29.07.2013, 14:30 | #10 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
kta87, чем меньше ячейка тем проще и быстрее её записать. Читающая головка всего одна. Жесткий диск - это тоже файл. Но работает он совсем по другому, и одновременный доступ к этому файлу разрешен.
Цитата:
Последний раз редактировалось Человек_Борща; 29.07.2013 в 14:40. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Измерить скорость чтения и записи данных на диск | testerka | Общие вопросы .NET | 2 | 18.11.2010 10:48 |
Низкая скорость записи на HDD | Terran | Компьютерное железо | 7 | 15.10.2010 11:09 |
узнать программно скорость записи на диск | smalsvoloch | Общие вопросы Delphi | 0 | 29.04.2010 10:33 |
Снизилась скорость записи на HDD (SATA) | EducatedFool | Компьютерное железо | 12 | 06.03.2009 16:59 |
Скорость записи на флешку. | DelphiMan | Общие вопросы Delphi | 2 | 31.01.2009 17:51 |