А что, действительно сильно тормозит? ИМХО, по сравнению с прочими накладными расходами на формирование параметров и вызов апишных функций - это капля в море.
Хотя, с другой стороны, если диалект везде передаётся как отдельный параметр функции, а не в общем блоке, то можно и так сделать.