+++ ファイラーを語ろう Part34 --- (349レス)
+++ ファイラーを語ろう Part34 --- http://egg.5ch.net/test/read.cgi/software/1738804202/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
334: 名無しさん@お腹いっぱい。 [sage] 2025/10/23(木) 23:27:18.22 ID:gDajZRGk0 >>317 ほぼ正体バラしてますね・・・お久しぶりです。同い年の人です。 当方の自作ファイラーのリスト表示はIShellFoler::EnumObject系です。 アイコンの他に詳細情報も取得しており、ソートは全てファイル名です。 なお、中の下の省電力ノートなので性能は微妙です。 5000ファイル、ソートの有無で変わらず 17ms 2万ファイルソートなし 52〜55ms 2万ファイルソートあり 53〜57ms 100万ファイルソートなし 2613ms 100万ファイルソートあり 2658ms 100万ファイルソートありの内訳は 走査:1780〜1880ms 並列可能な関連情報:680〜720ms ソート:80〜86ms 更新用のハッシュ作成:80〜93ms つまり、なるべく安定ソート化+更新ハッシュのベクトル演算のために、走査時に流し込めるデータ構造を作ってます。 ソートはSTLのソートと、自作のマージソート、自作の挿入ソートをTPOで使い分けてます。 なお走査はシングルスレッドがお薦めです。 ディスクI/Oがボトルネックになって頭打ちになるためメリットが少ないこと、どのAPIも完全なスレッドセーフではないので高負荷時に異常な値を返しやすいパスが複数存在します。 新作、期待してます。頑張ってください。 http://egg.5ch.net/test/read.cgi/software/1738804202/334
335: 名無しさん@お腹いっぱい。 [sage] 2025/10/24(金) 07:12:16.59 ID:No+pK13s0 >>334 ソート時間が随時少ないですね 他のキー(やファイル名逆順)でソートしたらどうなりますか? http://egg.5ch.net/test/read.cgi/software/1738804202/335
339: 名無しさん@お腹いっぱい。 [sage] 2025/10/24(金) 12:46:36.76 ID:AzMFs/Wh0 >>323 > 相当する方法 と書いたけど実際にはNtQueryDirectoryFileを使ってます >>334 > ディスクI/Oがボトルネックになって頭打ちになるためメリットが少ない 場合によりますね PC起動後の初回などは確かにディスクIOが発生しますがその後はシステムキャッシュが効いて ディスクアクセスは殆ど無いようです >>336 NtCreateFileでローカルNTFSはFileId(reparse pointはskip)、それ以外は親ディレクトリハンドル+名前で開いてます >>338 FileIdを使いたいがために一度に沢山取得してます https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/ns-ntifs-_file_id_full_dir_information PythonでNtQueryDirectoryFileを使う例 https://stackoverflow.com/questions/27439379/python-ntquerydirectoryfile-file-information-structure 自分はNT Native APIに不慣れな頃、Pythonで試してました http://egg.5ch.net/test/read.cgi/software/1738804202/339
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.015s