クラウドコンピューティング ~ EC2、Mosso、GoGrid
クラウドコンピューティングのプロバイダーであるEC2、Mosso、GoGridの新しいユーザーエクスペリエンスと、それぞれの機能の違いについて学びます。
作者 Werner Schuster, 翻訳者 編集部 投稿日 2007年11月30日 午後11時55分
Ola Bini氏がOnigurumaのポートであるJoniがJRubyトランクに統合されたことを報告した(source)。なんという素晴らしい日だ!Joni(Oniguruma RegExpエンジンのMarchinの素晴らしいJavaポート)がJRubyトランクに統合されたのだ。現在それは大変上手くいっているように見えるよ。JRubyチームのメンバーであるMarcin Mielczynski氏はOniguruma(サイト・英語) RegExのポートをJavaコードに移行する仕事を行った。OnigurumaはRuby 1.9.×.に含まれているRegExpエンジンである。
それを修復するために私達はJRegexを代わりに統合しました。それが1.0が一緒にリリースされたエンジンで、またそれは現在未だ使用されているエンジンなのです。その動作はなかなか良好で、またJavaエンジンにしては速いのです。でも十分には早くはありません。特に正確なストリングと欠点を素早く検索するサポートが無く、そのエンジンは私達がbyte[]-stringsをchar[]かもしくはStringに変換 することを要します。正確にはそれは最適ではありません。もう一つの問題は特にマルチバイトサポートにおけるMRIとの互換性であります。これらの問題は全てJoniで解決されるように見える。もしくは解決されるだろう。Regexパフォーマンスは過去において重大な問題であったが(例: JRuby on RailsにおけるOracle Mixの構築からのレッスンを参照(英文記事)してほしい)、Joniはその助けにもなりそうだ。Charles Nutter氏は新しいコードを伴うREXMLパフォーマンスを調査した(source)。
一連の基本的な最適化に目を通した後、私達が心配していたほとんどの重要な表現はJRegexと同じくらい、もしくはそれよりも良く機能していたので、Ola氏は過去二日間においてその会話を調べた。Marcin氏今後もはいろいろな最適化に取り組むのだが、Ola氏と私は両方とも新しいコードで遊んでいた。そしてその外観は素晴らしいものです。そのリンクされている記事は、Joniコードで大幅な加速を見せた統合前と統合後のコードを比較したベンチマーク結果に続いている。
私達はOnigurumaを含むことを既に考慮していました。それにはいくつかの理由があります。スレッディング: Onigurumaはコードレンジタブレットをイニシャライズする時か、もしくは共有ASTノード(Character Class発すテーブルのような)を管理する際にグローバルロックを使用します。Onigurumaバイトコードインタプリタも、またスレッドロックを使用しています(それは停止することもできますが、Java landで無償で手に入れることができ、外国のスレッドをjava oneと混合することはハッキングになるでしょう。)。例外: segfaultから回復するのは困難になるでしょう。OnigurumaのエラーをRubyの例外に変換したとしても、またそれは醜いハッキン グになってしまうでしょう。原文はこちらです:http://www.infoq.com/news/2007/11/oniguruma-joni-jruby
JNI: それはデータ分離を要すので、全てのストリング・バイトがコピーされる必要があるのです。
付加的なバイナリ分配: それを一つのメインフレームにコンパイルするのを頑張ってください:D
クラウドコンピューティングのプロバイダーであるEC2、Mosso、GoGridの新しいユーザーエクスペリエンスと、それぞれの機能の違いについて学びます。
パート2では、ベンチマークの結果を検証するために用いられるテクニックについてさらに深く見ていきたいと思います。最後に、「なぜプロセッサが異なるとロックのコストも大きく異なるのか」と言う真の疑問に答えます。
本稿では、Stefan Tilkov氏が「RESTful」な設計であると主張するアプリケーションに見受けられる最も一般的なアンチパターンのいくつかについて説明し、それらを避けるための方法を提案しています。
Sven Efftinge氏、Peter Friese氏とJan Köhnlein氏が、MDDを取り入れて成功した経験から、ベストプラクティスの解説を行います。
Our panel of leading experts explores some of the challenges and thought processes that go into making their apps as scalable and performant as possible.
この記事は、Spring 2.5で導入されたアノテーションを探究する3部作の第2弾です。Web層におけるアノテーションのサポートを扱います。最後の論文では、統合と検査で利用できる追加機能を説明する予定です。
私は「浴衣」を着てパーティーに参加したことで、たくさん声を掛けていただけました。 そこで感じたことは、このカンファレンスが人との繋がりを生み出し、また言葉の壁を越えて積極的に交流する場所であることです。民族衣装はそれらを助けてくれるものでした。きっとこの交流が、新たなムーブメントをアジア圏の仲間たちにも与えてくれると確信しています。
No comments
返信