On Fri, Dec 22, 2017 at 9:40 AM, Andreas Brodbeck <dassi@mindclue.ch> wrote:
Am 19.12.17 um 11:40 schrieb Andreas Brodbeck:
Am 18.12.17 um 20:45 schrieb Henrik-Nergaard:
So: It's not the storage! It's something inside Fuel. I keep investigating and will update here.
... so here are my latest findings:
I took both images onto the same machine, a Mac. And these are the differences of the same Fuel serialization:
********************* Fuel 2.1.10 Pharo 6.1 (#60520) 64bit: 90 seconds Fuel 2.1.10 Pharo 6.1 (#60527) 32bit: 245 seconds *********************
For the record, here the versions of the two (equal) VMs:
VM 32bit: 5.0 5.0.201707201942 Mac OS X built on Jul 20 2017 21:45:23 UTC Compiler: 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53) [Production Spur VM]
VM 64bit: 5.0 5.0.201707201942 Mac OS X built on Jul 20 2017 21:08:05 UTC Compiler: 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53) [Production Spur 64-bit VM]
I didn't expect the 64bit version to be a faster VM generally. What could be the reason here?
We have a special cluster for numbers that when they fit there, the serialization is faster (see #clusterClassForSmallInteger:). If bigger than the allowed range then it follows the slower kind of variable/indexed object. Another possibility could be Floats. Can you check in your debug if you have a cluster (FLSmallIntegerCluster subclass ) with MANY numbers? Else, check with many floats.. I think it should be somehow related to that... Cheers,
Cheers, Andreas
-- Andreas Brodbeck www.mindclue.ch
-- Mariano http://marianopeck.wordpress.com