Just so you know, MacRuby is not production-stable (yet). If you need something for production I don't think MacRuby is a good idea right now. That said, I wanted to respond to this part of your message: On Jul 30, 2008, at 8:08 PM, Greg Willits wrote:
One of the problems I have with the MRI is rather slow performance when reconstituting serialized data. I was hoping I could pre-process a bunch of data, serialize it, store to disk, and recall it as needed.
One example is 11MB of text data that I load and reorganize into an array of hashes (45,000 rows, about 20 fields). Marshaled to disk that's about 11Mb of data as well. It takes several seconds (depending on platform) to rebuild that. Also reloading that, MRI consumes vastly more RAM than just the 11MB. I'm wondering if MacRuby would perform any better? That file is one of hundreds ranging from 1MB to 120MB (with 20-30MB being average) that would be loaded during processing, and many of them need to be resident in RAM at the same time along with the WIP data structures.
Having done a lot of this type of stuff I would recommend that you don't Marshal your data but "serialize to source" I usually have to_ruby methods on my objects that write out source that would reconstitute them. I found that its WAY faster (like 10x) to parse in generated source then Marshal.load. If you want to talk more about this feel free to email me directly off-list. Best, Rich