Rust: ホットコードの置換

作成日 2013年05月10日  ·  6コメント  ·  ソース: rust-lang/rust

こんにちは私はこのhttp://www.youtube.com/watch?v=apZYqHPqzYoを見て、Rustでもホットコードを置き換えるのがいいと思いました。

Javaには、OSGiプロジェクト(http://www.osgi.org/Main/HomePage)とホットスワップ(http://code.google.com/p/hotswap/)があり、モジュールのアップグレードと変更を容易にします。他のモジュールに触れることなくアプリケーション。

E-hard

最も参考になるコメント

全てのコメント6件

特にクロスプラットフォームの方法で、ネイティブコードでこれを行うことは本当に非常に困難です。 VMは、バイトコードのロード、コード生成、コードの配置などを完全に制御できるため、時間が簡単になります。

このトピックに関する最新の調査については最新ではありませんが、 Kitsune:Efficient、General-purpose Dynamic Software Updateing for C (OOPSLA 2012)が興味深いと感じました。

2013年7月17日、トリアージのために訪問しました。ホットスワップをサポートするために必要なもの(ページを実行可能ファイルとしてマークする、Iキャッシュのフラッシュなど)もJITコンパイラをサポートするために必要ですが、ホットスワップは確かに注意が必要です。

位置独立コード(PIC)も必要だと思います。 Kitsuneの論文では、実際には、バージョン間のデータレイアウトの移行など、さらに積極的な変換について説明しています。 (私はこの時点でその紙をすくい取っただけです。)

これはかっこいいですが、おそらく起こらないだろうと私は安心しています。 他にももっと説得力のある難しい問題がたくさんあると思います。

これは、LLVMとそのJITを介してコンパイルされたコードで数回行われました。 これはそれをVMにスローし、ErlangがVM内で実行できるのと同じことを実行できるようにします...
インスピレーション: http
C ++の例:

誰かが低レベルのVMを使用したい場合は、Rustでも使用できると思います...そのようなものを機能させるには、とにかくVMの動作を追加する必要があります...

このページは役に立ちましたか?
0 / 5 - 0 評価