I remember there was a discussion about that somewhere but I can't find it. I cc vm-dev they may have a clue.

When copying a pointer object in 64 bits instead of 32 bits, you need to copy twice many data, so it is going to be slower in any case. 2.63 times slower seems to be too much however.

The latest Pharo 64 bits image can be found here: https://ci.inria.fr/pharo/job/Pharo-6.0-Update-Step-3.1-64bits/

The latest Pharo 64 bits VM can be found here: https://bintray.com/opensmalltalk/vm/cog

Best,

On Sun, Feb 5, 2017 at 1:27 PM, Ciprian Teodorov <ciprian.teodorov@gmail.com> wrote:
Hi all,

I'm very happy to see that the 64 bit Pharo vm is progressing.
I've even managed to get a ~6.85 GB heap allocated (see http://bit.ly/2lbp8n6).
This is great!

There seems however to be a small problem with the #shallowCopy message, which is 2.63 times slower on the 64bit VM (image/vm details bellow).

The bench that I used is a simple random graph analysis tool that is intended to do a lot of random memory accesses on big heaps, which is accessible at http://www.smalltalkhub.com/#!/~CipT/PlugMC
In this case I expect the execution time to be dominated by the Set implementation (which is the case with pharo 5 -- see http://bit.ly/2lbzJhd), and not by the array copy (see http://bit.ly/2kvbqvy).

Is this a 64bit limitation, or only a feature "not yet available" ?
Where can I access the latests versions of 64 bit pharo image and vm ?

Image
-----
/Users/ciprian/Downloads/Pharo64/60371-64/Pharo64-60371.image
Pharo6.0
Latest update: #60371
Unnamed

Virtual Machine
---------------
/Users/ciprian/Downloads/Pharo64/Pharo 4.app/Contents/MacOS/Pharo
CoInterpreter * VMMaker.oscog-eem.2111 uuid: 7c02b557-bdcc-4a91-92b1-7fc15f1e8605 Jan 27 2017
StackToRegisterMappingCogit * VMMaker.oscog-eem.2111 uuid: 7c02b557-bdcc-4a91-92b1-7fc15f1e8605 Jan 27 2017
VM: 201701271449 https://github.com/pharo-project/pharo-vm.git $ Date: Fri Jan 27 15:49:20 2017 +0100 $ Plugins: 201701271449 https://github.com/pharo-project/pharo-vm.git $

Mac OS X built on Jan 27 2017 15:28:14 UTC Compiler: 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)
VMMaker versionString VM: 201701271449 https://github.com/pharo-project/pharo-vm.git $ Date: Fri Jan 27 15:49:20 2017 +0100 $ Plugins: 201701271449 https://github.com/pharo-project/pharo-vm.git $
CoInterpreter * VMMaker.oscog-eem.2111 uuid: 7c02b557-bdcc-4a91-92b1-7fc15f1e8605 Jan 27 2017
StackToRegisterMappingCogit * VMMaker.oscog-eem.2111 uuid: 7c02b557-bdcc-4a91-92b1-7fc15f1e8605 Jan 27 2017


Cheers,
--
Dr. Ciprian TEODOROV
Enseignant-chercheur
ENSTA Bretagne

tél : 06 08 54 73 48

mail : ciprian.teodorov@gmail.com
www.teodorov.ro