sgcl
nottinygc
sgcl | nottinygc | |
---|---|---|
14 | 1 | |
141 | 60 | |
- | - | |
8.2 | 7.1 | |
25 days ago | about 2 months ago | |
C++ | Go | |
zlib License | MIT License |
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.
sgcl
-
Garbage Collection for Systems Programmers
The SGCL repository contains the source code for this benchmark that uses the tracked pointers: https://github.com/pebal/sgcl/blob/main/examples/treap/treap...
- SGCL: A real-time Garbage Collector for C++
-
Boehm Garbage Collector
You can look at the SGCL garbage collector for C++: https://github.com/pebal/sgcl. It works in a separate thread, is locks-free and never stops the world.
-
The missing C++ smart pointer
It will never be called gc_ptr because C++ programmers have an allergy to the term GC. However, an attempt was made to implement a similar solution. Take a look at tracked_ptr: https://github.com/pebal/sgcl
-
Boehm-Demers-Weiser Garbage Collector
SGCL is a real-time garbage collector for C++ without any pauses.
https://github.com/pebal/sgcl
-
Now the C++ removed garbage collector support, is it still possible the have a global garbage collector in a C++ application?
Removed GC support was useless. You can have GC pointers in C++.
-
The Year of C++ Successor Languages
Mutators are threads that allocate memory and manipulate pointers, they can work completely independently of the GC. A mutator needs only to tag an object when copies or moves a pointer to this object. The GC detects this tag and marks the object as alive. Here is a working implementation for C++: https://github.com/pebal/sgcl
-
Optimizing Concurrent Mark&Sweep latency? What are the ways?
I don't know Rust but you can have a pauseless GC in C++. You just need to provide asynchronous access to root pointers.
- SGCL: Real-time garbage collector for C++
nottinygc
-
Boehm-Demers-Weiser Garbage Collector
And it works great with WebAssembly! I was pleasantly surprised to be able to use this mature GC to power garbage collection for Go when compiled to Wasm.
https://github.com/wasilibs/nottinygc
What are some alternatives?
rune - Rune is a programming language developed to test ideas for improving security and efficiency.
proxy-wasm-go-sdk - WebAssembly for Proxies (Go SDK)
valuable - A C++ smart-pointer with value-semantics ๐
aplette - This is a new take on an old language: APL. The goal is to pare APL down to its elegant essence. This version of APL is oriented toward scripting within a Unix-style computing environment.
gcpp - Experimental deferred and unordered destruction library for C++
capsule - A Capsule application is a runner (or launcher) of wasm functions. Capsule HTTP can serve the functions through HTTP (itโs possible to use Capsule as a simple CLI with Capsule CLI). And soon: NATS and MQTT
kit - not-in-progress compiler for Windows/Linux/macOS
go-re2 - Drop-in replacement for regexp using re2, for any Go app
bdwgc - The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (bdwgc, also known as bdw-gc, boehm-gc, libgc)
vecty - Vecty lets you build responsive and dynamic web frontends in Go using WebAssembly, competing with modern web frameworks like React & VueJS.