|
Add is faster than multiply. Even faster is a straight assign. For a loop of 500,000 iterations, the milliseconds are shown below. "None" is for an empty loop. Add is about 40% faster than multiple, assign is about 8% faster than add. DSPLY None: 136 Mult: 710 Add: 519 Assign: 481 Here's the code: d T0 s z d T1 s z d T2 s z d T3 s z d T4 s z d x s 10u 0 d MAX c 500000 d a s 3u 0 d b s 4s 1 inz(123.5) d dnone s 10u 0 d dmult s 10u 0 d dadd s 10u 0 d dasgn s 10u 0 d msg s 52 /free t0 = %timestamp(); for x = 1 to MAX; endfor; t1 = %timestamp(); for x = 1 to MAX; eval(h) a = b * 1; endfor; t2 = %timestamp(); for x = 1 to MAX; eval(h) a = b + 0; endfor; t3 = %timestamp(); for x = 1 to MAX; eval(h) a = b; endfor; t4 = %timestamp(); dnone = %diff( t1: t0: *MSECONDS) / 1000; dmult = %diff( t2: t1: *MSECONDS) / 1000; dadd = %diff( t3: t2: *MSECONDS) / 1000; dasgn = %diff( t4: t3: *MSECONDS) / 1000; eval msg = 'None: ' + %char(dnone) + ' Mult: ' + %char(dmult) + ' Add: ' + %char(dadd) + ' Assign: ' + %char(dasgn); dsply msg; *inlr = *on; /end-free > From: PaulMmn > > What's faster: > > Eval(H)... MyField * 1 > > or > > Eval(H)... MyField + 0
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.