ID:2113834
 
Descriptive Problem Summary:

DreamDaemon freezes when you hit GO. It also freezes the same amount of time on a Restart() (This is a well known issue) Recently this freeze has gone from 1 minute, to 8.5 minutes. Since I know that the actual world.dm is not the cause of this freeze, I would like to know what the cause of this freeze is so that I can take steps to reduce it's length.

Numbered Steps to Reproduce Problem:

Hit Go, get out stopwatch.

Code Snippet (if applicable) to Reproduce Problem:
world/new()


Expected Results:

dreamdaemon freeze lasting anywhere from 30 seconds to 15 minutes depending upon circumstances that I am unaware of. (I would like to know what directly affects the length of this pause.)
This freeze occurs and ends before world/new is even called... so what causes it?
I do a lot of optimizations in my time and what I can tell you is that world/new() is not the first event that occurs when you press 'go' to start you world, I'm fairly sure world/new() isn't even called until the first time someone connects.

At that time it is creating the entire map by placing every object and calling new() on all of them, as well as creating all global variables.

The reason your time has expanded insanely is that you have put something EXTREMELY expensive in the new() in at least one of your areas/turfs/objects/mobs.
If world/new() is not the first thing that is called... then what is?
Load order goes something like this after you press 'go'

1. Global variable initializations
2. Map initialization (new()-ing all things on the map, in order of A.T.O.M.)
3. Game waits until someone logs on
4. world/new()
Thanks guys! I had a suspicion it was the map.