top | item 45451531

Show HN: Qbecc is a C compiler producing Go(Golang) ABI0 assembler

1 points| 0xjnml | 5 months ago |pkg.go.dev

The resulting assembler code runs on standard Go movable stacks. This is another way how to avoid the cost of CGo Go<->C context switch. However, as no silver bullets exist, the cost of running on movable stacks is not gone in full. It have shifted to the additional handling of goroutine-local allocations for addressable local variables.

The purpose of this experiment is to compare the modernc.org/ccgo/v4 and qbecc approaches with respect to resulting performance differences, if any.

The proof of concept has reached v0.1.0.

discuss

order

No comments yet.