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 ready.
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.
Levente
P.S.: you might want to check out GemStone/S http://gemtalksystems.com/index.php/products/gemstones/
-- Charles Hixson
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners