История изменений
Исправление den73, (текущая версия) :
Ну, я не настолько доктор, но я бы:
1. Глянул сюда http://benchmarksgame.alioth.debian.org/u64q/program.php?test=regexredux&...
2. Все параметры, какие можно, превратил бы в константы, а для переменных сойдёт sb-ext:defglobal (внимательно прочитать мануал).
3. Наверное, ты не забыл поставить optimize, но на всякий случай.
4. Возможно, что замена консов на вектор помогла бы.
5. Насчёт скорость и keyargs, есть deftransform (см. определения position - среди них найдётся он). Можешь попробовтаь поставить внутрь этого deftransform-а какой-нибудь print и посмотреть, что выйдет.
6. Убедись, что у тебя simple-array, а не просто vector, vector может быть богатым и с гораздо более медленным доступом .
Исходная версия den73, :
Ну, я не настолько доктор, но я бы:
1. Глянул сюда http://benchmarksgame.alioth.debian.org/u64q/program.php?test=regexredux&...
2. Все параметры, какие можно, превратил бы в константы, а для переменных сойдёт sb-ext:defglobal (внимательно прочитать мануал). 3. Наверное, ты не забыл поставить optimize, но на всякий случай. 4. Возможно, что замена консов на вектор помогла бы. 5. Насчёт скорость и keyargs, есть deftransform (см. определения position - среди них найдётся он). Можешь попробовтаь поставить внутрь этого deftransform-а какой-нибудь print и посмотреть, что выйдет. 6. Убедись, что у тебя simple-array, а не просто vector, vector может быть богатым и с гораздо более медленным доступом .