>-----Original Message-----
>From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
>Behalf Of David Crayford
>Sent: Thursday, October 23, 2014 10:08 PM
>To: IBM-MAIN@LISTSERV.UA.EDU
>Subject: Re: [ANN] Lua4z: the Lua programming language on z/OS, with batteries>
>
>

<snip>

>OK, let's try simple matrix multiplication which should test both array 
>access and math.
>
>/* REXX */
>arg count
>if count = "" then count = 1000000
>start = sysvar("SYSCPU")
>do i = 1 to count
>   a.i = i * i
>end
>say 'CPU time = 'sysvar("SYSCPU") - start
>
>CPU time = 3.57
>
>local t = require("timer")()
>local count = arg[1]  or 1000000
>local a = {}
>for i = 1, count do a[i]  = a[i] * i end
>t:print_elapsed()
>
>elapsed time: 0.131965
>
>
>That's a huge difference, two orders of magnitude.
>

<snip remainder>

Maybe I'm just showing my ignorance of the Lua language syntax, 
but this statement: 
" a[i] = a[i] * i "

Does not appear to be the equivalent to the REXX statement:
" a.i = i * i "

In fact, I would expect that the above Lua statement is actually multiplying i 
by an uninitialized variable "a[i]".  Assuming the above code executes without 
error, then due to the principle of least astonishment, I would imagine that 
this uninitialized value is assumed to be zero.

If that IS what is happening, it will of course be MUCH faster to compute i * 0 
than to compute i squared.

Can someone with Lua syntax knowledge please enlighten me?

Thanks,
Bill Bass
United HealthCare / Optum


This e-mail, including attachments, may include confidential and/or
proprietary information, and may be used only by the person or entity
to which it is addressed. If the reader of this e-mail is not the intended
recipient or his or her authorized agent, the reader is hereby notified
that any dissemination, distribution or copying of this e-mail is
prohibited. If you have received this e-mail in error, please notify the
sender by replying to this message and delete this e-mail immediately.


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to