Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

which version of VM on Linux

Which version of VM should be used on Linux for Pharo/Seaside?
If I'm not mistaken, the one loaded by apt-get (and referenced in seaside book) is Squeak VM.
Should this be preferred to Cog-VM? If yes, why?

like image 250
wmz Avatar asked Oct 05 '22 10:10

wmz


1 Answers

In the case of Seaside you may download a pre-compiled Pharo image from the Seaside website (they are called "One-Click experience") which is the easiest way to run the image. The VM distributed in the Seaside One-Click is a CogVM.

There are basically three VMs in the Squeak and Pharo world:

  • StackVM: Implements optimized closures and context-to-stack mapping
  • CogVM: StacVM + JIT (Just-In-Time compilation) + PIC (Polymorphic Inline Caches)
  • CogVMMT: CogVM + Multi-threading

You may want to try checking the latest CogVM for Linux from the Pharo website too. The very latest are in the developer's website.

From my experience, I've found CogVMs are really faster than StackVM, although unstable for doing big data (reading and processing 2TB of CSV's) or debugging complex flows. That doesn't mean that you cannot run big data projects, but just sometimes could fail depending on how far are you going. On the other side, StackVMs are more mature and is the best place to learn how to modify the VM because the focus of CogVM is towards optimizations.

like image 59
Hernán Avatar answered Oct 10 '22 03:10

Hernán