text0021
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* 川合のプログラミング言語自作のためのテキスト第二版#0011
-(by [[K]], 2019.07.04)
** (19) 考察
-[[text0010]]での主張を再掲しつつ、分析したいと思います。
----
-1億回ループでのベンチマーク
|言語処理系|行数|タイプ|説明|実行時間(gccの-O3を1.00とし...
|TL-3c|119行|単純インタプリタ|代入・加算・減算・print・wh...
|TL-3d|123行|単純インタプリタ|TL-3cを高速化したもの|RIGHT...
|TJ-03a|185行|JITコンパイラ|TL-3dをJITコンパイラ化したも...
|TJ-03b|224行|JITコンパイラ|TJ-03aにレジスタ変数を追加し...
|TJ-03c|247行|JITコンパイラ|TJ-03bにdo~whileを追加して高...
--JITコンパイラ(註:JITコンパイラはインタプリタ実行のた...
----
-ライブラリの威力
|言語処理系|行数|削減率|実行時間(gccの-O3を1.00としての...
|TL-1k(TL-1c相当)|RIGHT:52行→''31行''|40.4%削減||[[text...
|TL-2k(TL-2c相当)|104行→''31行''|70.2%削減||[[text0018]]|
|TL-3k(TL-3d相当)|123行→''45行''|63.4%削減|RIGHT:46.00...
|TJ-03x(TJ-03a相当)|185行→''61行''|67.0%削減|RIGHT:6.78...
|TJ-03y(TJ-03b相当)|224行→''78行''|65.2%削減|RIGHT:1.70...
|TJ-03z(TJ-03c相当)|247行→''88行''|64.3%削減|RIGHT:1.00...
--仮に言語を自作としたとして「私の自作言語を使うことで、...
--一般にライブラリを作るのは言語を作るよりもずっと楽です...
--ちなみにJITコンパイラが100行未満で作れちゃうのは、「か...
----
-このシリーズが主張していること:
--''[1] プログラミング言語を作るのは難しくない!''
--''[2] JITコンパイラはとても高速。しかも難しくない!''
--''[3] うまくライブラリを作ると、有用な言語を自作するの...
-[1] TL-1cが52行だったので、プログラミング言語は、難しい...
-言語を作るのは難しいとは思わないでください。そんなふうに...
-もし言語づくりが難しすぎて開発が止まってしまうようなら、...
-・・・私たちは使うだけではなくて作る側でもあるのですから...
-[2] JITコンパイラについて、その高速性は十分に示せたと思...
-そしてTL-3dからTJ-03aへの行数の増加量は1.5倍程度でした。...
-さらに速さが欲しければ、行数を増やしていくことでそれも実...
-[3] ライブラリをうまく作れば、行数削減率65%くらいを達成...
-一般に言語を乗り換えただけで2倍も3倍も開発が速くなる(行...
-一方で、ライブラリを使って行数が減るケースはよくあります...
-複数のプログラムに対して汎用的かつ一定の割合で減らす傾向...
-だから今回私が作ったのは標準ライブラリっぽいライブラリだ...
** 次回に続く
-次回: [[text0022]]
*こめんと欄
#comment
終了行:
* 川合のプログラミング言語自作のためのテキスト第二版#0011
-(by [[K]], 2019.07.04)
** (19) 考察
-[[text0010]]での主張を再掲しつつ、分析したいと思います。
----
-1億回ループでのベンチマーク
|言語処理系|行数|タイプ|説明|実行時間(gccの-O3を1.00とし...
|TL-3c|119行|単純インタプリタ|代入・加算・減算・print・wh...
|TL-3d|123行|単純インタプリタ|TL-3cを高速化したもの|RIGHT...
|TJ-03a|185行|JITコンパイラ|TL-3dをJITコンパイラ化したも...
|TJ-03b|224行|JITコンパイラ|TJ-03aにレジスタ変数を追加し...
|TJ-03c|247行|JITコンパイラ|TJ-03bにdo~whileを追加して高...
--JITコンパイラ(註:JITコンパイラはインタプリタ実行のた...
----
-ライブラリの威力
|言語処理系|行数|削減率|実行時間(gccの-O3を1.00としての...
|TL-1k(TL-1c相当)|RIGHT:52行→''31行''|40.4%削減||[[text...
|TL-2k(TL-2c相当)|104行→''31行''|70.2%削減||[[text0018]]|
|TL-3k(TL-3d相当)|123行→''45行''|63.4%削減|RIGHT:46.00...
|TJ-03x(TJ-03a相当)|185行→''61行''|67.0%削減|RIGHT:6.78...
|TJ-03y(TJ-03b相当)|224行→''78行''|65.2%削減|RIGHT:1.70...
|TJ-03z(TJ-03c相当)|247行→''88行''|64.3%削減|RIGHT:1.00...
--仮に言語を自作としたとして「私の自作言語を使うことで、...
--一般にライブラリを作るのは言語を作るよりもずっと楽です...
--ちなみにJITコンパイラが100行未満で作れちゃうのは、「か...
----
-このシリーズが主張していること:
--''[1] プログラミング言語を作るのは難しくない!''
--''[2] JITコンパイラはとても高速。しかも難しくない!''
--''[3] うまくライブラリを作ると、有用な言語を自作するの...
-[1] TL-1cが52行だったので、プログラミング言語は、難しい...
-言語を作るのは難しいとは思わないでください。そんなふうに...
-もし言語づくりが難しすぎて開発が止まってしまうようなら、...
-・・・私たちは使うだけではなくて作る側でもあるのですから...
-[2] JITコンパイラについて、その高速性は十分に示せたと思...
-そしてTL-3dからTJ-03aへの行数の増加量は1.5倍程度でした。...
-さらに速さが欲しければ、行数を増やしていくことでそれも実...
-[3] ライブラリをうまく作れば、行数削減率65%くらいを達成...
-一般に言語を乗り換えただけで2倍も3倍も開発が速くなる(行...
-一方で、ライブラリを使って行数が減るケースはよくあります...
-複数のプログラムに対して汎用的かつ一定の割合で減らす傾向...
-だから今回私が作ったのは標準ライブラリっぽいライブラリだ...
** 次回に続く
-次回: [[text0022]]
*こめんと欄
#comment
ページ名: