Get the latest tech news

Optimizing the Roc parser/compiler with data-oriented design


While working on the Roc compiler, we regularly dive deep on computer science topics. A recurring theme is speed, both the runtime performance of the code that we generate, as well as the performa ...

Compilers are usually considered as CPU-bound: they transform input (the source code) into output (executables), and are limited by how fast the machine can process the data. These caches make a speed versus size tradeoff: L1 is tiny but loading data stored there is very fast, L3 is significantly bigger but somewhat slower (still faster than main memory though). We made this transformation based on a performance argument, but actually, this representation eliminates the invalid double SpaceAfter case: our code got better!

Get the Android app

Or read this on Hacker News

Read more on:

Photo of data

data

Photo of compiler

compiler

Photo of Roc

Roc

Related news:

News photo

Open Source ChatGPT Clone 'LibreChat' Lets You Use Multiple AI Services - While Owning Your Data

News photo

What the Arrival of A.I. Phones and Computers Means for Our Data

News photo

AI Doesn’t Kill Jobs? Tell That to Freelancers | There’s now data to back up what freelancers have been saying for months