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

Turing Complete FM
Turing Complete FM
Episode • Apr 9, 2018 • 1h 28m
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)