33

ここ数日、node.js (nodejs) をいじっていましたが、素晴らしいです。私が知る限り、lua には libev と libio の同様の統合がありません。これにより、ほぼすべてのブロッキング呼び出しを回避し、ネットワークおよびファイルシステムと非同期で対話できます。

Java 実装を nodejs にゆっくりと移植していますが、luajit が v8 JavaScript よりもはるかに高速であり、メモリ使用量がはるかに少ないことにショックを受けています!

このような環境 (非常に高速で応答性が高く、メモリ使用量が非常に少なく、非常に表現力が高い) でサーバーを作成すると、プロジェクトが大幅に改善されると思います。

lua は初めてなので、そのようなものが存在するかどうかはわかりません。ポインタをいただければ幸いです。

ありがとう

4

9 に答える 9

24

最近の対応プロジェクトはLuvit "(Lua + libUV + jIT = pure awesomesauce)" です。

発表から:

これは基本的に luajit2 + libuv (nodejs の背後にあるイベント ループ ライブラリ) です。nodejs と同じように単一の実行可能ファイルとしてコンパイルされ、.lua ファイルを実行できます。標準の luajit ディストリビューションとの違いは、いくつかの組み込みモジュールが追加され、セマンティクスが若干異なることです。

apache などに対する CGI スクリプトとして実行していないことに注意してください。lua スクリプトhttp サーバーです。サーバーに対して http リクエストが行われるたびに、コールバックが呼び出されます。

于 2011-12-11T11:27:00.203 に答える
14

以下はまさに私が探していたもののようです: LuaNode https://github.com/ignacio/LuaNode

于 2011-01-18T21:57:05.087 に答える
10

lualibeventlua-evおよびLua Gem #27も参照してください。

于 2010-06-06T18:42:10.020 に答える
6

あなたはまた、luvを見ているかもしれません:

https://github.com/richardhundt/luv

luaメーリングリストから:

luvはLuvitとどのように関連していますか-LuaJIT+libuv(Node.js:s / JavaScript / Lua /)?

実際にはそうではありません。Luvitは、node.jsのアーキテクチャ(リアクターコールバックなど)を多用し、luajitに対して静的にリンクし、独自のモジュールシステムと実行可能ファイルを提供します。Luvは、libuvにバインドする単なるLuaモジュールです。主な違いは、Luvは、内部でlibuvイベントループを使用しながら、コルーチンとOSスレッドを組み合わせたmnスレッドエンジンに似ていることです。

したがって、両方がlibuvにバインドするという事実を除けば、共通点はあまりありません。

于 2012-10-31T23:00:10.487 に答える
5

Luvitを参照するか、Lua Githubサイトを参照してください。Lua 内にNode.js 機能を実装するというアプローチを取ると思います。クライアント側とサーバー側で Lua コードを記述します。ここでは、Lua で Node.js 機能を実行するための Luvit のアプローチについて説明します。

于 2012-09-07T20:37:06.883 に答える
3

質問が正しく理解できたら、http://openresty.com/を見てください。

于 2011-08-27T17:39:32.900 に答える
3

luvitは、Javascript にとっての Node.js とまったく同じものになることを目指しています。間違いなく有望なプロジェクトです。

于 2012-07-04T22:44:18.893 に答える
2

lua-handlersを使用してnode.jsスタイルの非ブロッキングIOを取得できます。

非同期もあります。HTTPクライアント。これにより、並列HTTPリクエストを非常に簡単に開始できます。HTTPクライアントインターフェイスの例として、test_http_client.luaファイルを参照してください。

于 2010-12-28T09:20:27.983 に答える