Hi all,
my TBrowser is very slow: it takes ~1min to appear and be fully usable.
I did a little debugging with
and discovered that the bottleneck was in the call new TGCommandPlugin
I looked at the code of its constructor and I saw that it loads the entire history file into a dropdown list box.
My settings in .rootrc are:
Rint.HistSize: 1000000
Rint.HistSave: 900000
and now my history is ~43000 lines long: clearly it’s very resource expensive to load every single line in a dropdown list…
Since I don’t want to reduce the size of the history, given also the fact that root has no overhead due to its size except for this TBrowser problem, I had a look at the .root_hist file and discovered that there was a lot of duplicate lines, .q-like and .x statements and tv__tree->Draw instructions.
A simple
reduced the history size of nearly 80%, allowing the TBrowser to completely load in few seconds.
I don’t know if this the right place, but my suggestion is to add more options in the .rootrc file to better manage the history file, for example:
#allow duplicate lines in history
Rint.HistDup: true|false
#allow recording of .x statements (maybe only the ones coming from root "macro.C" can be excluded)
Rint.HistExecute: true|false
#allow recording of .q statements
Rint.HistQ: true|false
#allow recording of Draw instructions from the TreeViewer
Ring.HistTVTreeDraw: true|false
Best regards,
Claudio