Почему октава медленнее, чем MATLAB?

Я использовал Octave и MATLAB для нескольких проектов, и я столкнулся с несколькими вопросами. Этот вопросПочему / когда я должен предпочесть MATLAB, а не Octave?) ответил несколько, но есть еще один затяжной ...

Я прочитал несколько публикаций / других источников, сравнивающих производительность Octave и MATLAB, и я провел некоторые из моих собственных тестов на стандартных сценариях, которые подтверждают общее мнение, что Octave, как правило, намного медленнее, чем MATLAB для стандартных операций (повторяется, конечно, так что сравнение имеет смысл).

Консенсус также, по-видимому, предполагает, что большая часть прироста производительности MATLAB обусловлена его JIT-компилятором, который компилирует большие циклы во время выполнения. Это имеет смысл, и самые большие различия в производительности возникают в этих случаях (например,Математика Матлаб против Гну Октавы)

Мой вопрос заключается в следующем: почему в векторизации код векторизации также работает медленнее? Похоже, что в этом случае память должна быть выделена перед циклом, и какой-то собственный цикл C / C ++ должен выполнить операцию, которая бы уравняла производительность между Octave и MATLAB для векторизованного кода. Кроме того, имеет ли это более широкие последствия, то есть что Octave может работать хуже для сложных операций, даже если код написан так, что JIT-компилятор не нужен / не используется?

Ответы на вопрос(2)

Ваш ответ на вопрос