Bad thing was that the team wanted to see „real live scenarios“ (which
most of my benchmark stacks are, just boiled down to the core of the
problems as I found them).

Yes - 'real world scenarios' are important - posting a small piece of code and running it 10,000 times just tells you how long that piece of code takes to run. It doesn't tell you the context, the purpose or (indeed) whether it is *useful* for it to run exceptionally fast (the real world reality is that optimisation is time consuming and difficult so you want to be absolutely sure the work is of actual benefit before you undertake it). (More importantly, out of context, it is not possible to see whether the code is necessary at all - there might be that it could be done in a far more efficient way by stepping back one level and changing approach; and *that* completely changes the equation).

Anyway, I would point out that the forum post which was pointed out is actually quite stale. I did a significant amount of analysis of the 'simpleArrayTest' code and posted my findings on a different thread (which, indeed, might well have been an error on my part!). The relevant posts are:

http://forums.livecode.com/viewtopic.php?f=66&t=23387#p121566
http://forums.livecode.com/viewtopic.php?f=66&t=23387#p121574
http://forums.livecode.com/viewtopic.php?f=66&t=23387#p121605

The important thing here (which reinforces me saying 'real world scenarios' are important) is that if my goal was to optimise the engine to make simpleArrayTest fast then I could. Indeed, it would be possible to make it take virtually no time at all since it isn't actually doing anything - the subtlety of missing out the key step of what the (numeric) keys are being sorted by completely changes the intent of the code. There-in lies the danger with synthetic tests.

So, anyway, I'm posting this for two reasons.

The first is to reinforce the fact that distilled real world examples with real world data and real world context (i.e. what the code is trying to achieve) are important as it ensures we can choose were we spend our energy wisely.

The second is to say please do help us find out what the most important places to optimise are. If you have tight loops which do data-processing in your apps *and* you are finding them significantly slower, let us know, work with us to distill them down into an easily runnable snippet of code with good data to run them on so we can take the time to analyse them and influence where the optimisation really needs to be.

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
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