Quote:
Originally Posted by Cantus
Derision,
Excellent information there. I apologize that I don't have the code in front of me... are the rule-checking functions inline? In other words, does the ASM that you posted also take into account function call overhead, unwinding the stack, etc. that would result from invoking a non-inline function?
|
The rule checking functions are declared inline, however I discovered that if zone is built using the 'debug build' in VC++ 2008, with optimisations disabled, the function is not actually inlined and is compiled as a subroutine and accessed via a CALL. With Optimise for speed selected, the function is inlined and there is no subroutine call. I didn't check what GCC produces under Linux as I don't have any experience in dissasembly in that environment.
Quote:
Though your point that the rule is queried from the DB only when a zone first boots is important for folks like ChaosSlayer to remember. If you toggle Damage Bonuses on or off in the DB, you'll have to reboot the zone for it to take effect.
|
I was simplifying things a bit, what I should have said was that there is no further DB access for rules, unless you issue the #rules reload command to force them to be re-read.