Carsten Neumann wrote:
>       Hello,
>
> [email protected] wrote:
>   
>> Author: cneumann
>> Date: Mon Jan 19 16:21:48 2009
>> New Revision: 1667
>> Trac changeset: http://opensg.vrsource.org/trac/changeset/1667
>> ViewVC: http://realityforge.vrsource.org/viewvc/opensg?view=rev&revision=1667
>>
>> Modified:
>>    trunk/Source/System/FieldContainer/Misc/OSGFieldContainerUtils.cpp
>>    trunk/Source/System/GraphOp/OSGSharePtrGraphOp.cpp
>>    trunk/Source/System/GraphOp/OSGSharePtrGraphOp.h
>> Log:
>> fixed: prevent infinite loops when following pointers
>>        by tracking the set of visited containers
>>     
> I forgot to mention in the commit message that this makes the 
> SharePtrGraphOp fairly slow (at also seems to share a *lot* more [1]), 
> do we want to remove it from the default graph ops ?
>   
I think it could be useful in those cases where you have loops.

Perhaps softening the perf-hit by:
 * Making the tracking optional?
 * using a hash/unordered set instead of a the log n tree-set? (Or a big 
bitset of all fcids?)
 * replacing count() == 0 with find() == end() ? The latter ought to do 
less work (if it matters)?

Cheers,
/Marcus

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Opensg-core mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-core

Reply via email to