Entis Lab.

000349243
since 2001/9/1
Top/Dojin/CG/Policy/Profile/Mail/pixiv/twitter

 ■ 理影徒然日記

隼バナー

■ 続・俺言語 --- 2012/05/21 [プログラム]
 俺言語「詞葉」のバージョン3.0のドキュメントにこんなことを書く事になるとは。
 従って、詞葉コンパイラは常に最適化を優先します。エイリアスアクセスで問題が生じる場合には、次のように_m_fence文を記述してプログラマがコンパイラに知らせる必要があります。

    int foo( void ) naked
    {
        int    a = 1 ;
        int    b ;
        int *    p = &a ;
        a = 2 ;
        _m_fence ;    // メモリへの反映を保証
        b = *p ;
        return    b ;
    }
の _m_fence ですが。まあ、ただのメモリエイリアスです。
 普通のC++コンパイラだとエイリアスの可能性のある変数に対しては常に問題の生じないコードを出力するわけですが(大抵オプションスイッチなどで切り 替え可能だと思いますが、実際にはエイリアスの問題が無くても可能性があれば逐一メモリアクセスしてしまうので高速化の障害になる)、詞葉では常に無視し て高速化を優先する、というルールにしたということですね。
 まあ、ある程度はエイリアス解析はするんで、実際には殆ど _m_fence を書く必要はないと思いますが。(ただ、詞葉の場合は、コンパイラが確実にエイリアスになるのが分かった場合のみ対処して、可能性があるというだけの場合は無視(コードで明示が必要)するということで)

 因みに、この高速性を重視した naked モード。まだデバッグ中ですが、現状で(当初の推定通り)既に10数倍は高速になっています。
 更にコードの最適化で高速化した上で、詞葉 3.1 で実行時にネイティブコード(SSE2)に変換して実行する機構も追加予定です。

 ただ、直近の目論見としては Android での高速な自前のスクリプト言語を獲得することですけどね。
 純粋なスクリプト上の演算ループなどでは、Android 1.6 の Java より高速に実行出来そうな気がしています。(ネイティブコードに変換しない実行でも)
× 6

■ 俺言語 --- 2012/04/28 [プログラム]


 アニメのイラストを描きたいのですが、そんな時間もないです。
 なので、誰得?な俺言語「詞葉」の最新バージョンのドキュメントとサンプルソースとサンプルをexe化したものの詰め合わせでも置いておきます。


 個人的には、詞葉2.3で導入されたポインタの概念が素敵過ぎて笑えてくるのですが、どうでしょうか?w

 因みに、サンプルソースは、stdinout以外はそのままAndroidでも動きます。
 Android版も、3D関係の機能をほぼ実装し終えたので、特殊なクラス以外は大体使えるようになりました。(上の写真とか)
 まあ、何に役に立つのか、現時点でかなり疑問ですがw
× 3

■ 引越しで… --- 2012/02/21 [日記]


 ごっそり菓子関係の調理器具を置き去りにしてしまったので、一通り買ってきました。
 あと電動のハンドミキサーを買えば………(実際には、これプラス、揚げ物用鍋)

 と、買った後に、前のアパートから、こんなん残ってたんですけど〜?って言われたら困りますが…(汗)
× 10

扉画像
▼ 登録サイト様▼
ケータイ共和国 TINAMI
Copyright (C) 2001-2017 Leshade Entis (理影). All rights reserved.
Entis Lab.