Refactoring is your friend / moving from 6.x to 9.x
curry at pair.com
Sat Jan 5 08:29:02 CET 2019
> Is there an actual list of concrete concerns here [...]
> or did I just spend an hour reading that I'll never get back?
> I feel rickrolled.
A profound question, my friend. :D You may notice something special
about the following link, adapted in honor of the situation:
Oh boy - I was ALWAYS gullible enough to fall for the "concrete
concerns" type of line every single time, and rush off to make a newer
list, until finally I wised up to the world's ways and realized that
(outside of bug reports and specific issues) such statements are
sometimes used merely to deflect - it's not always a matter of actually
wanting more details, but rather quite simply an unwanted message.
These days, I am usually prepared in advance and merely smile and point
a finger toward the information; the answer long preceded the question!
Many of the details had been in place and waiting for some time, by
myself and others. They've been presented and discussed before, so I
didn't anticipate the need to reference every single one yet again;
perhaps I should have. But I understand that memories can be convenient,
and assumptions and agendas can be strong enough to brush aside what we
already know every now and then.
So, the "reverse rickrolled" link above connects to some aging stats
that still hold generally true on the subject of performance. In many
very basic tasks (math, loops, arrays) LC 9 has fallen short by 1.x or
even 2.x, and that's still the case as of 902 final.
And testing indicated that it's almost certainly NOT just a Unicode
thing. I'm sorry if that makes me the messenger of inconvenient news, or
a destroyer of attractive explanations, but I prefer the plain truth of
reality. Repeatable, proven, public tests, videotaped and distributed;
sorry, but it's fact. No line of talk or alternate authoritative studies
can alter that. Test it yourself, or look the other way if you must, but
the facts persist either way.
I'm going to wait until there are relevant engine changes to update the
results chart and test stack. It'll be fair as usual; in the original
round of testing I went out of my way to make sure 9 had at least one
match in its favor, and now I know a few other areas thanks to these
talks. Hopefully after said engine changes, 9 will be the big winner!
When it comes to another matter of efficiency and saving work by
avoiding repetition, I've always been a big fan of Richard's own rather
extensive and lengthy rhetoric on the subject, and his repertoire of
catchy acronyms such as WET (We Enjoy Typing) versus DRY (Don't Repeat
Yourself). But I do believe in following through and applying the
fundamental concepts consistently across the board, including reasonably
minimizing repetition of the work itself. In fact Richard, there was a
very eloquent past message of yours on a similar subject, if memory
serves me well. I may post a link eventually if I have time to hunt it
down, and defer to your own words on that; it was very well said.
> Some may think I'm overstating my case, but I think Livecode
> stands alone in development environments for speedy development
> and ease of use.
You may be surprised that I agree! But of course you wouldn't be
surprised if you noticed that for many years now, I am 100% specialized
and 100% dedicated to LiveCode consulting and development. It's all I
do. I walk the walk, while others talk; all LiveCode, all the time.
So I understand if you feel an impulse to circle the wagons, but it's
preaching to the choir or perhaps to the preacher himself. That question
of which tool was settled long ago, and I'm a bigger LC proponent than
almost anyone, especially since my skin is 100% in the game as a
dedicated and exclusive specialist in that one tool. What we are looking
at here is the question of making THE tool better in some areas. And if
that's a bad thing, then count me guilty as charged, because I use,
teach, and promote this tool 24/7/365 year after year, there are big
plans ahead, and there are certain things I want in place for LC's own
benefit, for yours, and for my own. Far from being a threat, they will
help LC maintain its advantage against any potential competition.
> It hasn't as yet - that PR
> (https://github.com/livecode/livecode/pull/6671) has actually
> turned into a mini-grab bag of things [...]
> - reduction of memory usage of the 'handle' structures used to
> hold values (particularly on 64-bit)
> - faster processing of integer index access in arrays
> - faster short-path array access (both storing and fetching) [...]
Yes!!! Just what I was hoping to hear, that this is still in the works.
Thank you, sir. It should help a great deal.
And THAT is the reason I engage in these particular discussions, and
make myself cannon fodder at times to get the info out there: there are
amazing benefits still to be realized, even when using such an amazing
Great things ahead coming from LC, and also some great things coming to
LC that I will be able to share a bit later.
> What I was searching for was input on gotchas you guys and girls
> may have experienced when moving from the monolith engine to the
> refactored one
That's a very useful endeavor and the info will help others too. I would
like to share some of those too when there's time. Moving from LC 6 to 9
can be a real adventure! Thanks for starting the thread and I'll let you
steer it back in that direction.
Custom Software Development
"Better Methods, Better Results"
LiveCode Training and Consulting
More information about the use-livecode