+++ ファイラーを語ろう Part34 --- (364レス)
+++ ファイラーを語ろう Part34 --- http://egg.5ch.net/test/read.cgi/software/1738804202/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
317: 名無しさん@お腹いっぱい。 [sage] 2025/10/19(日) 08:21:28.17 ID:VwNa9zSX0 5000ファイルで100msは遅いとかいう話が出てたので参考にどうぞ 自作ファイラーの自作リストでFindFirst(アイコン情報は取得してない) ・5000ファイル ソートなし 16ms ファイル名でクイックソート(自然順) 62ms ファイル名でマージソート(自然順) 46ms ・2万ファイル ソートなし 63ms ファイル名でクイックソート(自然順) 156ms ファイル名でマージソート(自然順) 109ms ・100万ファイル ソートなし 2325ms ファイル名でクイックソート(自然順) 9064ms ファイル名でマージソート(自然順) 5601ms ソートしたあと画面表示する時間がかかるので(アイコンを描画してるんだろうし) 5000ファイルで100msは、まあまあなのでは? http://egg.5ch.net/test/read.cgi/software/1738804202/317
318: 名無しさん@お腹いっぱい。 [sage] 2025/10/19(日) 12:09:41.95 ID:Akj5GrAV0 >>317 ソートは何言語で実装してるのですか? それとクイックソートがマージソートよりも遅いのは元からソートされているからかな 試しに更新日時逆順でソートしたら違う結果になったのかなと 大半がソート時間とは言え列挙自体もFindFirstよりも早い方法もあるようです https://qiita.com/AsladaGSX/items/6641046b03f20cefb834 http://egg.5ch.net/test/read.cgi/software/1738804202/318
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
346: 名無しさん@お腹いっぱい。 [sage] 2025/10/26(日) 00:12:00.55 ID:dff0YM2h0 >>341 100万ソート時間がどんなもんかやって見たら、構造体64バイト程度までなら配列に直接入っていても 数値比較のクイックソートで100msに普通に収まるね >>317,320は配列ではなくリストと書いているし、更にファイル名が凄く長いのかな http://egg.5ch.net/test/read.cgi/software/1738804202/346
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.536s*