1. benchmark: Eu wins again
- Posted by Juergen Luethje <j.lue at gmx.de> May 25, 2003
- 456 views
Hi all, *interpreted* Euphoria (2.4 beta) clearly beats *compiled* PowerBASIC for DOS! o I translated the benchmark program "Euphoria\demo\bench\sieve8k.exw" to PowerBASIC, and compiled it using version 3.2 for DOS. The resulting program is labeled 'PB' in the following table. o The Eu statement flags = repeat(ON, SIZE) translates to the PowerBASIC code for i = 1 to %SIZE flags(i) = %ON next Because this obviously is slow, I made another version of the BASIC program, where I replaced this code by an asm routine, using 'rep stosw'. The resulting program is labeled 'PB+asm' in the following table. Interpreted Eu is also much faster than this "patched" program. I got the following results (Pentium II 400 MHz processor, Win 98), using the command-line parameter 90000, as described in "Euphoria\demo\bench\": plain DOS -.-.-.-.- time measured speed relative to ex.exe ------------- ------------------------ PB : 897,21 sec 3.7 times slower PB+asm: 687,39 sec 2.9 times slower ex.exe: 241,45 sec 1 Windows -.-.-.- time measured speed relative to exw.exe ------------- ------------------------- PB (DOS box): 904,57 sec 3.6 times slower PB+asm (DOS box): 693,43 sec 2.7 times slower exw.exe : 252,89 sec 1 Disclaimer: The latest PB/DOS version isn't 3.2, but 3.5. 32-bit PB/Windows generates faster programs than PB/DOS (I couldn't test it, because instead of buying it, I bought Euphoria. PowerBASIC Inc. claims: "PowerBASIC has long been associated with performance". I actually think this is true, but the cool thing is, that interpreted Euphoria is even more then 3.5 times faster than compiled PowerBASIC/DOS!! Best regards, Juergen -- /"\ ASCII ribbon campain | |\ _,,,---,,_ \ / against HTML in | /,`.-'`' -. ;-;;,_ X e-mail and news, | |,4- ) )-,_..;\ ( `'-' / \ and unneeded MIME | '---''(_/--' `-'\_)
2. Re: benchmark: Eu wins again
- Posted by jbrown1050 at hotpop.com May 25, 2003
- 455 views
Wow ... scary... Wonder how they (RDS) does it. jbrown On Sun, May 25, 2003 at 05:43:03PM +0200, Juergen Luethje wrote: > > > Hi all, > > *interpreted* Euphoria (2.4 beta) clearly beats *compiled* PowerBASIC > for DOS! > > o I translated the benchmark program "Euphoria\demo\bench\sieve8k.exw" > to PowerBASIC, and compiled it using version 3.2 for DOS. The > resulting program is labeled 'PB' in the following table. > > o The Eu statement > flags = repeat(ON, SIZE) > > translates to the PowerBASIC code > for i = 1 to %SIZE > flags(i) = %ON > next > > Because this obviously is slow, I made another version of the BASIC > program, where I replaced this code by an asm routine, using 'rep > stosw'. The resulting program is labeled 'PB+asm' in the following > table. Interpreted Eu is also much faster than this "patched" program. > > > I got the following results (Pentium II 400 MHz processor, Win 98), > using the command-line parameter 90000, as described in > "Euphoria\demo\bench\": > > > plain DOS > -.-.-.-.- > time measured speed relative to ex.exe > ------------- ------------------------ > PB : 897,21 sec 3.7 times slower > PB+asm: 687,39 sec 2.9 times slower > ex.exe: 241,45 sec 1 > > > Windows > -.-.-.- > time measured speed relative to exw.exe > ------------- ------------------------- > PB (DOS box): 904,57 sec 3.6 times slower > PB+asm (DOS box): 693,43 sec 2.7 times slower > exw.exe : 252,89 sec 1 > > > Disclaimer: > The latest PB/DOS version isn't 3.2, but 3.5. > 32-bit PB/Windows generates faster programs than PB/DOS (I couldn't test > it, because instead of buying it, I bought Euphoria. > > PowerBASIC Inc. claims: "PowerBASIC has long been associated with > performance". I actually think this is true, but the cool thing is, > that interpreted Euphoria is even more then 3.5 times faster than > compiled PowerBASIC/DOS!! > > Best regards, > Juergen > > -- > /"\ ASCII ribbon campain | |\ _,,,---,,_ > \ / against HTML in | /,`.-'`' -. ;-;;,_ > X e-mail and news, | |,4- ) )-,_..;\ ( `'-' > / \ and unneeded MIME | '---''(_/--' `-'\_) > > > > TOPICA - Start your own email discussion group. FREE! > -- /"\ ASCII ribbon | http://www.geocities.com/jbrown1050/ \ / campain against | Linux User:190064 X HTML in e-mail and | Linux Machine:84163 /*\ news, and unneeded MIME |
3. Re: benchmark: Eu wins again
- Posted by stabmaster_ at hotmail.com May 26, 2003
- 438 views
Just for fun, I did a hand-translation of \demo\bench\sieve.ex to x86 assembly (only regular instructions, no SIMD, and no extreme optimizations). Here are the results i got: sieve.ex (executed by ex.exe): 7216.6 sieves/second sieve.exe: 54630.3 sieves/second So the assembly version was about 657% faster. Gosh, didn't see that coming.. : ) Test computer: P-II 450MHz 384MB 100MHz SDRAM not sure about the cahche size Windows 2000 pro The figures were averaged over three runs. If you want to see the code or try the program on your own computer you can find it here: http://www.cyd.liu.se/~micol972/site/asieve.zip The source compiles with MASM (freeware), but the executable is included so you don't need to compile it yourself, unless you decide to make any changes.
4. Re: benchmark: Eu wins again
- Posted by Juergen Luethje <j.lue at gmx.de> May 26, 2003
- 433 views
Hello Mic, you wrote: > Just for fun, I did a hand-translation of \demo\bench\sieve.ex This program ships with Eu 2.3. Was it intended, that you used this older version? It's a bit differnt from sieve8k.exw, that comes with Eu 2.4. > to x86 assembly (only regular instructions, no SIMD, and no extreme > optimizations). <snip> Best regards, Juergen -- /"\ ASCII ribbon campain | |\ _,,,---,,_ \ / against HTML in | /,`.-'`' -. ;-;;,_ X e-mail and news, | |,4- ) )-,_..;\ ( `'-' / \ and unneeded MIME | '---''(_/--' `-'\_)
5. Re: benchmark: Eu wins again
- Posted by Pete Lomax <petelomax at blueyonder.co.uk> May 26, 2003
- 428 views
On Mon, 26 May 2003 16:51:11 +0000, stabmaster_ at hotmail.com wrote: >Just for fun, I did a hand-translation of \demo\bench\sieve.ex to x86=20 >assembly (only regular instructions, no SIMD, and no extreme = optimizations).=20 >Here are the results i got: > >sieve.ex (executed by ex.exe): 7216.6 sieves/second >sieve.exe: 54630.3 sieves/second > >So the assembly version was about 657% faster. Gosh, didn't see that=20 >coming.. : ) I'm very happy that assembly is *only* 7.5 times faster than eu. Add bounds checking, syntax checking, type checking, single-step tracing and a decent diagnostic dump should things go wrong to assembler. Ha ha! Pete
6. Re: benchmark: Eu wins again
- Posted by stabmaster_ at hotmail.com May 27, 2003
- 453 views
>This program ships with Eu 2.3. Was it intended, that you used this >older version? It's a bit differnt from sieve8k.exw, that comes with Eu >2.4. Since i'm still using 2.3 i guess the answer would be "yes".