for our Sametime3D build we have some rather script heavy regions (a brainstorming region, a scripted auditorium, and a fairly innocuous open space meeting area). having just installed sean dague’s excellent serverstats module for opensim i decided to compare the two OpenSim script engines, DotNetEngine and XEngine — we knew from first hand experience that DotNetEngine seemed to be more resource hungry, but didn’t really know how resource hungry and how it compared with XEngine.
in both case we had 5 regions running: two theater regions with lots of scripted chairs and a screen object, two brainstorming sessions with lots of little, scripted objects and the one innocuous open meeting space with a screen and a fountain in it. with both test runs i waited until all objects had rezzed and all scripts had been compiled and were started (and in both cases i clean out the bin/ScriptEngine/*/*.{dll,state} files). the base system is a standalone OpenSim system (compiled from subversion r7123).
here are the results:

the graph above shows CPU uses by DotNetEngine (blue area) and XEngine for my 5 region OpenSim. what’s surprising — perhaps even shocking — is the vast difference between DotNetEngine and XEngine. the Y scale is in %, so 2.0K % means, DotNetEngine drove our poor server up to loads of 2000%, whereas XEngine is just barely noticable (in comparison). that difference is confirmed by the next graph:

DotNetEngine (again, red area) seems to guzzle up what it can get, XEngine (again, blue area) is much more “reasonable” in its memory consumption.
very interesting. just from this brief comparison, XEngine seems to win hands down — if, that is, if we manage to get rid of the deadlocks during startup that we see every so often.
