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)
- コーディング面接は対策して当たるべき (1:17:32)