[Newbies] Is Squeak/Pharo an appropriate language choice?

Levente Uzonyi leves at elte.hu
Thu Oct 31 18:40:15 UTC 2013

On Thu, 31 Oct 2013, Charles Hixson wrote:

> I'm contemplating a project that would benefit greatly by a persistent memory 
> image, though I'll eventually (in a year or so) need the 64-bit image, but:
> The image will be a lot larger than RAM.  It would include a directed graph

The current garbage collector is not suitable for large images. GC delays 
become noticable when the image grows over a few hundred MBs. Eliot is 
working on a better one, but we don't know how it performans until it's 

I don't see how your image could be a lot larger than RAM. It's 
technically possible, but it's pretty likely that it would be too slow to 
be practical.

> that had an index of a million or so entries, and most nodes wouldn't be 
> indexed.  So in order to even load it would need to use some sort of lazy 
> access.  And I'm not even sure that a Dictionary of over a million items is 
> reasonable.  (Naturally none of the examples address this problem.)

The perfomance of Dictionary mainly depends on the implementation of 
#hash and #= of the objects you want to store in it.

> Additionally, all of my (written) documentation is so old that it doesn't 
> even discuss multi-processor systems, so I don't know whether modern 
> Smalltalks make any use of additional available processors.

Squeak/Pharo don't support them from a single image. There are 
experimental VMs designed for multi-processor systems (RoarVM, HydraVM), 
but AFAIK none of them is ready for production use.

> I'd really like some advice, and possibly some references.  I know that 
> Smalltalk has the reputation for being slow (yes, I've been reading about the 
> recent speed-ups), but much of what I'd need to write in any other language 
> seems like it may already be present in Smalltalk, so if it would work, I'd 
> like to choose it.  But I won't be able to test this until the application 
> has been running for quite awhile, so I would be very desirable that I know 
> ahead of time.

It's hard to tell more without knowing more details about the project.


P.S.: you might want to check out GemStone/S 

> -- 
> Charles Hixson
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners

More information about the Beginners mailing list