質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

解決済

2回答

846閲覧

nodejs express java jax-rsの比較

makibi5577

総合スコア112

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

1クリップ

投稿2017/11/25 03:03

編集2017/11/25 03:29

nodejs expressとjava jax-rsの比較してどちらでRESTAPIを作成しようか迷っていました。

javaのほうがパフォーマンスが出るだろうと考えていたのですが
nodejsのほうが20%高速という記事がありました。

言語的な速度ではjava > javascriptという認識なのですがnodejsはなぜ高速になるのですか?

私が見た記事は以下の2つです
https://dzone.com/articles/performance-comparison-between
https://blog.virtualzone.de/2012/09/benchmark-restful-service-performance.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

momf

2017/11/25 03:20

記事のURLなど貼れますか?
guest

回答2

0

ベストアンサー

速度は抜きつ抜かれつみたいなところがあるし、処理によってはJava優位な面もあると思います。

 node.jsのイベントループの強みはsetTimeOutの引数値をOSに即座に送って、それに優先順位をつけるみたいな柔軟性があるところやDB処理の間も別のタスク処理ができたりってとこだと思います。

特にv8.0.0より前とか単純な文字列操作のメソッド群もないぐらいシンプルな作りですからね。それだけ速度は出る場合もあるかと思います。

 短い時間で大量のpostリクエストを捌くのであればGolangとAWS SQSの組み合わせとかでしょうし、まぁケースバイケースでしょうね。

投稿2017/12/16 17:02

imamoto_browser

総合スコア1161

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makibi5577

2017/12/20 10:30

回答ありがとうございます。
guest

0

実装する処理によってはJavaScriptの方が早いものもあり得ると思います。
Javaの初期化処理がオーバーヘッドとして無視できない軽量な処理や、リンク先のようにJava側は文字列をJSON変換する必要があったりといった形で求める結果を得るために必要なステップが多くなるといった場合です。

リンク先の比較は、Java側の実装が最適化されていないようにも見えましたので、単純に鵜呑みにすることはできないようにも思いますが、あらゆる場面で速いプログラミング言語があるなら、みなそれを使うようになるかと思いますので、そのような場合(JavaよりJavaScriptの方が速い)もあるといった形で考えればよいかと思います。

投稿2017/11/25 11:57

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makibi5577

2017/12/20 10:30

回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問