SwapMaps rocks. That is all.

No, seriously. I've been thinking about my map handling stuff for the past few days and I was all like "Well, why don't I see what SwapMaps is like, everyone's always suggesting people use it when they talk about dynamic maps." And then after I looked at it, I realized that in my Space Project (Yes, I'm still working on it) I re-invented the wheel... except my wheel was kinda square or triangular shaped and didn't roll very well.
SwapMaps is great and helpful, but the file format that lummox uses can get pretty big. I wish could use SwapMaps with the .dmp file format (As in saving and loading, not just loading).
Efencea employed IainPeregrine.dmp_reader (one might want IainPeregrine.dmp_writer as well) for it's map loading needs.
Vermolius wrote:
Efencea employed IainPeregrine.dmp_reader

As does 'Matar Redondel'.
DMMs get bulky too, very quickly.
SwapMaps as people have said, saves files in a horrible way.
It is great for small maps, but for large maps it is slow and the file sizes are horribly large.

Also, take caution when using SwapMaps. It causes conflicts with the Read/Write procs and makes them catastrophically fail if they attempt to save/load lists with a length of about 250 or longer (including inbuilt lists like contents).

As for dmp_reader/writer. The file size is much better than SwapMaps, and upto a point it is faster than SwapMaps.
But after that point (which is suprizingly small, something like 100x100) it drastically gets slower and slower. At a certain point it basically becomes unusable because it is taking a good several hours to read/write a single map.

My advice is simple. If you want to use dynamic map saving/loading, keep it small scale (200x200 or smaller). BYOND is just not designed to effectively handle maps larger than this, and definately cannot be made to efficiently save/load maps this large.
Its a shame BYOND doesn't have some speedy built-in dmm saving/loading support.