mocha.js
すべてが正常に機能することを確認するために実行するテストスイートがあります。必要なモジュールごとに、テスト時間が約100ミリ秒長くなっていることに気付きました。そして、それは8GBのメモリを備えた強力なクアッドコアマシン上にあります。
呼び出しの実際のコストはrequire
どれくらいですか?それはアプリケーションのパフォーマンスに影響しますか、それともテストのパフォーマンスにのみ影響しますか?
ノードのバージョンは0.8.11
、それが関連する場合です。
mocha.js
すべてが正常に機能することを確認するために実行するテストスイートがあります。必要なモジュールごとに、テスト時間が約100ミリ秒長くなっていることに気付きました。そして、それは8GBのメモリを備えた強力なクアッドコアマシン上にあります。
呼び出しの実際のコストはrequire
どれくらいですか?それはアプリケーションのパフォーマンスに影響しますか、それともテストのパフォーマンスにのみ影響しますか?
ノードのバージョンは0.8.11
、それが関連する場合です。
Requireは静的分析中に実行されないため、非常にコストがかかります。同期的に実行するいくつかのことを実行する必要があり、プログラムを未定義の期間ブロックします。
require
トップレベル以外のコードでは使用しないでください。実行時間の増加という代償を払う準備ができていない限り、テストの前にすべてを要求してください。
非常に古いNode.JSには非同期バージョンがありましたがrequire
、残念ながら現在はそうではないようです。