bf_jit
blend2d
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bf_jit
-
Adventures in JIT compilation
I think writing a brainfuck JIT is a great hobby project for learning x86 assembly and the basics of how jit compilation of bytecode works. I also wrote an x64 jit for brainfuck in c++ ( https://github.com/ccapitalK/bf_jit ) , it's surprising how similar it ended up being architectured to the code written in part 2 of this post. It's moderately fast (runs mandelbrot in about 1.1 seconds, and runs towers of hanoi in about 0.2 seconds).
- bf_jit, my over-engineered x64 JIT compiler for Brainfuck
blend2d
-
Does anyone know any good open source project to optimize?
Blend2D: https://blend2d.com/
- Blend2D – Fast 2D vector graphics library
-
Blending Modes
I don't know the history, but there is supposedly a fixed set of Porter Duff blend modes, specific algorithms. For example, this library:
> Blend2D supports all Porter & Duff compositing operators
https://blend2d.com/
-
X11 vs Framebuffer hardware accel.
If you can make the "putting the pixels on the screen" part fast, blend2d is a very good software rasterization solution I think.
-
.NET 7 introduces Native AOT
regarding the topic of compiling shaders for a 2D GUI, using a JIT is a key advantage, see e.g. https://github.com/blend2d/blend2d
What are some alternatives?
asmjit - Low-latency machine code generation
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
jank - A Clojure dialect hosted on LLVM with native C++ interop
firebird - Multi-platform emulator of TI Nspire calculators
vemips - MIPS32r6 Emulator
SoftwareRenderer - Software rendering engine with PBR. Built from scratch on C++.
mull - Practical mutation testing and fault injection for C and C++
integrated-lighting-control
fast_brainfuck.lua - High performance brainfuck transpiler/interpreter for Lua with FFI support. Very fast implementation with multiple optimization passes.
Memake - Yeet! C++ 2D graphics library to output primitives and other custom shapes, easily.
skybison - A fork of Instagram's experimental performance oriented greenfield implementation of Python. It features small objects; a moving GC; hidden classes; bytecode inline caching; type-specialized bytecode; an experimental template JIT.