GIT (およびそのワークフロー) の利点を利用できるようにしたいと考えていますが、ディスク アクセスのコストはかかりません。GIT の分散リビジョン コントロール機能を活用して、memcached と memcached のハイブリッドのようなものを作成したいと考えています。ギット。(できれば.NETで)
そんな野獣いる?
GIT (およびそのワークフロー) の利点を利用できるようにしたいと考えていますが、ディスク アクセスのコストはかかりません。GIT の分散リビジョン コントロール機能を活用して、memcached と memcached のハイブリッドのようなものを作成したいと考えています。ギット。(できれば.NETで)
そんな野獣いる?
Windows 版の git を使用して、 を使用して呼び出してみませんProcess.Start()
か?
ストレージに関しては、(Andrew が上記で提案したように) RAM ディスクにリポジトリを配置することもできますが、パフォーマンスがどの程度向上するかはわかりません。特に、頻繁に使用する場合はとにかくRAMにキャッシュされることを考えると、ハードディスクに持っていてもまったく問題ないと思います。
これは、コンパイラとそれらが使用するリソースがマイクロソフトによってオープン ソース/共有されていないことに基づいて実行できるとは思いません。
技術的には、アプリで C# をスクリプト言語として使用し、独自のコンパイラでビルドすることを止めることはできませんが、なぜそうするのでしょうか?
マイクロソフトがあなたのためにそれを処理するという考えだと思います。
そうは言っても、パーツが何であるかを理解し、プログラムでそれらを呼び出すことができれば、そこからJIT処理されたコードのストリームを取得できるはずです(もちろん理論的には)必要な場所に配置できますが、それはつまりドキュメント化されていないアセンブリに安全でない呼び出しを行うことで、Microsoft が難読化した可能性があります。
.Net で実際のコンパイラのソースを見た人はいますか? 私が持っているとは言えません...
しかし、いくつかの興味深いトリックになるでしょう。
でも ....
リフレクション クラスでは、どこかで「Emit」を呼び出して、フレームワークにステートメント/型定義のコードなどを記述させることができると確信しています。おそらく、これらの名前空間には、Emit の出力を取得してコンパイルに詰め込むものがあります。処理する...
なんてクールなコンセプトでしょう!!!