Файловый навигатор
-
0CodErr, можешь подготовить версии в внутренним замером времени копирования, и выводом его на доску? Думаю так и проще тестировать будет, и ошибок будет меньше.to infinity and beyond
Поскольку похоже, что динамический размер буфера 0CodErr делать всё равно не собирается, достаточно проверять три размера: 8 МБ, 16 МБ и 32 МБ.
Поскольку похоже, что исходников не будет, предлагаю забить на эту ветку совсем.
Динамический размер сделать в любом другом. В Shell я уже сказал, что сделаю.
Динамический размер сделать в любом другом. В Shell я уже сказал, что сделаю.
Если не учитывать эти то исходя из результатов http://board.kolibrios.org/viewtopic.ph ... =45#p68223 получается, что увеличение буфера не так уж сильно влияет на скорость, примерно всё те же 15%.
Code: Select all
256кб 103с
4мб 100с
Сделать можно, но разве сейчас засечь это проблема?punk_joker wrote:можешь подготовить версии в внутренним замером времени копирования, и выводом его на доску?
Это, думаю, только для теста, ведь такой буфер может вызвать длительные подвисания(по крайней мере пока результаты именно такие).Pathoswithin wrote:8 МБ, 16 МБ и 32 МБ
Конкретно тебя здесь вообще никто не держит. Можешь просто идти мимо, никто твоего отсутствия не заметит.Siemargl wrote:предлагаю забить на эту ветку совсем.
Круть!0CodErr wrote:Конкретно тебя здесь вообще никто не держит. Можешь просто идти мимо, никто твоего отсутствия не заметит.Siemargl wrote:предлагаю забить на эту ветку совсем.
На вполне правильное замечание.
P.S. Действительно интересен сакральный смысл закрытых исходников в открытой ОС.
И действительно, что код всех твоих программ закрыт?
0CodErr
Нет, всё ещё хуже: влияние на скорость сильно зависит от устройства и файловой системы. Если всё так и оставить, будет типичная проблема разработчика "ну у меня же обычный xeon, но всё работает быстро".
Если файл больше 16 МБ, то нужно либо писать его целиком, либо:
1) Создать пустой файл сисфункцией 70.2
2) Установить размер через 70.4 (чтобы снизить нагрузку на файловую систему)
3) Писать по ~16 МБ через 70.3 (оптимальный размер для устройства)
Для жёсткого диска это доли секунды, для флешек зависания приемлемы, но ничего не мешает менять размер буфера для usbhd.
Нет, всё ещё хуже: влияние на скорость сильно зависит от устройства и файловой системы. Если всё так и оставить, будет типичная проблема разработчика "ну у меня же обычный xeon, но всё работает быстро".
Если файл больше 16 МБ, то нужно либо писать его целиком, либо:
1) Создать пустой файл сисфункцией 70.2
2) Установить размер через 70.4 (чтобы снизить нагрузку на файловую систему)
3) Писать по ~16 МБ через 70.3 (оптимальный размер для устройства)
Для жёсткого диска это доли секунды, для флешек зависания приемлемы, но ничего не мешает менять размер буфера для usbhd.
Ну punk_joker копировал на HD NTFS.Pathoswithin wrote:влияние на скорость сильно зависит от устройства и файловой системы
Только интересно ещё, возникали подвисания или нет, и насколько это заметно было?
У меня вот заметно.
Может это на более новых HD не так сильно будет проявляться?
Хотя ведь не у всех они современные.
Ты таки преувеличиваешьKopa wrote: И действительно, что код всех твоих программ закрыт?
http://websvn.kolibrios.org/filedetails ... FTimer.asm
http://websvn.kolibrios.org/filedetails ... Ftinfo.asm
http://websvn.kolibrios.org/filedetails ... FRunOD.asm
http://websvn.kolibrios.org/filedetails ... mstate.asm
http://websvn.kolibrios.org/filedetails ... nFiles.asm
Ну а на то, чтобы привести исходники в порядок, необходимо время, которое также можно потратить, например, на добавление какой-нибудь новой фичи в программу, что я делаю с гораздо большим удовольствием.
Можно не приводить т.к. мала вероятность что их сопровождать будет кто нибудь кроме тебя.0CodErr wrote:Ну а на то, чтобы привести исходники в порядок, необходимо время, которое также можно потратить, например, на добавление какой-нибудь новой фичи в программу, что я делаю с гораздо большим удовольствием.
То-то и оно! Как показывает практика в этом проекте(на svn полно таких исходников). Потому и я с этим совершенно не тороплюсь, так как мало чего изменится, разве что только время будет потрачено.Kopa wrote:мала вероятность что их сопровождать будет кто нибудь кроме тебя
На svn есть вероятность что исходники не потеряются (или имеют актуальность).0CodErr wrote:То-то и оно! Как показывает практика в этом проекте(на svn полно таких исходников). Потому и я с этим совершенно не тороплюсь, так как мало чего изменится, разве что только время будет потрачено.Kopa wrote:мала вероятность что их сопровождать будет кто нибудь кроме тебя
Влияние на скорость HDD зависит от его прошивки, то есть может отличаться у разных производителей. А ещё может зависеть от расположения на диске - дорожки имеют разную длину. А ещё есть SSD с огромным размером сектора. А большие файлы на FAT это вообще отдельная тема.
Ну тогда хорошо бы ещё сравнить скорость из-под другой ОС, например, TotalCommander позволяет задавать различные размеры буфера. Просто у меня из-под винды результаты не сильно отличаются от результатов в KolibriOS.
И что получается, NTFS медленная или HD медленный?0CodErr wrote:Ну punk_joker копировал на HD NTFS.Pathoswithin wrote:влияние на скорость сильно зависит от устройства и файловой системы
А откуда такая информация? Кстати, влиять может размер дискового кеша(который находится на самом диске). У меня он 8 Mb. И как видно тут http://board.kolibrios.org/viewtopic.ph ... 240#p68035 да и у punk_joker вон там http://board.kolibrios.org/viewtopic.php?p=68223#p68223 увеличение буфера в 2 раза с 8-ми до 16-ти Mb большой погоды не сделало.Pathoswithin wrote:3) Писать по ~16 МБ через 70.3 (оптимальный размер для устройства)
В данном случае всё довольно быстро, медленно вот здесь http://board.kolibrios.org/viewtopic.ph ... &start=254
И у меня медленно (WD 160 GB, Seagate 500 GB).
У IDE максимальный размер одной операции - 32 МБ, у нашего драйвера - 16 МБ, больше всё равно будет делиться на несколько операций с устройством.
И у меня медленно (WD 160 GB, Seagate 500 GB).
У IDE максимальный размер одной операции - 32 МБ, у нашего драйвера - 16 МБ, больше всё равно будет делиться на несколько операций с устройством.
Всё таки и в fnav есть баги: при копировании с рамдиска возникает EOF (при чтении), а у других ФМ - нет.
Pathoswithin, надо пример тогда конкретный. RD или tmp? Размеры файлов?
У меня на рамдиске не возникало(не первый год уже).
Кроме того, приложение показывает только то, что возвращает системный вызов.
Не больше, не меньше. У других ФМ другие размеры буфера, других существенных отличий нет.
Вот были проблемы с FAT32:
http://board.kolibrios.org/viewtopic.ph ... 037#p68037
http://board.kolibrios.org/viewtopic.ph ... 641#p45641
http://board.kolibrios.org/viewtopic.ph ... 034#p68034
У меня на рамдиске не возникало(не первый год уже).
Кроме того, приложение показывает только то, что возвращает системный вызов.
Не больше, не меньше. У других ФМ другие размеры буфера, других существенных отличий нет.
А это точно при чтении? У меня было при копировании FAT32(64K кластер)->NTFS подобное. При записи EOF точно не возвращается? И на NTFS тоже?Pathoswithin wrote:EOF (при чтении)
Вот были проблемы с FAT32:
http://board.kolibrios.org/viewtopic.ph ... 037#p68037
http://board.kolibrios.org/viewtopic.ph ... 641#p45641
http://board.kolibrios.org/viewtopic.ph ... 034#p68034
Who is online
Users browsing this forum: No registered users and 1 guest