稲地です。

testgtk の menus サンプルの close が遅いことが
気になっていたのですが、GTKオブジェクト(のRuby版)
のすべてが gtk_object_list という配列オブジェクトに
格納されていて、destroy時に配列の先頭からdelete
するオブジェクトを探して配列から除去しているのを
知りました。

menus サンプルでは 1400 を超える GTK オブジェクト
ができているようで、これは遅くて当然だなと思いました。

この gtk_object_list 配列が本当に必要かどうかまだ
わからないのですが、とりあえずオブジェクトIDと
オブジェクトのペアの Hash に変更すれば改善できそう
なのですがどうでしょうか。

---
稲地 稔 (e-mail: inachi / earth.interq.or.jp)