Posts by Tags

LLVM

Starting with LLVM and Encore

8 minute read

Published:

For my PhD, I need to work on typed optimisations for the Encore language. For fun and a bit for learning how to do this, I am going to describe the steps I take to perform alias analysis using different tools from the LLVM suite.

allocation

Stack vs Heap allocation. Is it worth it?

2 minute read

Published:

Is it worth to allocate things in the stack instead of in the heap? I kind of new the answer, but I didn’t know how much. Allocating things in the stack is super-cheap and, in most cases, uses a single instruction while allocating things in the heap is quite expensive (expensive system calls). Let’s do a simple example that proves this:

compiler

Building an app to deploy sandboxed compilers (in 3 days!)

1 minute read

Published:

Sometimes researchers need tools to show to the world (and their peers) their on-going research. Instead of relying on reviewers (of papers) to install different compilers with multiple and possibly clashing dependencies, there is a tendency to deploy these languages in sandboxes in the cloud. I love the idea!

conference

COORDINATION paper accepted!

less than 1 minute read

Published:

I got my first paper accepted! I thought it would take me another year to get something published! Now, it’s time to address the reviews and, maybe, open that special wine (Jaqima, Ronda 2013) that I have reserved for the occasion.

deployment

Building an app to deploy sandboxed compilers (in 3 days!)

1 minute read

Published:

Sometimes researchers need tools to show to the world (and their peers) their on-going research. Instead of relying on reviewers (of papers) to install different compilers with multiple and possibly clashing dependencies, there is a tendency to deploy these languages in sandboxes in the cloud. I love the idea!

paper

Optimus

1 minute read

Published:

Optimus extends parts of the compiler and runtime of DryadLinQ in order to provide optimisations of the execution plan graph (EPG). An EPG is normally a static data structure that represents the computations and dataflow in a directed acyclic graph; the distributed execution engine uses the EPG to distributed tasks among other things.

COORDINATION paper accepted!

less than 1 minute read

Published:

I got my first paper accepted! I thought it would take me another year to get something published! Now, it’s time to address the reviews and, maybe, open that special wine (Jaqima, Ronda 2013) that I have reserved for the occasion.

performance

Stack vs Heap allocation. Is it worth it?

2 minute read

Published:

Is it worth to allocate things in the stack instead of in the heap? I kind of new the answer, but I didn’t know how much. Allocating things in the stack is super-cheap and, in most cases, uses a single instruction while allocating things in the heap is quite expensive (expensive system calls). Let’s do a simple example that proves this:

review

Optimus

1 minute read

Published:

Optimus extends parts of the compiler and runtime of DryadLinQ in order to provide optimisations of the execution plan graph (EPG). An EPG is normally a static data structure that represents the computations and dataflow in a directed acyclic graph; the distributed execution engine uses the EPG to distributed tasks among other things.

type systems