sgcl
kit
sgcl | kit | |
---|---|---|
14 | 1 | |
141 | 4 | |
- | - | |
8.2 | 3.6 | |
24 days ago | 5 months ago | |
C++ | C | |
zlib License | GNU General Public License v3.0 or later |
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++
kit
-
The missing C++ smart pointer
In a toy language, with such a destructive move, I tried making use of it: https://github.com/srh/kit/blob/master/phase5/box.ki (Note that it has a default implementation of the move operation defined by the "move" keyword -- nowhere in the project is there a need for a manual implementation via a "do_move" implementation.) It worked fine for recursive data structures, because the language had tagged unions and no inheritence.
What are some alternatives?
rune - Rune is a programming language developed to test ideas for improving security and efficiency.
valuable - A C++ smart-pointer with value-semantics 💎
gcpp - Experimental deferred and unordered destruction library for C++
nottinygc - Higher-performance allocator for TinyGo WASI apps
bdwgc - The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (bdwgc, also known as bdw-gc, boehm-gc, libgc)
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.
lobster - The Lobster Programming Language
lone - The standalone Linux Lisp
rust - Empowering everyone to build reliable and efficient software.