2

最近、Node.jsとClojureの間で、this、thisthisなど多くのベンチマークに出くわしました。Rubyのような言語と比較して、Node.jsとClojureはどちらもほぼ同じくらい高速です(つまり、はるかに高速です)。

問題は、RAM消費の点でClojureがNode.jsとどのように比較されるかということです。簡単なライブチャットアプリを作成しようとしていたとしましょう。

RailsとNode.jsを比較しようとすると、基本的にNode.jsはRailsの100倍高速で、10分の1のメモリしか消費しないと期待できます...しかし、Clojureはここにどのように適合しますか?

ここで、Clojureはメモリ消費の観点からどのように比較されますか?JVMで実行されているため、Node.jsよりもはるかに多くのメモリを消費することを期待できますか?それとも、これはもはや真実ではない単なるステレオタイプですか?

4

1 に答える 1

4

最新のハードウェア上の単純なアプリケーションの場合、Node.jsまたはClojureのいずれでもメモリ使用量の問題は発生しないはずです。

もちろん、Niklasが指摘しているように、最終的には、使用するフレームワークとアプリの記述度によって異なります。

Clojureにはかなり重要なベースメモリ要件があります(Javaランタイム環境/ JVMがかなり大きいため)が、ポイントを超えてかなりメモリ効率が高いことがわかりました-Clojureオブジェクトは内部のJavaオブジェクトであるため、おそらくそうすべきではありません。意外すぎることはありません。

また、JVMアプリのメモリ使用量を直接測定することは、通常、誤解を招く可能性があることにも注意してください。JVMは通常、必要以上のメモリを事前に割り当て、ガベージのみが(必要に応じて)怠惰に収集されるためです。したがって、見かけの合計メモリ使用量は高く見えますが、実際のワーキングセットは非常に小さい可能性があります(これは、パフォーマンスの目的で本当に気になることです)。

于 2012-04-21T12:28:06.233 に答える