Acho que a resposta é que
e
na maioria dos casos está localizado no início das strings escaneadas e na primeira string pesquisada, permitindo um curto-circuito nas condições OR, enquanto corresponde a k
acontecer nas últimas condições e em algum lugar no final da string. E como há significativamente menos linhas com k
, mais strings devem ser verificadas completamente sem nenhuma correspondência.