Quantcast

Поиск файла в Винде

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Поиск файла в Винде

витя ерыгин
Отчего в СПФ для поиска используется GetFileAttributesA, а не FindFirstFileA ? Последний быстрее.  Как я понимаю, всё из-за дескрипторов? 


--
Виктор Ерыгин
------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Поиск файла в Винде

Ruvim Pinka
2016-05-10 13:28 GMT+03:00 витя ерыгин <[hidden email]>:
Отчего в СПФ для поиска используется GetFileAttributesA, а не FindFirstFileA ? Последний быстрее.  Как я понимаю, всё из-за дескрипторов?

Для какого поиска?
GetFileAttributes используется в FILE-EXIST — для определения существования файла (так исторически, и так было проще).

FILE-EXIST можно определить и через FindFirstFile, но приведите тест, который продемонстрирует, что так будет быстрей.

--
Ruvim


------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Поиск файла в Винде

витя ерыгин
Для поиска файлов.
Насчёт быстроты пример приведу завтра вечером. Прирост не велик, но есть. Ещё покопаюсь, посмотрю как по скорости будет проверка наличия файла через  CreateFileA , OpenFileA . Но они, блин, дают хендлер ( или как его там). Или, на крайний случай, попробую SearchPathA, но у этой "специализированной" функции аж 6 параметров!!!


Вторник, 10 мая 2016, 17:10 +03:00 от Ruvim Pinka <[hidden email]>:

2016-05-10 13:28 GMT+03:00 витя ерыгин <[hidden email]>:
Отчего в СПФ для поиска используется GetFileAttributesA, а не FindFirstFileA ? Последний быстрее.  Как я понимаю, всё из-за дескрипторов?

Для какого поиска?
GetFileAttributes используется в FILE-EXIST — для определения существования файла (так исторически, и так было проще).

FILE-EXIST можно определить и через FindFirstFile, но приведите тест, который продемонстрирует, что так будет быстрей.

--
Ruvim



------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Поиск файла в Винде

витя ерыгин

Вот файлы. Внимание обращать на слово follows?-v3 , ибо проверка только там
Пояснения:
Функции OpenFile передаются три параметра: строка, куда её потом записать, что с ней делать.
Последний параметр представляет некоторый интерес.Значение 0х4000 заставляет функцию открыть и тут же закрыть указанной файл в нуль-строке
Функция FindFirstFileA требует  указатель на буфер для записи атрибутов. На фиг не надо, подставил here. И , естественно, нуль-строку. Возвращает дескриптор. Который надо закрыть с помощью FindClose, чего я НЕ ДЕЛАЛ. Если файла нет, то результат -1 . По моим поверхностным наблюдениям дескриптор можно не закрывать. Сами отваливаются. Смотрел через диспетчер задач

Вторник, 10 мая 2016, 18:42 +03:00 от витя ерыгин <[hidden email]>:

Для поиска файлов.
Насчёт быстроты пример приведу завтра вечером. Прирост не велик, но есть. Ещё покопаюсь, посмотрю как по скорости будет проверка наличия файла через  CreateFileA , OpenFileA . Но они, блин, дают хендлер ( или как его там). Или, на крайний случай, попробую SearchPathA, но у этой "специализированной" функции аж 6 параметров!!!


Вторник, 10 мая 2016, 17:10 +03:00 от Ruvim Pinka <[hidden email]>:

2016-05-10 13:28 GMT+03:00 витя ерыгин <[hidden email]>:
Отчего в СПФ для поиска используется GetFileAttributesA, а не FindFirstFileA ? Последний быстрее.  Как я понимаю, всё из-за дескрипторов?

Для какого поиска?
GetFileAttributes используется в FILE-EXIST — для определения существования файла (так исторически, и так было проще).

FILE-EXIST можно определить и через FindFirstFile, но приведите тест, который продемонстрирует, что так будет быстрей.

--
Ruvim


------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev


------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev

=?UTF-8?B?VFRUVC5yYXI=?= (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Поиск файла в Винде

Ruvim Pinka

2016-05-11 11:34 GMT+03:00 витя ерыгин <[hidden email]>:

Вот файлы. Внимание обращать на слово follows?-v3 , ибо проверка только там

Вообще, это не тест, а результаты теста (эксперимента).  Под тестом подразумевается исходный код, который позволяет повторить эксперимент.

Но даже из этих результатов видно, что разница не выходит за пределы погрешности.
В этих трех измерениях разброс значений для слов ">V-S", "MyNumFields", "ColData" превышает разброс для слова "FOLLOWS?-V3". Но ведь первые три не менялись, а изменялось только последнее. Значит, значение этих изменений не привысило порог погрешности.
Грубо сравнить разброс значений времени выполнения можно через стандартное отклонение (приведя к единой шкале: считая среднее за единицу) или в процентном отношении крайней величины к среднему.

И главное, сравнивать надо чистый FILE-EXIST (в разных реализациях), с минимумом дополнительного кода. Т.к. иначе измеряется эффективность реализации для данного конкретного приложения, а не общий случай.

--
Ruvim
 


------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Loading...