CRSプログラミング

Q5
オブジェクトパスと処理速度
[内容]
オブジェクトのパスの深い、浅いは、処理(アクセス)速度に影響しますか?

A5
[原因]
影響します。
CRSの場合、シンボルが何を指しているのか、実行時にそのコンテキストで判断が変わり、 その結果として実行時間に差が出ます。


[サンプルコード]

<A.crs>
Button b {
    function onTouch(e) {
        object1.target = 123; /* <---- object1.target */
    }
}

<B.crs>
Form object1 {
    Number target;            /* <--- object1.target */
    Get("A.crs");
}

<C.crs>
import object1;
Form not_object1 {
    Get("A.crs");
}

<object1.crs>
package object1 {
    Number object1;           /* <--- object1.target */
}

B.crsの記述では、object1.targetはFormのobject1.targetを指すことになります。
C.crsの場合は、object1.crsのグローバル名前空間に置かれるobject1.targetを
指すことになります。
ところが、A.crsは独立したCRSであるため、B.crsからGETされた場合でも、
C.crsからGETされた場合でも同じ実行イメージがロードされます。

管理番号:CRSM_005
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser Mobile・Biz/Designer Mobile TIPS集 トップへ