i want to find the fastest, leakless way to execute a function stored in a variable
i splitted it into 3 sub-question:
1. whats the fastest way to execute a boolexpr?
2. whats the fastest way to execute a code? (code is a bit problematic actually because you can neither create code arrays nor save code in a hashtable)
3. is ExecuteFunc faster?
i allready made lists of all native functions, take take boolexpr/code as parameter
i currently tend to ForceEnumPlayersCounted
functions that take boolexpr as parameter (including those who dont actually execute the boolexpr):
functions that take code as parameter (including those who dont actually execute the code):
i splitted it into 3 sub-question:
1. whats the fastest way to execute a boolexpr?
2. whats the fastest way to execute a code? (code is a bit problematic actually because you can neither create code arrays nor save code in a hashtable)
3. is ExecuteFunc faster?
i allready made lists of all native functions, take take boolexpr/code as parameter
i currently tend to ForceEnumPlayersCounted
functions that take boolexpr as parameter (including those who dont actually execute the boolexpr):
JASS:
native GroupEnumUnitsOfType takes group whichGroup, string unitname, boolexpr filter returns nothing
native GroupEnumUnitsOfPlayer takes group whichGroup, player whichPlayer, boolexpr filter returns nothing
native GroupEnumUnitsOfTypeCounted takes group whichGroup, string unitname, boolexpr filter, integer countLimit returns nothing
native GroupEnumUnitsInRect takes group whichGroup, rect r, boolexpr filter returns nothing
native GroupEnumUnitsInRectCounted takes group whichGroup, rect r, boolexpr filter, integer countLimit returns nothing
native GroupEnumUnitsInRange takes group whichGroup, real x, real y, real radius, boolexpr filter returns nothing
native GroupEnumUnitsInRangeOfLoc takes group whichGroup, location whichLocation, real radius, boolexpr filter returns nothing
native GroupEnumUnitsInRangeCounted takes group whichGroup, real x, real y, real radius, boolexpr filter, integer countLimit returns nothing
native GroupEnumUnitsInRangeOfLocCounted takes group whichGroup, location whichLocation, real radius, boolexpr filter, integer countLimit returns nothing
native GroupEnumUnitsSelected takes group whichGroup, player whichPlayer, boolexpr filter returns nothing
native ForceEnumPlayers takes force whichForce, boolexpr filter returns nothing
native ForceEnumPlayersCounted takes force whichForce, boolexpr filter, integer countLimit returns nothing
native ForceEnumAllies takes force whichForce, player whichPlayer, boolexpr filter returns nothing
native ForceEnumEnemies takes force whichForce, player whichPlayer, boolexpr filter returns nothing
native TriggerRegisterEnterRegion takes trigger whichTrigger, region whichRegion, boolexpr filter returns event
native TriggerRegisterLeaveRegion takes trigger whichTrigger, region whichRegion, boolexpr filter returns event
native TriggerRegisterPlayerUnitEvent takes trigger whichTrigger, player whichPlayer, playerunitevent whichPlayerUnitEvent, boolexpr filter returns event
native TriggerRegisterFilterUnitEvent takes trigger whichTrigger, unit whichUnit, unitevent whichEvent, boolexpr filter returns event
native TriggerRegisterUnitInRange takes trigger whichTrigger, unit whichUnit, real range, boolexpr filter returns event
native TriggerAddCondition takes trigger whichTrigger, boolexpr condition returns triggercondition
native EnumDestructablesInRect takes rect r, boolexpr filter, code actionFunc returns nothing
native And takes boolexpr operandA, boolexpr operandB returns boolexpr
native Or takes boolexpr operandA, boolexpr operandB returns boolexpr
native Not takes boolexpr operand returns boolexpr
functions that take code as parameter (including those who dont actually execute the code):
JASS:
native ForGroup takes group whichGroup, code callback returns nothing
native ForForce takes force whichForce, code callback returns nothing
native EnumDestructablesInRect takes rect r, boolexpr filter, code actionFunc returns
native TimerStart takes timer whichTimer, real timeout, boolean periodic, code handlerFunc returns nothingnothing
native Condition takes code func returns conditionfunc
native Filter takes code func returns filterfunc
native TriggerAddAction takes trigger whichTrigger, code actionFunc returns triggeraction