Learning that $ialchan builds a new array with each call, I wish to request a feature suggestion.

Assumption. Changes to the IAL are impossible during the scope of an Alias or Event.

Suggestion 1: Build $ialchan's temporary table only once for the duration of an Alias/Event, instead of destroying it after each call to $ialchan.

Suggestion 2: Build temporary $ial() and $ialchan() numeric iteration arrays for the duration of an Alias/Event, based on the wildcard pattern specified for nick/address.

Suggestion 3: Only destroy these temporary tables and arrays after a change to the IAL actually happens, allowing them to persist across multiple Aliases and Events.

These more-persistent tables and arrays should really speed up performance for $ialchan in general, and all wildcard calls to $ial and $ialchan. Eg, iterating through $ial(*,%i) would show rapid improvements since it need only roll through a 1-dimensional array instead of re-traversing through the whole linked-list hash table with each iteration.


Well. At least I won lunch.
Good philosophy, see good in bad, I like!