Friendship Ended with the Garbage Collector

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • libraries

    ASL libraries will be migrated here in the stlab namespace, new libraries will be created here.

  • I don’t know about that, but I am using stlab::copy_on_write in production and it’s amazing. It’s like a cross among a T, a unique_ptr, and a shared_ptr. https://github.com/stlab/libraries/blob/main/stlab/copy_on_w...

  • zig

    General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

  • You might be interested in [Zig](https://ziglang.org). Allocation is manual. Standard library containers and functions require an allocator to be passed to them, so nothing allocates on the heap unless it's explicitly told to. Cleanup can be done at end of scope via defer / errdefer.

    Seamless interop with C, even when cross compiling which Zig handles natively: the standard install of Zig comes with a "zig cc" wrapper around clang that allows you to cross compile C and zig code for any number of target architectures (it includes C standard library headers and code for them).

    Zig is the only language I've come across which functions perfectly as a better C.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • ixy-languages

    A high-speed network driver written in C, Rust, C++, Go, C#, Java, OCaml, Haskell, Swift, Javascript, and Python

  • Not really, only marketing makes RC seem better than tracing GC.

    https://github.com/ixy-languages/ixy-languages

    https://forums.swift.org/t/swift-performance/28776

    RC also has pauses, pretty lengthy ones with cascade deletions, and can even lead to stack overflows.

    "CppCon 2016: Herb Sutter “Leak-Freedom in C++... By Default""

    https://youtu.be/JfmTagWcqoE

    Which is why as GC algorithm reference counting is only for toy implementations.

    Any reference counting implementation that cares about performance in multicore environments is almost indistinguishable from a tracing GC implementation.

    In fact, C++/WinRT, uses background threads to diminish the performance impact of calling destructor and cascading deletions.

    https://devblogs.microsoft.com/oldnewthing/20191018-00/?p=10...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts