Slowdown when putting symbols into image data
Alex Tweedly
alex at tweedly.net
Wed Sep 10 18:09:11 EDT 2014
On 10/09/2014 19:54, J. Landman Gay wrote:
> On 9/10/2014, 1:00 PM, William Prothero wrote:
>> Jacqueline: But…. a byte is a byte is 8 bits, unicode may be 2 bytes
>> per char, or not, right? I don’t see where unicode would come into
>> simple byte addressing. But then, you may be right that somehow
>> unicode stuff has gotten into the mix somehow.
>
> I'm not smart enough to know what's going on under the hood, but since
> Alex was benchmarking strings, and since Unicode is the main change to
> those in LC 7.0, I can only think they're related somehow.
>
Thing is, I wasn't trying to benchmark strings, I was trying to
benchmark byte operations :-)
I thought that by using "byte X to Y of ..." that I was using "just"
bytes, not strings - and therefore not Unicode.
But Ali has already produced a fix giving significant speed-up (!!) and
in his explanatory comment in the bug report he describes how my test
code required a type conversion on each assignment (because I was
inadvertantly making the variable be a character string to start with).
So his fix gives a big improvement - and then (using a simple script
change in the test example) he can gain another 40% improvement.
I am absolutely blown away by this responsiveness !!
Unfortunately, until his fix is included (due to be in the next build),
his suggested script change doesn't help - so I'm not able to do any
further (useful) testing on this part of performance. It looks like
between his code change plus his suggested script change, the
performance hit reduces to a mere 7X - still (IMHO) a pretty high
number, but hopefully good enough that we can live with the performance
impact for now.
I'll re-test once RC2 comes out, and in the meantime I think I should
play around with some more performance testing of other areas of the code.
-- Alex.
P.S. Thanks again to Ali - I can hardly believe this level of
responsiveness.
More information about the use-livecode
mailing list