[Bf-committers] Faster listbase lookups

Ed Halley ed at halley.cc
Sun Oct 22 01:39:01 CEST 2006


Hrm, this sounds a lot like the complaints I raised in December of  
last year, in that the O(n) searches in lists was really getting  
unworkable at about n = 5000 ~ 6000.  I think the real solution is to  
find O(log n) searches where possible, even if this requires a  
heavier data structure.  Not all of the searches can be improved, but  
many searches seemed to be to find single things by name, which is a  
classic case where a hashtable (like Python dicts) wins.

On Oct 21, 2006, at 8:33 AM, Campbell Barton wrote:

> Hey Guys
>
> Iv been using scenes with a large number of objects recently, -  
> groups and scnene-sets has helped me bring object counts down from  
> 50,000 to about ~5000 per scene but even with 5000 objects, it can  
> still be noticeably slow to duplicate, parent and unparent objects.  
> - a few seconds.,
>
> My understanding of threads is limited, but I was thinking
> one thing that could improve performance on large ListBases is a  
> way to thread ListBase searches so 2 threads would search starting  
> at each end of the listBase and check up with (eachother every ~50  
> or so iterations to see if they have found the item thats being  
> searched for)
>
> Im not sure weather youd want this all the time, because it could  
> be slower for smaller listbases, but in that case it may be woth  
> the small slowdown....
>
> Talking to Emil, he thaught it would be possible.
>
> first Id like to know what others think, then if thats ok, if  
> anyone would like to do this (would be a paid job).
>
> - Cam
>
> -- 
> Campbell J Barton
>
> 133 Hope Street
> Geelong West, Victoria 3218 Australia
>
> URL:    http://www.metavr.com
> e-mail: cbarton at metavr.com
> phone: AU (03) 5229 0241
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
>
>

--
[ e d @ h a l l e y . c c ]






More information about the Bf-committers mailing list