Alex Tweedly wrote:
On 31/10/2014 04:04, Richard Gaskin wrote:
What I find most remarkable is the way your benchmark makes the value
of this ID caching seem rather trivial.
...
It is a trivial example - but the speed-up of 50X seems significant.

In relative terms it certainly seems so, but in absolute time just how much is being saved? That is, what is the time required to resolve an object ID without caching?

This reminds me of a test I ran yesterday on a different issue, similar only in that whether or not it's a valuable thing to do may differ depending on whether you're looking at total-time or time-per-iteration:

I was measuring how much overhead is involved in making a call to a function relative to performing the same code in-line.

The total time saved was 15.897949 ms, which seems a worthy number until we consider that it was running for 100,000 iterations.

In a single iteration it was only saving 0.000159 ms, which for the purposes of the test made it clear that the performance "penalty" of factoring large handlers is probably not worth the time we spend trying to wrap our head around really long complex handlers.

With ID caching we have a nuance that further qualifies its value: it's very specific, caching only ID references but not the more commonly-used forms like names or, as often used in loops, ordinal numbers.

That said, I tend to be somewhat obsessive about performance because I see every nanosecond saved as a penny in a bank account; over time I can save up enough to have some milliseconds free to spend on new features like real-time display updates or background processing.

So I'm always grateful for anything that boosts performance in the engine, even those that may seem small, since over the long run everything adds up.


Probably worth adding it to the compare-engine-versions benchmark; I'll
do that once a framework / sample of that happens.

I hope we can get that project going. It'll be very helpful for many purposes.

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 ____________________________________________________________________
 ambassa...@fourthworld.com                http://www.FourthWorld.com

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to