6 ms·
A wander through a weird landscape to the heart of compilation [pdf]
- lpu4o74p 7y agoPage 19 is misleading, sailing close to mendacity. > Frances Allen Got All The Good Ones. > 1971: "A Catalogue of Optimizing Transformations". The ~8 passes to write if you're going to bother. > Inline, Unroll (& Vectorize), CSE, DCE, Code Motion, Constant Fold, Peephole. > That's it. You're welcome. Many compilers just do those, get ~80% best-case perf. You could be excused if you came away from this believing that Frances Allen invented all of these optimizations. She didn't. With that cleared up, you might think that, at least, she is the sole author of the overview paper cited. She isn't. It seems an overwhelming need to come up with some heroic narrative around "women in coding" got the better of this author. I don't think this kind of "proof" is helpful.
- sctb 7y ago> Eschew flamebait. Don't introduce flamewar topics unless you have something genuinely new to say. Avoid unrelated controversies and generic tangents. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- tobr 7y agoTrying to figure out who the author is, but it’s not very clear. Probably Graydon Hoare? Can someone confirm?
- yorwba 7y agoThe URL is http://venge.net/ http://venge.net/ graydon /talks/CompilerTalk-2019.pdf Edit in case it wasn't obvious: it seems unlikely that Graydon Hoare would upload someone else's talk on his homepage together with his other talks.
- tobr 7y agoThat’s the clue I used, but I didn’t find it very obvious which “Graydon” the URL referred to. I’ve never heard of Graydon Hoare before but he seemed to match up with the content of the slides. For some reason he seems to be intentionally obscure about who he is on the website, but I see now that there is a link to a named Github profile.
- svat 7y agoFunny you say that because he's done exactly that! If you look at http://venge.net/graydon/talks/codecon-2006.pdf http://venge.net/graydon/talks/codecon-2006.pdf about Monotone, it turns out (see http://venge.net/graydon/talks/ http://venge.net/graydon/talks/) that it's “A talk Nathaniel Smith gave and I sat on stage looking supportive for, answering occasional questions. It's close to what I would have said!” (Nevertheless about the original question: yes it's by Graydon Hoare as he mentions: “Talk for some undergrads in computer science at UBC about the wide world of compilers.”)
- bishala 7y agoYes its Graydon Hoare.
- pfdietz 7y agoThis made me wonder if he was related to Tony Hoare, but I see HN already addressed this. https://news.ycombinator.com/item?id=12613295 https://news.ycombinator.com/item?id=12613295
- no-such-address 7y agoThe information and know-how in this talk is amazing. It would be interesting to know the author's thoughts about other early influential software in the early PC era, such as the UCSD P-system (was UCSD Pascal an early version of Turbo Pascal?) and Microsoft Basic (fitting the whole interpreter, including floating point arithmetic emulation into 6.5K of RAM on an Intel 8080 seems like a minor miracle today.)
- pjmlp 7y agoFor those that want to know more about how Turbo Pascal came to be, there are a very interesting interviews with Anders. https://www.youtube.com/watch?v=JckLuXcovl8&feature=youtu.be&t=10m https://www.youtube.com/watch?v=JckLuXcovl8&feature=youtu.be... https://behindthetech.libsynpro.com/001-anders-hejlsberg-a-craftsman-of-computer-language https://behindthetech.libsynpro.com/001-anders-hejlsberg-a-c... https://www.welcometothejungle.co/fr/articles/anders-hejlsberg-microsoft-career https://www.welcometothejungle.co/fr/articles/anders-hejlsbe...
- pizlonator 7y agoThis excludes the world of high-power JITing like JSC and HotSpot server. It’s possible to have an “all the optimizations” compiler outside the ahead of time space.
- mpweiher 7y agoSpecimen #5 V8 JavaScript compiler in Chrome, Node. Multi-target (7), multi-tier JIT. Optimizations mix of classical stuff and dynamic language stuff from Smalltalk. Multiple generations of optimization and IRs. Always adjusting for sweet spot of runtime perf vs. compile time, memory, maintenance cost, etc Recently added slower (non-JIT) interpreter tier, removed others.
- carapace 7y agoThat was awesome! (Though it doesn't mention Prolog compilation research.)