vasek
Сделал, если сортировку не использовать то у меня 37 000 файлов за 250 мсек, то есть мгновенно. Если в вывод добавить дату то, 420мсек, ещё и с размером 530мсек.
мои программы
vasek
Некоторые вещи зависят от языка. Я думаю обращение к файлам происходит вызовом системных функций, потому что они одинаковы, открывают дескриптор поиска и начинают запрашивать следующий файл, перемещая указатель в поисковом дескрипторе. Но конечно зависит оптимизация алгоритма. Например в архиве есть "старая версия" - работает быстрее, потому что она только выводит данные в строку, а метод копирования максимально снижен по расходам - даётся указатель на строку и данные копируются в памяти по указателю. Новый код там генерируются переменные, а это внутреннее обслуживание переменной, выделение/перевыделение памяти, что тормозит выполнение, а с учётом разрезания/склеивания элементов формируя заданный вывод, конечно несёт в себе расходы. И ранее в AutoIt3 аналогичной проге я делал метод вывода списком и обрабатывал его одним регулярным выражением за один проход, этим я снизил скорость с 10 минут до 4 минут при обсчёте целого диска. Измерение проводится после первого запроса, потому что данные кешируются и первый запрос всегда работает медленнее, так как заново пишет кеш, а второй тест определяет уже скорость именно работы алгоритма, т.е. скорость доступа жёсткого диска уже практически не влияет на результат, так как выдаёт один и тот же показатель. В PureBasic как и в других языках нормально получать дескриптор на скомпилированное регулярное выражение, поэтому я могу использовать его повторно не тратя время на компиляцию, но думаю всё равно за один проход будет быстрее. Так что я пока не тестировал такой вариант, это уже подгоняется под прогу, если нужно выдать данные в конце, или же выдавать данные в процессе...

Ещё момент, например FSearch и Everything при запуске создают базу данных файловой системы, и работать с уже полученным списком гораздо быстрее чем каждый раз его запрашивать у жёсткого диска.
мои программы
vasek
Концепция AutoIt3, на которой написана прога - воспринимать любые данные как строку, это у других языков null - конец строки (не у всех, у паскаля вроде тоже ширина), а в AutoIt3 видимо определяется шириной данных, причём строковые функции при поиске текста не спотыкаются о null. И кроме того есть функция преобразующая бинарные данные в строку, то есть на выходе я получаю текст из шестнадцатеричных чисел. Если я преобразовываю искомое в бинарную строку, то могу искать и таким образом, но всё это необязательное, так как мне не нужно преобразовывать текст, чтобы искать его. Но всё же я добавил, кроме того что поиск и так не спотыкается на бинарных файлах, добавил возможность ввода именно бинарных данных текстом, то есть вводим 00D1, в настройках меняем "авто" на "бинарно" и пожалуйста патчим бинарник. При чём при поиске учитывается байтовый шаг, то есть в ища в 000D10 замена не выполнится, проверяется чётность ширины данных поиска и замены и чётность сдвига (но я бы проверил ещё раз, потому что прогу писал почти 10 лет назад, возможно проверяется только чётность разницы между искомым и заменяемым).
мои программы
Из лучшего на винде "Beyond Compare 3", но платная, сравнивает и бинарные при чём не сбивается в абсурд на первом несовпадениии, а умеет вычленять блоки, и изначально у ней удобная подсветка, практически из коробки работает на ура и сравнение фото показывает маску разности.

Больше всего конечно движок поиска в проге, а уж гуи для презентации, уже дальше только придумывать куда его воткнуть, например у меня для винды есть проги синхронизации, прога поиск файлов по списку, переименование, поиск дубликатов... в них одна и та же библиотека поиска файлов. И кстати я пробовал у меня и под линуксом на Wine запустилось и выдал список и сортировка работает и формирование списка.

vasek
поиск в бинарниках
для винды у меня тоже работает и для бинарников (и под wine)

jim945
Поэтому я и пытался добиться примеров использования.
надо учесть что когда то я активно занимался одними вещами, теперь другими, многое из того что я сделал не пользуюсь. Но буквально вчера мне пишут "дай исходник". И скачивание файлов пока продолжается.
мои программы
ну и лучше оболочку для find сделать? Чтобы привычней было?
У GUI красота в том, что не надо помнить параметры, ставим только галочки в нужных чекбоксам и т.д., сохранять настройки, сохранять настройки в шаблоны.
мои программы
nafanja
однобайтвые кодировки даже раньше были "костылями" ( а сегодня они просто рудиментарны.)
Из-за того что винда поддерживает однобайтовые, а у них концепция максимальной совместимости, то остаётся принять что это будет долго.

nafanja
бейсик старье!! сегодня ПИТОН крут
я его изучал
мои программы
нет не find
это начало моей виндовой проги на новом языке, на новой системе.
использование: можно найти самые большие файлы, хотя я пользуюсь другими программами, при падении системы, подозрения вируса могу найти самые новые файлы. Могу просто найти файлы используя регулярное выражение. Могу сравнить две файловых системы, например автор выложил LiveCD новую, могу получить список файлов старой и новой и сравнить сначала по-файлово, потом с учётом размеров, хотя для этого также существуют проги. Старая виндовая прописывалась в контекстное меню, поэтому я мог просто быстро получить список файлов в папке, если просят на форуме. Раньше да и сейчас я не понимал цикл в консоли, поэтому мне проще было получить список файлов, учитывая что можно сформировать полностью команду, и получается пакетная обработка файлов, или сформировать html-код. То есть используя как инструмент сформировать нужное. Также в виндовой версии можно список просматривать как файловую систему, даже если компа нет под рукой.
Изначально я хотел сделать другую свою виндовую программу по поиску и замене текста, но на текущем языке мне пока не удаётся решить проблему автоматического распознавания кодировки и замены в нужной кодировке, в винде 1251 работает на уровне системы, в Linux не работает, нужна либо gtk3-функция, либо таблица сопоставления, в Geany же есть возможность. Ну в общем пока не получилось то что хотел, взялся за эту. А так конечно незаменима (поиск/замена), я даже в Linux ей пользуюсь постоянно.
мои программы
В архиве исходник (всегда).
Примеры могу привести, но это не является аргументом, так как ответ будет "а зачем мне это". Скачают кому это нужно.
Собирается PureBasic`ом.
мои программы
Создать список файлов

FileSizesList - иной вариант.

Скачать: яндекс upload.ee



Назначение

Получить форматированный список с выбранной информацией, сортировкой.

Использование
  1. Указать очевидные данные.
  2. Из не очевидного - нужно с левого списка добавить в правый те элементы, которые нужно получить в результатах, с учётом порядка, то что сверху будет справа списка.
  3. Данные отправляются в буфер обмена, позже можно сделать во временный файл и открыть.
мои программы
Зарегистрировался в AUR, начал изучать тему и пришёл к выводу, что выложить туда не удастся. Бинарники не принимаются, а сборка происходит на любых языках, но явно не на PureBasic.
мои программы