Benchmarks on Cuis 5.0 Spur + newest Cog VM

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Benchmarks on Cuis 5.0 Spur + newest Cog VM

Luciano Notarfrancesco
 
Wow, the new VM is faaast!  (I know, I'm a little late on the game, I
just finished migrating my code to a new image.)

I'm comparing Cuis 5.0 Spur + newest Cog VM (32 bits) against Cuis 4.5
Cog r3370 from 2015-6. Soon we'll see how things go with 64 bits too.

All my benchmarks run faster. Integer arithmetic has improved (the
simplest benchmark of '1000!' get speedup by 4.5x). Other more complex
benchmarks that don't depend on large integer arithmetic run much
faster too, like Groebner bases over Z/p with small p, as well as
computing with permutation groups. Overall, the speedup is 1.5x to 5x,
in some cases more.

In one particular case (cyclic 7 Groebner basis over the prime field
Z/32003, a standard benchmark for computer algebra systems) the
speedup factor is 600x. But this seems to be a bug, either in the old
VM/image combo or the new one, or something in my code that behaves
differently in the new VM/image, because they don't produce the same
output. I'll investigate it. Other than that, over 400 tests passed
without problem.

So, thanks to all that made this possible, specially Eliot and the
vm-dev team, and Juan for migrating Cuis to Spur. Awesome work!
Luciano
Reply | Threaded
Open this post in threaded view
|

Re: Benchmarks on Cuis 5.0 Spur + newest Cog VM

timfelgentreff
 

Hi, if you can share any of those benchmarks, I'd be happy to set some of them up on speed.squeak.org

cheers,
Tim


Luciano Notarfrancesco <[hidden email]> schrieb am Do., 17. Nov. 2016, 17:00:

Wow, the new VM is faaast!  (I know, I'm a little late on the game, I
just finished migrating my code to a new image.)

I'm comparing Cuis 5.0 Spur + newest Cog VM (32 bits) against Cuis 4.5
Cog r3370 from 2015-6. Soon we'll see how things go with 64 bits too.

All my benchmarks run faster. Integer arithmetic has improved (the
simplest benchmark of '1000!' get speedup by 4.5x). Other more complex
benchmarks that don't depend on large integer arithmetic run much
faster too, like Groebner bases over Z/p with small p, as well as
computing with permutation groups. Overall, the speedup is 1.5x to 5x,
in some cases more.

In one particular case (cyclic 7 Groebner basis over the prime field
Z/32003, a standard benchmark for computer algebra systems) the
speedup factor is 600x. But this seems to be a bug, either in the old
VM/image combo or the new one, or something in my code that behaves
differently in the new VM/image, because they don't produce the same
output. I'll investigate it. Other than that, over 400 tests passed
without problem.

So, thanks to all that made this possible, specially Eliot and the
vm-dev team, and Juan for migrating Cuis to Spur. Awesome work!
Luciano
Reply | Threaded
Open this post in threaded view
|

Re: Benchmarks on Cuis 5.0 Spur + newest Cog VM

Luciano Notarfrancesco
 
Oh, that's great!

The benchmarks are in https://github.com/len/Cuis-Mathematics but I
guess they are not easy to integrate because they depend on a
monolithic package with >250 classes. However, I made a little
benchmark with some of the main bottlenecks of the stuff I'm working
on. All of them could be very easily implemented as primitives (they
translate almost literally to C) but I think there's room for
optimization in pure Smalltalk (certainly with Sista, but perhaps also
without it).

Also, I think for some of them we should have primitives. In
particular, just like we have primitives for testing equality and
hashing Strings (and ByteArrays) in MiscPrimitivePlugin, it would be
nice to have the same for WordArray and the rest of variable indexed
objects (8, 16, 32 and 64 bits).

Feel free to include some of them in speed.squeak.org if you think it
merits inclusion. Let me know if you want me to rewrite the benchmarks
in some other way. If anyone cares, I'll improve them in the future to
include other bottlenecks I find.

Thanks!
Luciano

On 11/18/16, Tim Felgentreff <[hidden email]> wrote:
>

CASBenchmark.st (9K) Download Attachment