2010-12-01 7 views
0

私はGWT(Java)プロジェクトにサーバーベースのコード差分とハイライトを組み込もうとしています。私はPygmentsとdifflibを組み込むことができたinto my code using Jython。基本的な考え方は、サーバー上で完全なマークアップを生成し、単にコードをページにinnerHTMLとして挿入することです。 比較的小さなファイル(2K-3K行)でも、Pythonやdifflibを使ってファイルを処理するのは永遠に(数分ではなく)かかりますので、Jythonは完全に不十分です。 Difflibは実際にメモリの専用500MでプロセスでOOMエラーを確実に引き起こします my current setupが間違っているのか、またはJythonがこの目的には適していないのでしょうか?パフォーマンスのためのJython、JeppまたはPylons

もしそうなら、次は何ですか?私はJeppを発見しましたが、私は各プラットフォーム用にプロジェクトを構築しなければならず、ドキュメントもほとんどなく、非常に安定していません。別の可能性は、Pylonsを同じホスト上の別個のWebサービスとして実行し、マークアップをクライアントに直接渡すか、サーバー経由でチャネルすることです。さらに別の方法は、Java Systemを使用してpythonスクリプトをプロセスとして実行し、出力をキャプチャすることです。

私は非常に興味があります。

答えて

0

別のサービスを利用するのが最善の方法です。 Pygmentsの場合は、既にavailable(Google App Engine上)のサービスがあります。アプリケーションのソースはBSDオープンソースで、GitHub hereにあります。もちろん、difflib機能を追加するためにこれを適用することもできます。

+0

うん。私はちょうど "ボトル"(http://bottle.paws.de)を発見し、私はそれがすべての私のトラブルを解決すると思う:) – Bostone

0

私はそれが私の調査結果と一致しているので、上記の答えを受け入れるつもりですが、ちょうどこのノウハウを読み込み、誰せる - などボトルなどのPythonネイティブのソリューションを使用してPygmentsための別のWebサービスを実行するには、組み込みのJythonよりも何倍も良好に動作します。特にLinuxの場合

関連する問題