Если вы попытаетесь сначала запустить функцию, вы увидите, что цикл внутри функции теперь занимает больше времени.
Это связано с тем, как работает механизм V8, который компилирует JavaScript, а не только с кодом.
Под покровами сделано много оптимизации, чтобы сделать код javascript быстрее. Одним из них является оптимизирующий компилятор .
Это изображение может помочь вам понять, как работает рекомпилятор:
Изображение из видео: https: // www. youtube.com/watch?v=p-iiEDtpy6I&t
Чтобы создать ссылку на архивную библиотеку (иногда также называемую статической библиотекой), просто добавьте ее в строку ссылки:
gcc main.o ... -lfoo ...
Компоновщик будет искать libfoo.dylib, а затем libfoo. a, и это все, что вам нужно.
Если у вас есть обе версии библиотеки, и вы хотите связать с архивной версией вместо динамической, просто укажите полный путь к архиву на строка ссылки:
gcc main.o ... /path/to/libfoo.a ...
К сожалению, не поддерживается . Некоторые люди сообщили, что можно вручную скомпилировать crt0, но никто не подтверждает это .