Has this RamDisk solution worked out in the long run?
An order of magnitude gain in save times would really be nice, and I'm hoping that using a RamDrive might provide that.
As mentioned earlier differential saves make me nervous as well. I've never done any testing but it has been my suspicion that the real bottleneck in saves is write speed.
I absolutely love the RunUO serialization, and the absolute integrity/consistency provided by it. It's very well optimized and blazingly fast for what it's doing (RunUO 2.0 ).
I've done a lot of optimizing of the item and mobile serialization (mostly removal of AoS data), but in the end the modifications were not really worth the time, and only served to make my codebase more incompatible with the trunk :/
Possible rambling:
One other solution that I'd been considering is a region by region save. That is, lock each region sequentially and save it; I'm not sure if the overhead that would be involved in preventing updates, or enters/exits to mobiles in that region would overcome the gains though. Another thought I had was to lock the internal map and save it first, in some other (likely complex) form of locking scheme. Neither of these solutions would be very easy, the latter probably addresses the problem best, as in my experience anyway the far majority of objects reside on the internal map (logged out players equip, banks).
Humbly, I think the rule of thumb that the simpler code is the better code (even if it's slower) really applies here, as there is nothing more critical to a UO shard than its data.