Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Почему удаление файлов занимает так много времени? (https://javascript.ru/forum/offtopic/38125-pochemu-udalenie-fajjlov-zanimaet-tak-mnogo-vremeni.html)

megaupload 20.05.2013 19:15

Почему удаление файлов занимает так много времени?
 
Допустим у меня в папке 1 000 000 000 000 040 000 000 000 файлов, почему удаление этой папки занимает больше 0.1 миллисекунды?

просто в журнале файловой системы помечаем эту папку как удаленную и все, любые обращения к файлам из этой папки будут возвращать null

это же очевидно, в чем проблема?

а в фоновом режиме можно чистить журнал от таких записей.

Aetae 20.05.2013 19:20

Это зависит от файловой системы и способа работать с этой файловой системой. В твоём случае помечается каждый отдельный файл(точнее стирается упоминание о нём).
В популярных фс ничего в фоновом режиме не чистится, т.е. файлы остаются на месте до того как будут перезаписаны - это какбэ общеизвестно.

megaupload 20.05.2013 21:48

и тем не менее

Tim 23.05.2013 09:36

Цитата:

Допустим у меня в папке 1 000 000 000 000 040 000 000 000 файлов
Не допустим. У тебя памяти не хватит даже для того чтобы названия файлов хранить.

animhotep 23.05.2013 13:12

вот кстате

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¹³.

l-liava-l 23.05.2013 14:16

Цитата:

просто в журнале файловой системы помечаем эту папку как удаленную и все, любые обращения к файлам из этой папки будут возвращать null
А нафига? файлы будут занимать место, а чтобы затереть ячейки в памяти нужно время.

megaupload 24.05.2013 01:21

Цитата:

Сообщение от Дзен-трансгуманист
Ога, грядет MaximusFS, падайте ниц, мужики!

ну ты уже понял фишку да)?

megaupload 24.05.2013 01:21

Цитата:

Сообщение от l-liava-l
А нафига? файлы будут занимать место, а чтобы затереть ячейки в памяти нужно время.

ты вообще штоле нуб? учи матчасть бро

melky 25.05.2013 15:42

Цитата:

Сообщение от Aetae
В популярных фс ничего в фоновом режиме не чистится, т.е. файлы остаются на месте до того как будут перезаписаны - это какбэ общеизвестно.

а разве в файловых системах вообще есть понятие папки ? (т.е. каталога)
насколько я знаю, в журнале помойка из файлов - т.е. одномерный массив дескрипторов файлов... нет?

megaupload 25.05.2013 15:53

Цитата:

Сообщение от melky
насколько я знаю, в журнале помойка из файлов - т.е. одномерный массив дескрипторов файлов... нет?

именно так, но разве понятие журнал не должно себя оправдывать?

мы можем сохранить скорость чтения (древовидных баз данных) и при том сохранить возможность делать пометки на целые ветки этого дерева не пробегаясь по каждому его листочку.

ИЛИ НЕ МОЖЕМ, и если нет, то почему?

Aetae 26.05.2013 02:23

Цитата:

Сообщение от melky (Сообщение 252689)
а разве в файловых системах вообще есть понятие папки ? (т.е. каталога)
насколько я знаю, в журнале помойка из файлов - т.е. одномерный массив дескрипторов файлов... нет?

Цитата:

Сообщение от megaupload (Сообщение 252693)
мы можем сохранить скорость чтения (древовидных баз данных) и при том сохранить возможность делать пометки на целые ветки этого дерева не пробегаясь по каждому его листочку.

ИЛИ НЕ МОЖЕМ, и если нет, то почему?

Всё зависит от фс же. А где оно как - гуглить и читать заумные доки по потрохам фс.(никакого желания нет)

megaupload 26.05.2013 02:36

Короче как вы уже поняли надо сделать свою FS на основе EXT5 пасоны

Aetae 26.05.2013 13:05

megaupload, а ты уверен, что как раз ext5 этого не умеет? Проверял?

megaupload 26.05.2013 13:22

не проверял и не уверен, я windowблять

Tim 26.05.2013 14:30

да, ты windowблять :lol:

megaupload 26.05.2013 15:20

Tim, а ты прыщеблять как я полоагаю)?

melky 26.05.2013 15:30

Цитата:

Сообщение от megaupload
именно так

значит у нас нет понятия каталогов , и поиск дескриптора файла - это поиск (линейный, бинарный?) в одномерном массиве. так?

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

удаление дескриптора файла - это обращение к жёсткому диску (в линуксе - не всегда). отсюда и скорость такая, наверное.

megaupload 26.05.2013 16:22

melky, я не совсем понял, ну как я понял там тоже не дураки сидят и они сделали "все что могли"?

melky 26.05.2013 16:29

Цитата:

Сообщение от megaupload (Сообщение 252862)
melky, я не совсем понял, ну как я понял там тоже не дураки сидят и они сделали "все что могли"?

насчёт окошек сомневаюсь :/


Часовой пояс GMT +3, время: 22:52.