猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

言語のしくみ

言語のしくみ その8

当たり前だけど適当な変数を用いてロック代わりにするのはダメなんですね。 4−5 ロックフリーアルゴリズム 全体の流れとしては「スレッドセーフを実現する手法の一つとしてロックがあるが、ロックは処理効率が低下」する。そのためロックを用いないスレッ…

言語のしくみ その7

4−2基本テータ構造 データ構造から見るCの性格 とても大切そうなことなのでメモ。でもなんとなくわかるような、わからないような...。「結局は生のCPUの動作が想像できれば自然なこと」だそうです。 Cの基本データ構造の特徴の一つは、1バイトから8バイ…

言語のしくみ その6

2-7 AST(抽象構文木)に変換 抽象構文木をたどるには再帰呼び出しを実行する。 抽象構文木をたどる処理系は、メモリ空間に不連続に存在する構造体にアクセスする。よってキャッシュ効率は落ちてしまい性能がでない。 多くの処理系ではアクセスは狭い領域で…

言語のしくみ その5

言語設計者はCPUの内部構造まで意識しないといけないとか、大変ですね...。(>_ 2-6 キャッシュとシンボル キャッシュの有効活用 どれだけ効率的にキャッシュを利用できるかで、CPUの性能は50倍程度は異なる。 コア間で共有するキャッシュ上のデータの書き…

言語のしくみ その4

2-2 新言語「Streem」 シェルは自然な形でマルチコアを活用している Streemの特徴 軽量なコンカレント実行 競合条件の排除(すべてのデータ構造はイミュータブル) 計算モデル 2-3 文法チェッカーをまず作る 字句解析:lex 構文解析:yacc 2-4 イベントループ…

言語のしくみ その3

「並列」と「平行」の違いってすっごくわかりにくいですよね...。私も以前相当悩みました。ですがCPUのマルチコア化の傾向は今後も続くため、マルチコアの活用技術が脚光をあびるのは時代の流れなのですね。勉強になります。 マルチコア化への対応技術 ソフ…

言語のしくみ その2

PythonのVMという単語が、以前は何を意味しているのかがわかりませんでしたが、今はすっきりしました!というかVMの話しているのに、RISCやCISCの話が出てきてびっくり...。この本レベル高いな。プロセスVMって本当にCPUを意識するんですね...。 1-3 バーチ…

言語のしくみ その1

まつもとゆきひろ 言語のしくみ作者: まつもとゆきひろ出版社/メーカー: 日経BP社発売日: 2016/12/22メディア: 単行本この商品を含むブログ (1件) を見る今年の年末年始の勉強本の紹介です。 1-2 言語処理系の仕組み 「プログラミング言語」 =「言語」+「…