新しいApexランタイムエンジン - Apex Bytecode -

by Mitsuhiro Okamoto on 2月 28, 2012 at 12:09 午後

Apex_architecture

今回のSpring 12'のリリース(正確には2012年1月の段階より)では、全てのDeveloper EditionでApex Bytecodeと呼ばれる新しいApexランタイムが有効になりました。

今までのApexランタイムでは、保存時にANTLRで生成したパーサを利用して独自のAST(abstract syntax tree)を構成しておき、実行時にその中間コードをインタプリタ実行していました。新しいApex Bytecodeでは、Apexコード保存時にJavaのBytecodeにダイレクトに生成します。これによりパフォーマンスとスケーラビリティが大幅に改善されます。現在も継続的にパフォーマンスが向上していますが、将来的には従来のApexの倍レベルのパフォーマンス向上を視野に入れています。(もちろんプログラムの処理時間はデータアクセスに多く影響するので、単純にテスト時間が1/2になるということは難しいですが・・・)
 

開発者の方はコードラインを変える必要は(特殊な場合を除き)ありません。単純にパフォーマンスが向上します。

 


また新しいランタイム実装では、全てのApexメソッドはJavaの制限である64k以下のサイズに抑える必要があります。
AppExchangeアプリケーションを開発しているISVの方などで、巨大なメソッドを記載している場合は、メソッドの分割を検討するようにして下さい。(すでに制限を超えたメソッドが実装されている場合には、Eメールによる通知が行われています。もし通知を受け取っていなければ、あなたの組織は問題ありません。)

Spring '12バージョンが全インスタンスでリリースされました

by Mitsuhiro Okamoto on 2月 13, 2012 at 05:51 午後

Spring_12_3

Spring '12が日本向けのインスタンス(ap0,cs5)も含めリリースされました。
一部Chatter MessangerやAuth Providers等の機能はまだ有効化されておりませんが、開発者コンソールの新機能Heapdumpや、スキーマビルダーからのオブジェクト操作、Dynamic Visualforce Component等の新機能が利用できるようになっています。

また、開発者向けの新機能webinarも近日開催予定ですので、詳細決まりましたら別途お知らせいたします。

 

Spring '12リソースページ
http://successjp.salesforce.com/features/2012/01/lt.html

 

Spring '12 日本語リリースノート(直リンク)
http://successjp.salesforce.com/features/pdf/spring12_release_notes.pdf