Tech News
← Home  ·  All topics

Garbage Collector

8 GoKawiil briefs on this topic

Polygonjs creator begins rewriting procedural geometry engine in Jai

The developer behind Polygonjs, an eight-year-old browser-based procedural geometry tool built on three.js, TypeScript and Vue.js, says he is now rewriting its core engine in the Jai programming language. He cites persistent frustrations with JavaScript's memory management, particularly the inability to reliably track or free memory used by generated geometries and unpredictable pauses caused by garbage collection.

Engineer finds swap can trigger 40ms Go GC stop-the-world pauses

A developer testing swap space to absorb memory spikes in production discovered that Go's garbage collector can experience severe stop-the-world pauses when its internal bookkeeping metadata gets swapped to disk. In a test on a Hetzner server, a median GC pause of about 51 microseconds ballooned to 40 milliseconds when that metadata resided on NVMe storage, with BPF tracing showing 228 page faults consuming nearly all of the pause time inside the collector's span-set reset routine.

Student turns binary-tree assignment into a C-based functional language

A data structures exercise to evaluate arithmetic expressions like 1+1+1 using a binary tree led one developer to build a full evaluator in C. The project expanded to include closures, a garbage collector, a custom memory allocator, a REPL, and a foreign function interface, dubbed graphLang. The author generalized arithmetic operators into a single function-application abstraction rather than separate cases for Add, Sub, Mul, and Div.

Go 1.26 and 1.27 add experimental SIMD support, including a portable API

Go 1.26 introduced architecture-specific SIMD APIs for amd64, and Go 1.27 extends this with support for arm64 (NEON) and wasm. Go 1.27 also adds an experimental, platform-agnostic 'simd' package modeled loosely on the C++ Highway library, letting developers write vector code once that runs across AVX, AVX2, AVX512, NEON, and wasm SIMD instructions, with software emulation on unsupported platforms.

Oracle Ships JDK 27 as Java's Latest General Availability Release

JDK 27, the reference implementation of Java 27, has reached General Availability after build 35 passed as the second release candidate with no critical bugs found. The release bundles nine JDK Enhancement Proposals, including G1 as the default garbage collector everywhere, post-quantum hybrid key exchange for TLS 1.3, compact object headers by default, and further previews of structured concurrency and pattern matching features. Oracle's GPL-licensed OpenJDK builds are already available for download, with other vendors expected to follow.

Google details Oilpan, its C++ garbage collector for Chromium's Blink engine

Google engineers published the first post in a series explaining Oilpan, the garbage collector Chromium adopted to manage C++ memory tangled with JavaScript objects in the DOM. The post covers Oilpan's mark-sweep design, its cross-component tracing link to V8, and concurrent object reclamation in its sweeper. The team also revealed plans to move Oilpan from Blink into V8 itself as a standalone garbage collection library.

Plush interpreter gets 17% speed boost by replacing Value enum with NaN-boxed 64-bit word

The developer behind the Plush programming language rewrote its core Value type, switching from a Rust tagged enum to a packed 64-bit representation (similar to NaN-boxing). This change, part of an ongoing series optimizing the Plush interpreter and garbage collector, produced a measured 17% speedup in interpreter performance.

Emacs 31.1 released with tree-sitter upgrades and unexec dumper retired

Emacs 31.1 has shipped without one dominant flagship feature, instead delivering a batch of quality-of-life improvements. Notable changes include broader tree-sitter support with a long-requested automatic grammar installer, and the formal deprecation of the decades-old unexec memory-dumping mechanism used to speed up startup. A planned new garbage collector was left out and pushed to the next major release, Emacs 32.