recentpopularlog in

mcherm : compiler   23

The surprising cleverness of modern compilers – Daniel Lemire's blog
This c compiler recognizes a fairly complex program and compiles it down to a single specialized machine language instruction.
programming  compiler 
september 2019 by mcherm
21 Compilers and 3 Orders of Magnitude [PDF]
Does a great job of covering the history and scope of compilers. Also great callouts to leading early (female) computer pioneers.
programming  history  compiler  womenintech  via:HackerNews 
april 2019 by mcherm
Add a const here, delete a const there… | Random ASCII
He added "const" to move things to the read-only (and shared across processes) segment. Also removed "const" a lot to do the same thing (because of a compiler bug).
programming  debugging  compiler  via:HackerNews 
january 2017 by mcherm
Fast Enough VMs in Fast Enough Time: Laurence Tratt
Laurence Tratt used RPython (the PyPy implementation language) to build a JIT for his own language. He goes into great detail about WHY PyPy is such an exciting idea and how well it works. Long, but a good read.
pypy  python  jit  compiler  vm  programming  programminglanguages 
february 2012 by mcherm
A C# compiler bug - and the response
Now THIS is how the maintainers of ANY compiler, language, or ANY other tool ought to behave. Eric Lippert responds to a valid report of a bug in the C# compiler.
programming  c#  EricLippert  via:EricLippert  compiler 
april 2011 by mcherm
PyPy Status Blog: Tutorial: Writing an Interpreter with PyPy, Part 1
An excellent tutorial on how to write an interpreter in PyPy. Uses BrainFuck as an example.
languages  pypy  programming  compiler  via:pypy 
april 2011 by mcherm
Embedded in Academia : C Compilers Disprove Fermat’s Last Theorem
An optimizing compiler keeps removing his infinite loops. He tries to outfox it by giving it Fermat's Last Theorem to prove. But it still removes the loop. (Answer: he forgot to use the answer.)
programming  optimization  compiler 
may 2010 by mcherm
Agner`s CPU blog - Intel's "cripple AMD" function
Intel's compiler optimizes better on Intel CPUs than on identical AMG CPUs (because it checks for the name of the CPU). The writer feels this is deeply unfair.
monopoly  intel  compiler  via:reddit 
january 2010 by mcherm
Lazy Pythonista: Introduction to Unladen Swallow
A summary of the purpose of Google's planned JIT for CPython, "Unladen Swallow".
programming  python  vm  virtualmachine  jit  compiler  llvm  unladenswallow 
november 2009 by mcherm
Humans and compilers need each other: the VLIW SIMD case
There are some kinds of optimizations a compiler cannot perform but a programmer can. They consist of cases where you negotiate a change in the requirements to make use of some optimization that was just out of reach. Interesting thought: what about a compiler that gave feedback on missed optimization opportunities.
programming  optimization  compiler 
september 2009 by mcherm
The 90 Minute Scheme to C compiler
A presentation in which he shows how to build a basic scheme-to-C compiler, dealing with issues such as continuations and tail call elimination.
programming  languagedesign  scheme  C  continuations  compiler 
may 2009 by mcherm
The "C is Efficient" Language Fallacy : Good Math, Bad Math
People often say "C is fast" because "C is close to the machine". But it's not true. C is close to how machines used to work long ago. Today, they have caching, pipelining and lots of other tricks. Often C is primitive enough that the compiler doesn't dare be "smart" (because of things like "aliasing" -- do these 2 pointers point to the same memory?). Mark Chu-Carroll tried several different languages (well optimized) on a real-world problem and found OCaml to be fastest!
optimization  programming  parallelprogramming  languages  compiler  via:reddit  markcc  ocaml 
may 2009 by mcherm
PyPy Status Blog: Applying a Tracing JIT to an Interpreter
The PyPy project is creating a JIT to optimize an interpreter for a language. But interpreters for languages need special handling. For instance, you don't want to optimize just the bytecode interpretation loop, you want to optimize entire loops in the language being interpreted! This shows (generally... the specifics are made up) how to provide annotations for the JIT that permit this.
optimization  python  programming  compiler  pypy  jit  vm 
march 2009 by mcherm
PyPy Status Blog: Porting the JIT to CLI (part 2)
A nice overview of the techniques used in PyPy to perform Just-in-time compilation on a dynamically typed language. Very readable.
python  pypy  programming  compiler  jit  via:reddit 
november 2008 by mcherm
The Need for a Common Compiler Framework - Code Commit
If you really plan to integrate multiple languages in the same VM (JVM or CLR) - TRULY integrated so they all build classes dependent on each other, then you shouldn't impose an order of compiling. Thus, the compilers must be integrated.
jvm  scala  groovy  java  compiler  programming 
june 2008 by mcherm
MF Bliki: ParserFear
Don't be afraid of domain specific languages just because you must build a parser... building a parser isn't so hard if the language is simple and you use decent libraries.
dsl  ANTLR  compiler  parser  fowler 
may 2008 by mcherm
Dynamic Languages Strike Back: Stevey's Blog Rants
A transcript of a talk by Steve Yegge about how to make dynamic languages fast.
languages  programming  programminglanguages  yegge  compiler  dynamic  languagedesign  optimization 
may 2008 by mcherm
SD Times - Larry O’Brien: Fun With Compilers...Really
Larry O'Brien says "Writing a unit-tested compiler is the most fun you can have programming." He describes using ANTLR, a Java tool for parser generation.
compiler  ANTLR  java  library  programming  blogentry  languagedesign 
november 2007 by mcherm
Jones Forth
A truly minimal version of FORTH written in assembly. An example of literate programming, the massive comments contain a few bits of code among them, and they manage to explain exactly what is going on. An excellent introduction to assembly OR to Forth.
languages  programming  assembly  compiler  tutorial  forth  literate_programming 
october 2007 by mcherm
An Incremental Approach to Compiler Construction | Lambda the Ultimate
Article describing a course for teaching compiler-writing. The course is in scheme, and the most clever thing about it is that it procedes incrementally -- a few small steps each adding new features, but with a working compiler at all stages. It also assu
personal_net  compiler  articles/programming 
october 2006 by mcherm
Schneier on Security: Countering
A solution for Ken Thompson's rigged compiler hack.
personal_net  security  hacking  compiler 
january 2006 by mcherm

Copy this bookmark:

to read