2017-01-25 4 views
1

データベースに格納する前に、他のデータに加えてユーザー・パスワードをハッシュするNodeJSサーバーをスクリプトしています。安全なハッシュを作成する数学的に激しいプロセスと、実行する必要がある大量のハッシングのため、私はCでハッシュプロセスをコーディングすることにしました。NodeJS:ネイティブ・アドオンと外部バイナリのパフォーマンス

私の質問はどれくらいですか? NodeJSのネイティブアドオンを作成するのではなく、child_process.exec経由でCでコーディングされたハッシングプロセスを実行することによって、

I.E.データの一部をハッシュする必要があるたびに、データの部分を引数としてchild_process.execを呼び出す必要があります。

+0

https://stackoverflow.com/questions/28267794/advantages-of-node-js-addon-vs-child-process – AllTheTime

+0

ネイティブアドオンを作成すると、本質的にパフォーマンスが向上することがわかりました。私の質問はどれくらいですか同等の機能が実行されていると仮定した場合のリソースオーバーヘッド/処理時間に関しては、native_addon対child_process.execの方がパフォーマンスが良い。 – nicktendo

答えて

1

既存のノードプロセスでコードを実行するだけの場合と比べて、子プロセスを生成するにはかなりのオーバーヘッドがあります。 2つのプロセスをstdioを介して接続して通信する必要があります。具体的にするには、ユースケースのために自分でテストする必要があります。テストする1つの方法は、ネイティブのハッシングライブラリを見つけて、Cの子プロセスに対してテストすることです。

これは、毎秒何百人ものユーザーにサインアップしていない限り、子プロセスを使用する場合のパフォーマンスのオーバーヘッドは完全に無視できることです。ノードでハッシュを行うだけで、違いを気付かない可能性もあります。

実際には、すでにネイティブモジュールであるため、nodeに含まれている 'crypto'モジュールを使用するだけです。

https://stackoverflow.com/a/17201493/3355076には簡単な例があります。

関連する問題