Является ли создание / сохранение 100 изображений на жестком диске по сравнению с USB-накопителем хорошей проверкой для проверки скорости записи? - PullRequest
1 голос
/ 06 июля 2011

Я пишу код для создания растрового изображения, рисования и сохранения в файл. Ниже приведена упрощенная версия:

FinalImage = new System.Drawing.Bitmap(FinalImageWidth, FinalImageHeight);
Pencil = Graphics.FromImage(FinalImage);
Pencil.Clear(Color.White);
Pencil.DrawImage(image,x,y);
FinalImage.Save(FinalImageSaveLocation + "test" + Counter + ".bmp");

Это хорошо.

Из интереса я планировал этот процесс более 100 раз, записывая в C: \, и он представлял собой 2 сек, затем я подключил USB-накопитель Pen и записал на него 100 изображений, и он занял 5,5 сек.

Я думал, что флэш-накопители были быстрее, хотя я знаю, что разные перьевые накопители имеют разные возможности, и думаю, что на плате есть USB-контроллеры и кэш-память. Я что-то упустил?

Спасибо

Ответы [ 2 ]

2 голосов
/ 06 июля 2011

Как относительный тест между двумя файловыми системами, это должно быть хорошо.Относительно того, почему USB-накопитель работает медленнее, может быть несколько причин.Возможно, этот конкретный диск использует медленную флэш-память.Возможно, интерфейс USB работает только на скорости 12 Мбит / с («Full Speed») вместо скоростей USB 2.0.Возможно, операционная система использует кэш обратной записи в памяти для жесткого диска, который не позволяет вам увидеть фактическую производительность диска.

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

0 голосов
/ 06 июля 2011

Сравнение действительно с точки зрения скорости записи данных на эти устройства.Однако различия, вероятно, будут из-за аппаратных изменений.Шина USB может быть не такой быстрой, как шина к жесткому диску, что приведет к ее замедлению.Кроме того, если перо заполняется, а жесткий диск - нет, это будет иметь значение, поскольку файл будет фрагментирован.

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

Кэширование (как кто-то еще сказал) также важно.

...