m |
m |
||
Line 9: | Line 9: | ||
When calling any form of command or identifer mIRC attempts to find a scripted version prior to looking for native functionality. This can be bypassed by prefixing commands with ! and by inserting a ~ after the $ of identifers | When calling any form of command or identifer mIRC attempts to find a scripted version prior to looking for native functionality. This can be bypassed by prefixing commands with ! and by inserting a ~ after the $ of identifers | ||
− | |||
− | echo -a This bypasses mIRC looking for a | + | This bypasses mIRC looking for a scripted echo alias |
+ | <syntaxhighlight lang="mirc">!echo -a example</syntaxhighlight> | ||
+ | |||
+ | This bypasses mIRC looking for a scripted echo alias<sup>1</sup> | ||
+ | <syntaxhighlight lang="mirc">echo -a $~me</syntaxhighlight> | ||
<sup>1</sup>: Even though mIRC will use its own native identifers over aliases of the same name, there is still some pre-evaluation that can be bypassed using the above method. | <sup>1</sup>: Even though mIRC will use its own native identifers over aliases of the same name, there is still some pre-evaluation that can be bypassed using the above method. | ||
Revision as of 21:12, 15 December 2015
mIRC is not considered a fast language and, more often than not, the easiest implementation is not the fastest.
The following tips will help to increase the execution speed of a script. Most will have a very marginal speed advantage and may not be worth consideration outside of long-running script blocks such as loops.
Contents
Custom alias bypassing
When calling any form of command or identifer mIRC attempts to find a scripted version prior to looking for native functionality. This can be bypassed by prefixing commands with ! and by inserting a ~ after the $ of identifers
This bypasses mIRC looking for a scripted echo alias
!echo -a example
This bypasses mIRC looking for a scripted echo alias1
echo -a $~me
1: Even though mIRC will use its own native identifers over aliases of the same name, there is still some pre-evaluation that can be bypassed using the above method.
Conditional Syntax
Best to worst:
if (condition) command if condition { command } if (condition) { command }
if-else vs $iif()
$iif() is much slower than using an if-else statement. When $iif() is evaluated it is first rearranged into an if-else statement and the resulting if-else statement is parsed.
Best to worst:
var %result = condition_false_value if (condition) var %result = condition_true_value if (condition) var %result = condition_true_value else var %result = condition_false_value var %result = $iif(condition, condition_true_value, condition_false_value)
/tokenize & $n vs $gettok()
For successive calls against the same data, it is faster to use /tokenize and $n over $gettok().
[]'s vs $() vs $eval
Best to worst:
[ eval_statement ] $(eval_statement, 2) $eval(eval_statement, 2)