Оптимизирует ли Python вызовы функций из циклов?

Скажем, у меня есть код, который вызывает некоторую функцию за миллионы раз из цикла, и я хочу, чтобы код был быстрым:

def outer_function(file):
    for line in file:
        inner_function(line)

def inner_function(line):
    # do something
    pass

Это не обязательно обработка файла, это может быть, например, точка отрисовки функции вызывается из линии отрисовки функции. Идея состоит в том, что логически эти два элемента должны быть разделены, но с точки зрения производительности они должны действовать вместе как можно быстрее.

Обнаруживает ли Python и оптимизирует такие вещи автоматически? Если нет - есть ли способ дать ему подсказку? Может быть, использовать какой-нибудь дополнительный внешний оптимизатор? ...

17
задан izhak 30 August 2011 в 12:54
поделиться