TechNews
Observatory
Article

Tail-call optimization in C is relatively recent [LWN.net]LWNの解説は、Cの呼び出し規約が尾部呼び出しを常に最適化しやすかったわけではなく、1990年代のコンパイラでは対象用途で最適化されなかったと振り返る。

unpinnedTech
https://lwn.net/Articles/1034703
Reading

Article Notes

要点
  • LWNの解説は、Cの呼び出し規約が尾部呼び出しを常に最適化しやすかったわけではなく、1990年代のコンパイラでは対象用途で最適化されなかったと振り返る。
  • 2001年のGCC実装には制約があったが、著者の試験ではGCCとClangで記事のようなtail-call optimizationが機能した。
  • Copy-and-Patch Compilationが多数のコード片を使う例を示し、Gforthでもgotoベース方式より多くのコード片を活用できる可能性に触れている。
重要性

コンパイラの呼び出し規約と最適化の進展が、インタプリタやCopy-and-Patchのような実装方式で利用できるコード生成の規模に影響することを説明している。

Signals

Why It Was Selected

Buzz

Hacker Newsで9位に入り、24時間以内に反応が集まりました。いま追うことで、コミュニティの関心がどこに向いているかを早く把握できます。

Global

影響範囲が広く、個別の話題として流さず全体像で押さえる価値があります。どの領域に波及するかを見極めるためにも、今の段階で追っておく意味があります。

Context

背景理解や運用の前提を揃えるために見ておきたい話題です。判断材料を雑にしないための補助線として有効です。