Почему удаление файлов занимает так много времени?
Допустим у меня в папке 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¹³. |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
насколько я знаю, в журнале помойка из файлов - т.е. одномерный массив дескрипторов файлов... нет? |
Цитата:
мы можем сохранить скорость чтения (древовидных баз данных) и при том сохранить возможность делать пометки на целые ветки этого дерева не пробегаясь по каждому его листочку. ИЛИ НЕ МОЖЕМ, и если нет, то почему? |
Цитата:
Цитата:
|
Короче как вы уже поняли надо сделать свою FS на основе EXT5 пасоны
|
megaupload, а ты уверен, что как раз ext5 этого не умеет? Проверял?
|
не проверял и не уверен, я windowблять
|
да, ты windowблять :lol:
|
Tim, а ты прыщеблять как я полоагаю)?
|
Цитата:
а у линуксов есть ID у каждого файла, как мы знаем. значит, ID файла связывает его с его же дескриптором по этому ID. удаление дескриптора файла - это обращение к жёсткому диску (в линуксе - не всегда). отсюда и скорость такая, наверное. |
melky, я не совсем понял, ну как я понял там тоже не дураки сидят и они сделали "все что могли"?
|
Цитата:
|
Часовой пояс GMT +3, время: 22:52. |