Performance and Scalability of SMILE

The engine.
bill
Posts: 4
Joined: Tue Oct 21, 2008 4:49 pm

Re: About scalability

Post by bill »

shooltz wrote: I was able to get past 15000 without significant slowdowns. However, the Network.addNode method (or rather the wrapped C++ method) performs the check for the uniqueness of the node identifier by linearly comparing the new id with all existing ids, so you can expect addNode taking more time as you add nodes.
How about getting past 50000? -:)

OK, I see; that explains it... would be nice to have an option (Boolean flag) for disabling this linear checking -:).
shooltz[BayesFusion]
Site Admin
Posts: 1417
Joined: Mon Nov 26, 2007 5:51 pm

Re: About scalability

Post by shooltz[BayesFusion] »

bill wrote:How about getting past 50000? -:)
That's certainly gets too slow. You can get somewhat better perf using shorter prefix for node identifiers ("n" instead of "node").
OK, I see; that explains it... would be nice to have an option (Boolean flag) for disabling this linear checking -:).
Such internal flag exists and is used to disable checking during .xdsl load (the O(nlogn) check is done on the completion of the load). You may try creating arc-less network with required node count once, saving it to the file and loading it later - it may be faster.
bill
Posts: 4
Joined: Tue Oct 21, 2008 4:49 pm

Re: About scalability

Post by bill »

shooltz wrote: That's certainly gets too slow. You can get somewhat better perf using shorter prefix for node identifiers ("n" instead of "node").
Yes, now it is faster... I guess that in a real case network where each node will have a "significantly" different name this would be even faster.
shooltz wrote: Such internal flag exists and is used to disable checking during .xdsl load (the O(nlogn) check is done on the completion of the load). You may try creating arc-less network with required node count once, saving it to the file and loading it later - it may be faster.
OK, I understand :). But it would be nice to enable this (or a similar) flag during node addition as well. That is because the network might not have a static representation.
Post Reply