Turing Complete Fm

13. 自作アセンブラ、リンカの最適化、トリッキーなビット操作の楽しさ、外資系IT企業のコーディング面接対策 (hikalium)

Informações:

Sinopsis

hikaliumの自作アセンブラや自作言語、データ構造やトリッキーなビット操作を使ったアルゴリズム、リンカの最適化などについて話をしました。出演者: hikalium (@hikalium)、Rui Ueyama (@rui314) https://turingcomplete.fm/13 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 イントロ (0:00) asmium — hikalium自作アセンブラ (1:20) Mach-Oオブジェクトファイルを自作アセンブラから出力するには (6:27) AppleがCPUをIntelからスイッチするという噂 (8:21) ラベルの後方参照がオブジェクトファイル内で解決されていない? (11:55) RISCプロセッサなら32ビットオフセットでジャンプできないのが普通 (16:30) リンカに手を入れてAndroid版Chromeのバイナリサイズを涙ぐましく削減する話 (20:42) Unixの共有ライブラリのシンボル解決のセマンティクス (24:01) ブルームフィルタというデータ構造 (27:22) オンディスクのハッシュテーブルを一個だけ作る (32:20) 文字列の末尾部分だけをマージするサイズ最適化 (33:40) x86機械語のエンコーディングが難しい (36:53) (アセンブリ言語ではなく)アセンブラそのものを書けないと負け? (40:33) Goのアセンブラ (41:59) GoはCライブラリを使わずシステムコールを自前で呼び出している (44:10) GoはほとんどライブラリもGo自体で書かれている (46:25) GoのWaitGroupのバグとマルチスレッドプログラミングの難しさ (49:14) ビット操作の楽しさ (54:11) 分岐なしで絶対値を求める (56:11) 掛け算と割り算は2ワードの結果を出力するのにC言語ではそれにアクセスできない (1:01:08) サイボウズ・ラボユース (1:05:21) nv — hikalium自作言語 (1:08:46) Intelも使っているXbyak(カイビャク) (1:14:46) インターンコンバージョン (1:14:54) コーディング