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 |
Hi, if you can share any of those benchmarks, I'd be happy to set some of them up on speed.squeak.org cheers, Luciano Notarfrancesco <[hidden email]> schrieb am Do., 17. Nov. 2016, 17:00:
|
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 |
Free forum by Nabble | Edit this page |