豆無日記スマートフォン用の表示で見る豆無日記この広告は、90日以上更新していないブログに表示しています。2010-03-09超爆速Java系スクリプト言語として進化したGroovy、その名はGroovyServgroovyはじめに前回のエントリでちょっと匂わせた爆速Groovyですが、githubのWikiにはちょっとだけ書いてありますが、とあるツールを使うとgroovyが爆速になって最高なんですが、それは"あとで書く"。2.0に基づくOSSとして公開しました。GroovyServを使う事で、Groovyの起動がRubyやPerlのように速くなります。これにより、「JVM上のスクリプト言語は起動が遅いから駄目だ」などという批判を過去のものとする事ができます。Grな日々(uehajの日記)どのくらい速い?起動が遅いのはJVM起動とかライブラリのロードとかの定型な準備処理なので、一度起動したプロセスを常駐させてそいつにevalをまかせる的な方法で、その辺をすっとばそうというアレです。ずるい感じもしますが、いやマジでめっちゃ速いです。発を進めていくことができます。1.7.0の起動時間の参考値です(3回測定した平均値)。(sec)http://github.com/kobo/groovyserv/raw/master/README.ja20倍とかあり得ないです。赤いGroovyどころのさわぎじゃないです。紫色とかもうチアノーゼでてる感じだと思います。初回起動時にサーバプロセスを起動するので、そのときはちょっと待たされる感はありますが、それとて今までのJVM起動待ち時間程度。GroovyServのサーバプロセスが起動したら、その後は超サクサクモードです。Rubyとかでスクリプト書いてるのとほとんど体感に差はないです。'println("HOGE")'でENTER打った瞬間にHOGEが表示される感じ。あまりに嘘くさすぎて、HOGE→FOO→BARとか出力文字を変更して何度か試してしまいました。確かに毎回変わります。TDDのフェイク的に単に結果のキャッシュだけ返してるとかではありません。注意事項さて、そんな爆速GroovyServですが、ちょっと取扱注意なところがあります。基本的にはあまり制約とかは感じずにgroovyコマンドをaliasで差し替えても問題ないくらいに普通に使えるのですが、100%完璧とまでいきません。自分が気づいてるところとしては以下になります。同じサーバプロセスを使っているとPermGenのOutOfMemoryErrorがでます。サーバプロセスを再起動すればとりあえずOkです。前段階として段々と少しずつ遅くなってくるので、気がついた時点で上のコマンドでサーバプロセスを再起動したらいいと思います。Grapeによるライブラリダウンロードが固まってしまうことがあった。昨日なので再現性とかまだ追ってません。他にもなにか地雷があるかもしれません。他に何か変な動きをした!という人がいたら、是非サポートMLまでご連絡を。ホームページ的な@GitHubhttp://kobo.github.com/groovyserv/各種プラットフォーム用のバイナリzipファイルのダウンロードもここからできます。(ソースのzipもあり)プロダクト@GitHubhttp://github.com/kobo/groovyservソースが気になる方はこっちでCloneとかWatchとかForkとかどうぞ。サポートML@GoogleGrouphttp://groups.google.com/group/groovyservそうそう。GitHubに行くと分かるのですが、実はこのプロダクト、自分も一枚噛んでるのでした。いうわけで、是非是非お試しください。1:15やはりWindows用でcygwin前提というところで引っかかりますよね。今後cygwinに依存しないようにしていきたいとid:uehajがいってましたので、それまではRubyによるクライアント実装であるgroovyclient.rbでお試しいただければと思います。千秋楽はMariottホテルで月別アーカイブはてなブログをはじめよう!nobeansさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。