[ TrieKeyExists ] vs [ equal ] vs [ equali ]
Posted: Tue Oct 13, 2026 5:24 pm
After seeing a bunch of plugins unnecessarily using the equali() native,
I thought maybe disclosing this information can be useful for some serious server operators
who are focused on highest FPS and lowest latency.
Profiling Results
TrieKeyExists( tProfile, "walker" );
flTime: 0.003065
equal( sz, "walker" );
flTime: 0.001311
equali( sz, "walker" );
flTime: 0.020653
Avoid using equali(), it's expensive.
This native should be used instead of equal() only when needed, e.g., "This Could Be All Caps".
Use TrieKeyExists() when checking equal() 3 times or more for the same string.
I thought maybe disclosing this information can be useful for some serious server operators
who are focused on highest FPS and lowest latency.
Profiling Results
TrieKeyExists( tProfile, "walker" );
flTime: 0.003065
equal( sz, "walker" );
flTime: 0.001311
equali( sz, "walker" );
flTime: 0.020653
ConclusionResult: equal performed 15.75 times faster than equali, and 2.33 times faster than TrieKeyExists.
Avoid using equali(), it's expensive.
This native should be used instead of equal() only when needed, e.g., "This Could Be All Caps".
Use TrieKeyExists() when checking equal() 3 times or more for the same string.