Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Использование SetFilePointer и SetEndOfFile.


Страницы:   1 2

Riply ©   (2008-02-03 18:35:00) 

Здравствуйте !
При "разборе полетов" возник следующий вопрос:
Стоит ли применять SetFilePointer, SetEndOfFile для задания размера
перед записью файлов, когда этот размер известен, а запись делается в
несколько WriteFile ?
Мой собеседник выдвинул предположение,
что на NTFS это может дать серьезные плюсы, в то же время,
существенно замедлит сохранение большого файла, например, на FAT.
Вот что он пишет:
"Преимущества такие:
1. Антифрагментация. Ты требуешь от системы выделения всего места сразу, и у
системы есть шанс выбрать блок походящего размера, используя $Bitmap.
2. Свободное место. Ты захватываешь требуемое свободное место сразу,
исключая этим ситуацию, когда нехватка свободного места выявляется в
процессе, и операцию приходится отменять, при этом время потраченое на
пройденую часть сохранения потрачено зря.
3. [NTFS specific] Производительность может быть немного выше, т.к.
SetFilePointer+SetEndOfFile не пишут в добавленые кластеры данные, при этом
операций с $Bitmap намного меньше, также меньше записей в данные атрибута в
MFT (все записи в $Bitmap и в MFT осуществляются с участием журналирования,
поэтому это не такие уж быстрые операции). Но я думаю что чтобы увидеть
разницу, надо смотреть при небольшом буфере, при этом разница не долна быть
большой.

Почему-то этим мало кто пользуется. Возможно, тут есть проблемы, которые я
не вижу. Поэтому не спешу применять метод."


Кто что думает о целесообразности применеия этих ф-ий ?

P.S.
Если будет необходима проверка типа: "Если NTFS делаем так, а если FAT то так",
то это @не очень красиво@, лучше тогда обойтись без использовани такой возможности
совсем.


KilkennyCat   (2008-02-03 18:41:00) [21]

> Если будет необходима проверка


может, я чего не понимаю, но учитывая ограничения FAT по размерности, проверку делать придется.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо