2

多くのファイルを含む nfs ディレクトリでは、gtk FileChooserDialog を開くのが非常に遅くなります。strace は、「stat」の呼び出しに多くの時間を示しています。ディレクトリ内のファイルごとに約 5 回の呼び出し。'stat' の呼び出しをオフにして、変更時刻なしでファイル名のリストを表示するにはどうすればよいでしょうか?

Redhat Enterprise 4、x86_64、Linux 2.6.9-42.0.8.ELsmp を使用しており、FileChooser は /usr/lib64/libgtk-x11-2.0.so.0.400.13 から来ています。テスト プログラムは FileChooserDialog を開き、表示されるまでに 10 秒かかりますが、'ls' で同じディレクトリを一覧表示するのに約 25 ミリ秒かかります。

私たちのEclipseアプリケーションは、このファイルセレクターの問題によって不自由になっています...

4

3 に答える 3

2

gtk+ および gnome チームは、少なくとも 2005 年以降、この問題に関連するバグレポートを持っています。gnome コア ライブラリの最近および将来の変更により、パフォーマンスが向上することが期待されます。ファイル選択メニューにネットワーク ドライブへのブックマークがある場合、この問題が悪化する可能性があります。

于 2009-05-12T23:00:54.613 に答える
0

GTK ファイルを開くダイアログは、おそらくディレクトリ内のすべてのファイルを stat(2) しています。これはls -lディレクトリ上と同等であり、それについてはゆっくりと実行する必要があります。ls | catファイルとディレクトリを区別できないため、(大幅に高速な)の出力では不十分な場合があります。

ls | catls -lおよびGTKファイルを開くダイアログを測定することをお勧めします。GTK ファイルを開くダイアログが よりもかなり遅い場合はls -l、GTK (NFS ではなく) に問題があります。を介して GTK アプリケーションを実行し、strace何が遅いのかを確認します。GTK ファイルを開くダイアログが とほぼ同じ速度である場合、ls -lそれを速くすることはできないと思います。おそらく、NFS マウント フラグを微調整したり、NFS クライアントとサーバーをアップグレードしたり、より高速なインフラストラクチャに切り替えることができます。サンバとして。

于 2009-05-01T21:53:03.653 に答える