---
title: "Mathijs Frank (@mathijs-frank) | Hashnode"
description: "Sharing low-level systems and performance projects. Read the latest articles by Mathijs Frank on Hashnode."
url: "https://hashnode.com/@mathijs-frank"
---

@mathijs-frank

# Mathijs Frank

@mathijs-frank · London, UK · Joined July 2026

Sharing low-level systems and performance projects.

### [Designing Memory for My Bytecode VM](https://mathijs-frank.hashnode.dev/designing-memory-for-my-bytecode-vm?utm_source=hashnode&utm_medium=feed)

The memory layout for my bytecode VM: why instructions and RAM live in separate arrays, and how that maps to real desktop and embedded hardware.

3 min read · [mathijs-frank.hashnode.dev](https://mathijs-frank.hashnode.dev/designing-memory-for-my-bytecode-vm?utm_source=hashnode&utm_medium=feed)

[Aug 11](https://hashnode.com/posts/designing-memory-for-my-bytecode-vm/6a7b79a85fd779d934ad0738)

### [Why my compiler won't optimize for you](https://mathijs-frank.hashnode.dev/why-my-compiler-wont-optimize-for-you?utm_source=hashnode&utm_medium=feed)

GCC optimized my C loop into a single instruction. What that means for hand-written assembly, and why my game's compiler is deliberately "dumb."

5 min read · [mathijs-frank.hashnode.dev](https://mathijs-frank.hashnode.dev/why-my-compiler-wont-optimize-for-you?utm_source=hashnode&utm_medium=feed)

[Jul 22](https://hashnode.com/posts/why-my-compiler-wont-optimize-for-you/6a60153b7110571232168074)

### [Rediscovering the three types of assembly instructions](https://mathijs-frank.hashnode.dev/rediscovering-the-three-types-of-assembly-instructions?utm_source=hashnode&utm_medium=feed)

Designing my VM's instruction set, I rediscovered the same jump, memory access, and processing split used by RISC-V and ARM.

3 min read · [mathijs-frank.hashnode.dev](https://mathijs-frank.hashnode.dev/rediscovering-the-three-types-of-assembly-instructions?utm_source=hashnode&utm_medium=feed)

[Jul 15](https://hashnode.com/posts/rediscovering-the-three-types-of-assembly-instructions/6a57ef6cf3222ba25043cff4)

### [The cost of an instruction](https://mathijs-frank.hashnode.dev/the-cost-of-an-instruction?utm_source=hashnode&utm_medium=feed)

Assigning realistic cycle costs to VM instructions, and the determinism problem that comes with multiple robots acting in the same cycle.

3 min read · [mathijs-frank.hashnode.dev](https://mathijs-frank.hashnode.dev/the-cost-of-an-instruction?utm_source=hashnode&utm_medium=feed)

[Jul 15](https://hashnode.com/posts/the-cost-of-an-instruction/6a57d2f75b8bf7533bf60be1)

### [Why I chose a bytecode VM instead of an AST walking interpreter](https://mathijs-frank.hashnode.dev/why-i-chose-a-bytecode-vm-instead-of-an-ast-walking-interpreter?utm_source=hashnode&utm_medium=feed)

Why I chose a bytecode VM over an AST walking interpreter for the custom language in my programming game, and the tradeoffs it brings.

2 min read · [mathijs-frank.hashnode.dev](https://mathijs-frank.hashnode.dev/why-i-chose-a-bytecode-vm-instead-of-an-ast-walking-interpreter?utm_source=hashnode&utm_medium=feed)

[Jul 13](https://hashnode.com/posts/why-i-chose-a-bytecode-vm-instead-of-an-ast-walking-interpreter/6a556a2a32e1d3abfca52b8a)
