asilyator, касательно вашего примера - psyco не поможет. Регулярные выражения реализованы в _re (а re - тонкая обертка сверху), который написан на С.
Ускорять там нечего - нет кода на Питоне.
Теперь про psyco вообще. Не люблю.
1. Не работает на 64 битных системах - и никогда не научится. Проект мертв.
2. Делать psyco.full() попросту нельзя - нужно находить тонкие места и указывать компиляцию только выборочных функций.
Надеюсь, вы уже научились использовать питоновский профайлер?
3. Далее. Даже зная те 3% (я не согласен с оценкой автора статьи в 10% - слишком много) кода, которые стоит оптимизировать - не уверен, что psyco лучший выход.
Я поступаю так: через dis.dis смотрю на дизассемблер байткода проблемных функций. При некоторой сноровке читается легко и дает много открытий чудных.
Кое-какая оптимизация может быть сделана в самом питоновском коде.
Например
for i in range(100):
a.b.c.f(i)
меняется на
f = a.b.c.f
for i in range(100):
f(i)
и оно сильно помогает.
Далее берем Cython (
http://www.cython.org/) и переносим функцию в pyx файл. Правим, внося объявления типов где нужно. Получаем максимальную теоретически достижимую для psyco скорость.
Смотрим на результат (cython -a xx.pyx). Правим, пока не почувствуем облегчение.
Вообще говоря, оптимизация - сложная и комплексная штука. Первые шаги я описАл.