Yes we discovered that function calls were real fast in Firefox,
not so fast in IE as I recall, and
slow in Flash 6,7,8
I did some simple tests andI measured a big speedup in Flash 9
(using Adobe's compiler), like
10x to 20x over flash 7.
On 10/17/06, Benjamin Shine <[EMAIL PROTECTED]> wrote: Tell me
this isn't the most fascinating data you've seen in a long
time. The executive summary: function calls and array access are
faster in dhtml than in flash, on my particular setup.
Rather than constructing reports with copy and paste, I think I will
bastardize Henry's logger.jsp. Run tests, calculate results, post to
server via a jsp. Then in a separate step we can analyze the results.
http://localhost:8080/legals/test/performance/adding-elements-to-
array.lzx?lzr=swf7
iterations = 200
empty : 0.83us ± 0.02 [0.81..0.93]/100
Array.push : 3.51us ± 3.71 [2.50..27.40]/
100
Array[Array.length] = : 2.02us ± 0.12 [1.93..3.02]/100
Array[index] = : 1.63us ± 0.06 [1.54..1.84]/100
Array[index] = (preallocated) : 1.67us ± 0.05 [1.59..1.82]/100
Object[key] = : 1.62us ± 0.88 [1.47..10.36]/
100
http://localhost:8080/legals/test/performance/adding-elements-to-
array.lzx?lzr=dhtml
iterations = 200
empty : 0.65us ± 1.69 [0.00..5.00]/100
Array.push : 3.45us ± 2.32 [0.00..5.00]/100
Array[Array.length ] = : 2.20us ± 2.49 [0.00..5.00]/100
Array[index] = : 2.40us ± 2.51 [0.00..5.00]/100
Array[index] = (preallocated) : 2.00us ± 2.46 [0.00..5.00]/100
Object[key] = : 1.90us ± 2.44 [0.00..5.00]/100
http://localhost:8080/legals/test/performance/cost-of-a-function-
call.lzx?lzr=swf7
iterations = 200
empty : 1.06us ± 0.04 [1.05..1.49]/100
assignment : 2.06us ± 0.22 [1.77..2.77]/100
function call : 8.73us ± 5.37 [7.32..35.08]/
100
function call with 1 param : 8.62us ± 0.48 [8.21..10.29]/
100
function call with 2 params : 10.45us ± 0.35 [9.93..11.94]/
100
function call with 3 params : 9.65us ± 0.41 [9.23..11.16]/
100
function call with 4 params : 14.01us ± 21.89
[9.70..141.19]/100
method call : 11.64us ± 12.68
[8.78..137.09]/100
method call with 1 param : 9.38us ± 0.37 [9.04..12.05]/
100
proto method call : 10.66us ± 0.26
[10.35..11.35]/100
proto method call with 1 param: 9.60us ± 0.22 [9.29..10.31]/
100
http://localhost:8080/legals/test/performance/cost-of-a-function-
call.lzx?lzr=dhtml
iterations = 200
empty : 0.65us ± 1.69 [0.00..5.00]/100
assignment : 2.40us ± 2.51 [0.00..5.00]/100
function call : 2.65us ± 2.51 [0.00..5.00]/100
function call with 1 param : 2.45us ± 2.51 [0.00..5.00]/100
function call with 2 params : 3.05us ± 2.45 [0.00..5.00]/100
function call with 3 params : 2.55us ± 2.51 [0.00..5.00]/100
function call with 4 params : 2.70us ± 2.50 [0.00..5.00]/100
method call : 2.75us ± 2.50 [0.00..5.00]/100
method call with 1 param : 2.85us ± 2.49 [0.00..5.00]/100
proto method call : 2.75us ± 2.50 [0.00..5.00]/100
proto method call with 1 param: 3.15us ± 2.43 [0.00..5.00]/100
http://localhost:8080/legals/test/performance/iteration-forms.lzx?
lzr=swf7
iterations = 200
empty : 0.10us ± 0.03 [0.07..0.28]/100
for : 2.44us ± 0.23 [2.14..3.21]/100
for in : 2.06us ± 2.57 [1.62..25.35]/
100
while : 2.14us ± 0.05 [2.11..2.44]/100
http://localhost:8080/legals/test/performance/iteration-forms.lzx?
lzr=dhtml
iterations = 200
empty : 0.05us ± 0.50 [0.00..5.00]/100
for : 1.95us ± 2.45 [0.00..5.00]/100
for in : 2.80us ± 2.49 [0.00..5.00 ]/100
while : 1.95us ± 2.45 [0.00..5.00]/100
On Oct 17, 2006, at 6:34 PM, Benjamin Shine wrote:
> I just ran across test/performance and components/utils/
performance.
> This
> http://localhost:8080/legals/test/performance/adding-elements-to-
> array.lzx?debug=true
>
> gives
>
> empty : 0.87us ± 0.02
[0.84..0.95]/100
> Array.push : 3.89us ± 1.39
[3.66..17.63]/100
> Array[Array.length] = : 3.47us ± 0.06
[3.40..3.70]/100
> Array[index] = : 2.41us ± 0.04
[2.35..2.53]/100
> Array[index] = (preallocated) : 2.46us ± 0.06
[2.38..2.80]/100
> Object[key] = : 2.83us ± 5.14
[2.26..53.75]/100
>
> Seems to work in dhtml, too. Darn it's nice -- any reason
> components/utils/performance/measure.lzx shouldn't be the basis for
> our updated performance benchmarks?
>
> We need a way to track the results in different versions & runtimes
> of course. Someone's going to say "how about the wiki?" in response
> to which I am going to shoot myself. XML checked into the source
> tree would work better, I think... and if Josh Crowley stays up
> late he could write a charting app to visualize the performance
> results. (Not that Josh Crowley would ever stay up late.)
>
> -ben
>
> On Oct 17, 2006, at 4:06 PM, Max Carlson wrote:
>
>> Yes it does.
>>
>> -Max
>>
>> Henry Minsky wrote:
>>> Does the getTimer() value that is sent in LzIdle events start
>>> from zero when the LFC is loaded?
>>> On 10/16/06, *Henry Minsky* < [EMAIL PROTECTED]
>>> <mailto: [EMAIL PROTECTED]>> wrote:
>>> At the bug scrub we talked about getting some updated
>>> performance
>>> benchmarks , are these assigned with some high priorty?
>>> There's a number of proposed optimizations that are in JIRA
>>> which
>>> would be easier to attack if we had a simple set of
metrics we
>>> could run. A couple of issues involve app startup time,
is that
>>> adequately covered by the existing inittimer tag ? --
>>> Henry Minsky
>>> Software Architect
>>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>>> --
>>> Henry Minsky
>>> Software Architect
>>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>
> Benjamin Shine
> Software Engineer, Open Laszlo / Laszlo Systems
> [EMAIL PROTECTED]
>
>
>
>
Benjamin Shine
Software Engineer, Open Laszlo / Laszlo Systems
[EMAIL PROTECTED]
--
Henry Minsky
Software Architect
[EMAIL PROTECTED]