[PennMUSH] Function Invocation limits
Suzanne Baylor
artifact at dsl-only.net
Sun Jan 28 16:50:13 PST 2007
The hardcode issue: Setting function_invocation_limit to anything 8192
or to 0, the server seems to assume 0 or 1 and all code gives errors.
This was 1.8.2 p2 and an clean install of 1.8.3. Looking at the help 0
should be 'unlimited'.
For the softcode:
I'm getting close to the upper wall in function invocation .. it'll
error at 8000 but not at 8192. The function will only run a few times
daily (if that) on a newer machine with a gig of ram so I'm not
concerned about resources. I'm more concerned it'll get to 8193 and I'll
be stuck. So.... any suggestions on how to do this another way if I end
up hitting the wall?
F.CHECK.PREREQ #=
[iter(get([v(ogl_db)]/d.feat.prereq),[iter([get([v(ogl_db)]/
d.feat.prereq.##)],[setq(F,
%qF%b[u([v(ogl_misc)]/f.check.type.[extract([get([v(
ogl_db)]/d.prereq.[first(%i0, :)])], 4, 1,
|)],[get([v(ogl_db)]/d.prereq.[first(
%i0, :)])])])])][if(gte(member(%qF, 0), 1),,[setq(P,%qP%b##)])][setq(F,
)])][set(get(%#/d.sheet),list.feats:[squish(unique(sort(%qP)))])
I like the nested iters as they are automated and far more readable than
doing it with a ton of if/else statements or switches. d.feat.prereq has
the potential to be large in the future. d.feat.prereq.## should have a
max of 5 or 6 sub items.
More information about the PennMUSH
mailing list