Почему удаление файлов занимает так много времени?
Допустим у меня в папке 1 000 000 000 000 040 000 000 000 файлов, почему удаление этой папки занимает больше 0.1 миллисекунды?
просто в журнале файловой системы помечаем эту папку как удаленную и все, любые обращения к файлам из этой папки будут возвращать null это же очевидно, в чем проблема? а в фоновом режиме можно чистить журнал от таких записей. |
Это зависит от файловой системы и способа работать с этой файловой системой. В твоём случае помечается каждый отдельный файл(точнее стирается упоминание о нём).
В популярных фс ничего в фоновом режиме не чистится, т.е. файлы остаются на месте до того как будут перезаписаны - это какбэ общеизвестно. |
и тем не менее
|
Цитата:
|
вот кстате
NTFS Maximum number of files on disk: 4,294,967,295 Maximum number of files in a single folder: 4,294,967,295 для Ext3: похоже ограничение только в размере винта Maximum number of files: number of bytes in volume/2¹³. |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
насколько я знаю, в журнале помойка из файлов - т.е. одномерный массив дескрипторов файлов... нет? |
Цитата:
мы можем сохранить скорость чтения (древовидных баз данных) и при том сохранить возможность делать пометки на целые ветки этого дерева не пробегаясь по каждому его листочку. ИЛИ НЕ МОЖЕМ, и если нет, то почему? |
Часовой пояс GMT +3, время: 16:18. |