Working on G# (GSharp), a C# → CUDA C++ AOT transpiler built on Roslyn source generators (private while in development).
C# / .NET · CUDA · compilers · multi-precision arithmetic
Kassyi.Generators.DependencyProperty
The predecessor of G# and the first of my zero-allocation series: a Roslyn incremental source generator for dependency properties, routed events and weak events (WPF / UWP / WinUI / Uno / Avalonia / MAUI).
- Zero Gen2 GC and up to 30% faster generation than upstream, so the IDE does not lag while typing
- Streams formatted code through
ref structscopes instead of building and normalizing syntax trees - Reports invalid callbacks as compile-time errors instead of failing silently
A rewrite of the ThumbHash image placeholder encoder and decoder in TypeScript, benchmarked against the original in the browser.
- Encode about 6.3x and decode about 13.6x faster than the original (Chrome, Ryzen 9 7900X)
- Folds the DCT by symmetry, processes color channels separately, packs channels into one register (SWAR) and uses lookup tables
- Generates the unrolled hot loops from TypeScript generators and EJS templates, so the source stays readable
A web app that lays out addresses for Nagagata 3 (長形3号, the standard Japanese business envelope, 120 × 235 mm) and outputs a print-ready PDF in the browser.
- Live PDF preview while typing (React 19, TypeScript,
@react-pdf/renderer) - Fills in the address from the postal code
- Converts numbers and hyphens for vertical Japanese writing
| Part | Spec |
|---|---|
| CPU | AMD Ryzen 9 9900X (12 cores) |
| GPU | NVIDIA GeForce RTX 3070 Ti (8 GB), the CUDA target for G# |
| Memory | 64 GB DDR5-5600 |
| Storage | 3 × 1 TB SSD + 2 TB HDD |
| Displays | 2 × 4K + 2 × Full HD |
| OS | Windows 11 Pro, with WSL for Linux builds |
The benchmarks in the projects above were measured on a Ryzen 9 7900X, which this CPU replaced.




