Matlab исполняемый слишком медленный

Я преобразовал программу Matlab в приложение на основе консоли, используя deploytool в Matlab. Файл Matlab .m занимает около 2 секунд для выполнения, но после того, как я преобразовал его в исполняемый файл и вызвал .exe , для выполнения слишком длинного 45 секунд.

Я хочу интегрировать программу Matlab с PHP. Есть ли другой эффективный и быстрый способ сделать это? В моем проекте время – действительно большой фактор (а не время разработки, но время выполнения приложения). Так есть ли какие-то методы, которые занимают меньше времени?

Я видел в Интернете, что мы можем писать расширения PHP для вызова Matlab. Является ли этот метод быстрым или похожим на вызов файла .exe ? Является ли Matlab кодер какой-либо помощью для этого процесса? Если есть альтернативные варианты, укажите это.

Related of "Matlab исполняемый слишком медленный"

Скомпилированный .exe MATLAB будет страдать от накладных расходов при первом запуске, потому что он запускает MCR: Почему мое приложение, скомпилированное с помощью MATLAB Compiler 4.1, занимает много времени, чтобы начать?

Если вы не выйдете из системы или не перезагрузите ОС, MCR останется предварительно загруженным. Еще одно полезное: ускорить запуск скомпилированных приложений .

« Почему мой автономный, созданный с использованием MATLAB-компилятора, занимает больше времени, чтобы начать в первый раз? » Также сообщает, что последовательные прогоны должны быть быстрее, но если вы повторно запустите позже, вам придется перезагрузить процесс в памяти.

Вы можете заключить свой код в tic toc , развернуть его и проверить, сколько времени занимает выполнение, от накладных расходов на запуск.

Альтернативой ускорению использования .exe можно назвать MATLAB с PHP. Если вы удерживаете сеанс MATLAB, вы запускаете один раз один раз. Вы можете запустить MATLAB при запуске, тем самым избегая страдания от накладных расходов во время вызова с помощью PHP.

Для получения дополнительной информации см. « Вызов MATLAB» с PHP , и имейте в виду, что вы не хотите использовать exit если это специально не требуется.

Вызов исполняемого файла, созданного с помощью MATLAB Compiler, будет страдать от накладных расходов по отношению к вызову программы в реальном времени MATLAB, поскольку ему необходимо запустить MCR. Это будет больше при первом запуске, но все равно будут накладные расходы даже после первого раза.

Если у вас есть доступ не только к MATLAB Compiler, но и к одному из продуктов Builder (Builder для .NET или, что, вероятно, лучше, поскольку вы используете PHP-Builder для Java), есть способ обойти это.

Используя продукты Builder, вы можете создать автономный компонент (либо сборку .NET, либо Java .jar). Затем вы можете создать приложение .NET или Java, которое будет запускаться, создать экземпляр вашего компонента, созданного MATLAB, который запускает MCR, а затем сидеть и ждать вызова с вашего PHP. При этом каждый вызов не будет полностью переносить накладные расходы MCR и должен иметь только меньшие накладные расходы от вызова с PHP на .NET / Java.

Как говорили другие, когда вы вызываете исполняемые файлы, там, где загружается исполняемый файл, накладные расходы (действительно большие для MATLAB). Решение? Загрузите его только один раз. Как это сделать? Это сложно и зависит от платформ.

Я думаю, что самый портативный способ сделать что-то вроде создания сервера в matlab (я знаю, что это возможно, но я никогда не пробовал). Поэтому, когда вам нужно его использовать, вы просто подключаетесь к нему и отправляете аргументы.

Взгляните на это: HTTP-сервер в Matlab и это: http://blogs.mathworks.com/loren/2011/05/27/transferring-data-between-two-computers-using-matlab/