Revision 69959f285164e49c2ac3013b3d4364e0b0b88c8c authored by Philippe Canal on 06 July 2012, 23:54:52 UTC, committed by Philippe Canal on 06 July 2012, 23:54:52 UTC
In case where the TTree has a dramatic dynamic range with a lots of very small entries
at the beginning and very large entries at the end, the size in bytes of the cluster for the
later entries will be very large (because of the cluster size in entries is large!).
TTreeCache::FillBuffer was always attempting to load complete clusters not matter the
size (even with the size was larger than 2GB!).

This patch resolves the issue by limiting the amount of memory used to
four time the requested size and might result in higher innefficiency 
(i.e. re-reads) in some cases when this condition is triggered.

In TTree::Streamer properly estimate the necessary cache size (this cache size
is used by TTree::Draw).


git-svn-id: http://root.cern.ch/svn/root/branches/v5-27-06-patches@44953 27541ba8-7e3a-0410-8455-c3a389f83636
1 parent 372fb2f
History

back to top