I want SI to be playable using reasonable system specs; I have a quad-core 3GHz processor, & I dedicate 3GB to the game; it starts to get slow in SSP (the game sort of stops while chunks load, drops take time to appear) if I have more worldgen, at least on my system.
Memory / garbage collection issues, perhaps?
Try this startup string, and see if it makes a difference.
-Xms1080m -Xmx3300m -XX:MaxPermSize=250m
-XX:NewSize=800m -XX:MaxNewSize=800m
-XX:+UseConcMarkSweepGC -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses -XX:MaxHeapFreeRatio=25 -XX:MinHeapFreeRatio=22 -XX:CMSInitiatingOccupancyFraction=80 -XX:-CMSPrecleaningEnabled
-XX:SurvivorRatio=3 -XX:TargetSurvivorRatio=80 -XX:MaxTenuringThreshold=5
-XX:SoftRefLRUPolicyMSPerMB=1
-XX:+PrintTenuringDistribution -XX:+PrintCommandLineFlags -XX:+PrintHeapAtGC -XX:+PrintGCDetails -Xloggc:GC.log -XX:+PrintGCDateStamps
(Join the newlines together if it does not paste properly)
Summary:
1. Memory size. Start with enough to get running, resize as needed.
2. "NewSize": On the Mac, it will not auto-adjust, despite the manual's claim. I don't know if it auto-adjusts on windows/linux or not. The goal here is about 30 seconds of life before promotion to tenured on longer-lived objects. (NB: I have not tested a goal of 45 seconds, which is the save-game frequency. There is a huge advantage of targeting 30 seconds over the typical 5 or so seconds.)
3. CMS collection. For a quad-core (or even a 2+2 dual core), this lets the extra cores do GC without slowing down the game.
4. SoftRef: Work around a language bug that won't flush caches properly.
5. Logging (feel free to remove if desired).
Memory is just one of the two issues. Minecraft is a worst-fit for the default garbage collector assumptions.
The other issue would be forcing optimized re-compiles of the often-used routines. Ask Eyamaz about that -- he's been working on those flags.
"-XX:SurvivorRatio=3" is a good compromise. Client, dedicated server, and single-player, all want different levels here! (Heck, they want different almost-everything). For dedicated server, 4 or 5 may be better.
(I have not tested G1GC on J8; on J7, it became a "gobble all the memory you can", plus "no real limit on CPU consumption". I could not keep it tamed. Throughput collector causes too many significant game freezes.)
EDIT: Also, make sure your server view or render distance is 10. At 10, you need load load/save 21 chunks every time you cross a chunk border, at 16 you load/save 33 chunks each time. If you are having slow worldgen, going from 33 chunks generated down to 21 chunks generated is a huge improvement.