Alt+F7: порядок прохода по файлам при поиске

Хотите говорить о Far и не знаете, куда обратиться?
Post Reply
DV
Posts: 284
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 2 times
Been thanked: 2 times

Alt+F7: порядок прохода по файлам при поиске

Post by DV » Wed 19 Oct, 2016 19:04

При поиске в файлах по Alt+F7, в каком порядке FAR проходится по файлам?
С моей точки зрения, было бы логично проходиться по файлам в том же самом порядке, в каком они отсортированы в файловых панелях.
Далее - примеры того, почему это было бы очень полезно.

Пример 1: я хочу искать, начиная с новых файлов.
Быстрое (с точки зрения пользователя) решение: включаем режим сортировки по времени записи, Alt+F7.
Медленное решение: Alt+F7, включаем фильтры, создаём новый фильтр, пытаемся разобраться, как установить фильтр на нужные даты, не забываем активировать этот фильтр.

Пример 2: я хочу искать, начиная с больших файлов.
Быстрое (с точки зрения пользователя) решение: включаем режим сортировки по размеру, Alt+F7.
Медленное решение: Alt+F7, включаем фильтры, создаём новый фильтр, пытаемся разобраться, как установить фильтр на нужные размеры, не забываем активировать этот фильтр.

User avatar
DrKnS
Posts: 4563
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

Alt+F7: порядок прохода по файлам при поиске

Post by DrKnS » Wed 19 Oct, 2016 20:03

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

User avatar
Kerberos464
Posts: 1238
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 17 times
Been thanked: 1 time

Alt+F7: порядок прохода по файлам при поиске

Post by Kerberos464 » Wed 19 Oct, 2016 20:23

можно было бы сделать опционально, через far:config, с тремя значениями "учитывать сортировку на панели", "не учитывать сортировку на панели" и "учитывать только в случае, когда поиск идёт не только по маске, но и по содержимому" (при поиске по содержимому время, затраченное на сортировку, будет несопоставимо меньше времени, требуемого на открытие файлов и поиск в них, имхо).
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.

User avatar
HaRT
Moderator
Posts: 8025
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 67 times
Been thanked: 99 times

Alt+F7: порядок прохода по файлам при поиске

Post by HaRT » Wed 19 Oct, 2016 21:27

DrKnS wrote: сортировка - далеко не бесплатная операция с линейной сложностью
Я понимаю, что имеется в виду, но на первый взгляд выглядит диковато. ;)
Фар есть инструмент, а не нянька. © 2009 DrKnS

2useven10
Posts: 2978
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 80 times

Alt+F7: порядок прохода по файлам при поиске

Post by 2useven10 » Wed 19 Oct, 2016 21:36

DrKnS wrote: сортировка - далеко не бесплатная операция с линейной сложностью.
HaRT wrote: выглядит диковато
И сложность не линейная.

User avatar
HaRT
Moderator
Posts: 8025
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 67 times
Been thanked: 99 times

Alt+F7: порядок прохода по файлам при поиске

Post by HaRT » Wed 19 Oct, 2016 21:42

2useven10 wrote: сложность не линейная
Очевидно, имелось в виду, что, поскольку дорогостоящими (по времени) являются операции получения свойств файлов от файловой системы, а не собственно сортировки их списка, то и сложность выражается в терминах количества необходимых запросов к ФС. Да, гипотетически можно наплодить столько файлов, что N*log(N) быстрых операций перевесит N долгих, но на таких масштабах, боюсь, уже и доступ к памяти будет не O(1). ;)
Фар есть инструмент, а не нянька. © 2009 DrKnS

2useven10
Posts: 2978
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 80 times

Alt+F7: порядок прохода по файлам при поиске

Post by 2useven10 » Wed 19 Oct, 2016 21:47

Число обращений к файловой системе с введением сортировки не изменится.
Потребуется память для всех элементов на каждом уровне вложенности.
Сложность же сортировки O(n*log n), а не линейная O(n), ну и уж конечно не O(1).
Last edited by 2useven10 on Wed 19 Oct, 2016 21:47, edited 1 time in total.

User avatar
DrKnS
Posts: 4563
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

Alt+F7: порядок прохода по файлам при поиске

Post by DrKnS » Wed 19 Oct, 2016 21:57

Да, имелись в виду как раз обращения к FS в случаях, когда файлы надо открывать (хардлинки там, владельцы, вот это всё).
Тасованиями кешированных данных в памяти на современных устройствах и при таких объёмах можно пренебречь.

Впрочем, как выше справедливо заметили, при поиске по содержимому это тоже мелочи.

DV
Posts: 284
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 2 times
Been thanked: 2 times

Alt+F7: порядок прохода по файлам при поиске

Post by DV » Thu 20 Oct, 2016 11:55

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

User avatar
DrKnS
Posts: 4563
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

Alt+F7: порядок прохода по файлам при поиске

Post by DrKnS » Thu 20 Oct, 2016 21:41

DV wrote: А при поиске в текущей папке, в которой все элементы уже отсортированы, их же можно перебирать в отсортированном порядке? Тут я предполагаю, что поиск всегда начинается с перебора файлов в текущей папке, а потом уже углубляется дальше.
Поиск ничего не знает об элементах панели.
"В текущей папке" - это такое же сканирование дерева, как и в случае "с текущей папки", но без рекурсии.

В принципе, научить поиск в этом конкретном случае запрашивать файлы с панели возможно. Это бы, наверное, позволило реализовать ещё и такую полезную фичу, как "поиск только в выделенном".

Post Reply

Return to “Обсуждение Far Manager”