組込みに使うプログラミング言語について語ろう! Elixir (エリクサー) 編

組込みに使うプログラミング言語について語ろう! Elixir (エリクサー) 編

* 情報量爆発を迎えたのに計算能力が追いつかない問題をElixirは解決する
* イミュータブル性により並列プログラミングの実行効率が良くなる
* Elixirは「データ変換」パラダイムで記述することでイミュータブル性を生かして大きな並列性を得られる
* イミュータブル性によりGCレスの単純で安全なメモリ管理を実現できる
* イミュータブル性があっても,map構造でグラフ構造のような循環参照を実現できる
* バイナリをパターンマッチで気持ちよくデコードできる
* デバイスに対するI/O操作は,それを1つのプロセスに集約することで排他制御を大幅に減らせる
* I/O操作は現状ではNIFで実現し,現在,インラインアセンブリコードを記述できる仕組みを研究中である
* メモリ保護を徹底する仕組みを研究中である
* 現状ではミリ秒オーダーのソフトリアルタイムが実現できるかどうか,現在,マイクロ秒オーダーのハードリアルタイム/ソフトリアルタイムの実現を研究中
* コード最適化は現状はまだまだ,Hastega 改め Pelemay で SIMD 並列実現,今後も研究を継続
* Elixirから現状でもKerasやOpenCVを並列駆動でき,さらにElixirネイティブなAI/ML,画像処理,3D処理ライブラリを研究開発中

83722380372c00bd75ac920f2089f6aa?s=128

Susumu Yamazaki (ZACKY)

September 05, 2019
Tweet