option 1
Code:
alias myalias.one { 20 lines of code }
alias myalias.two { 20 lines of code }
alias myalias.three { 20 lines of code }

option 2
Code:
alias myalias.* {
  if ($1 == one) { 20 lines of code }
  elseif ($1 == two) { 20 lines of code }
  elseif ($1 == three) { 20 lines of code }
}


FOR /myalias.three

option one the alias name locator runs, and said 20 lines of code are pharsed.

option two the alias locator runs, and 1 IF statment is evaluated , 20 lines passed over, 2nd IF evaluated, 20 lines passed over, 3rd IF evaluated, 20 lines of code are pharsed.

I feel that there maybe some pharsing envolved in passing over the 20 lines, even if not there is still 3 IF evaluations to do.

Also since ALIAS BLAH.one is a legal alias name, the alias locator would need to make a full pass over all alias and remotes files, looking for BLAH* and also BLAH.one, since it would only run BLAH* if no blah.one alias existed.

I well acknowledge I have no real knowledge of how the internal workings of mirc work to locate aliases, but since u can add them to files on the fly and effect the alias files on the fly , i would hazzard a guess that each call produces a sweep through all alias and remote files.