Glad to see you are doing some good experimentation to optimize performance, way to go. You're gonna need it with a 700MHz machine. My old machine is a 700Mhz Pentium III. Most of Magma was coded on that, but now I have machine 3X faster (1.3Ghz Pentium-M). I've used that 700 a couple of times since then and.. its a dog.. :)
Reading in the front pier page with some text in it. minimumDepth: 0 takes 45 readGraph operations in: 3408ms minimumDepth: 1 takes 45 readGraph operations in: 4973ms.
I'll be curious if you discover a good "ReadStrategy" strategy. Based on limited testing, my impression is, for best performance, try to retrieve "chunky" objects (like maybe one pier page) in one gulp. I'm not sure what "45 readGraph operations" is but, if that is 45 proxy's materialized, is there any way you can cut it down to <5, ideally 1.
When the user is done with a page, stub it out to save memory and Magma can maintain reasonably small dictionary's.
- Chris