Некоторые интерпретаторы держат в памяти таблицу имён всех функций, классов, переменных и т.д. для всех установленных модулей (плагинов). Это приводит к тому, что интерпретатор загружается и обрабатывает скрипты тем дольше, чем больше таких расширений установлено.
Для сравнения: в python нужно явно указывать какие нужны модули (import mudule_name), в php автоматически загружаются все модули, указанные в php.ini.
Octave во всех дистрибутивах, с которыми я имел дело, по умолчанию загружает все установленные модули, но имеется возможность это отключить. Достаточно вызывать octave таким образом:
octave --no-site-fileили даже таким
octave --no-site-file --norc --no-init-fileто есть без всяких настроек модули в таком случае, нужно загружать при помощи команды pkg:
pkg load нужный_модульТеперь octave запускается существенно быстрее
Пример файла-скрипта:
#!/usr/bin/env octave --silent --no-site-file --no-history pkg load audio Freq = 44*1000; % Частота несущей в герцах Time = 5; % Продолжительность звучания t = 0 : 1/Freq : Time; % Вектор значений времени w = sin(2000 * sin(t)); % Передаваемый сигнал y = sin(f*t + w); % Фазовая модуляция сигнала sound(y, Freq) % воспроизведение
Комментариев нет:
Отправить комментарий