news.volyx.in

Fil's Unbelievable Garbage Collector (fil-c.org)

603 points by pizlonator · 325 days ago · 281 comments on HN

Article summary

Fil-C is a programming language that uses a parallel concurrent on-the-fly grey-stack Dijkstra accurate non-moving garbage collector called FUGC. The collector is designed to work with existing C programs and provides features such as memory safety, C/C++ compatibility, and modern tooling. FUGC is a complex algorithm that uses a combination of techniques to achieve high performance and low pause times. The article discusses the design and implementation of FUGC and its potential benefits and trade-offs.

Main themes

  • Garbage Collection
  • Memory Safety
  • C/C++ Compatibility
  • Performance Optimization
  • Programming Language Design

What commenters say

  • The performance overhead of Fil-C's garbage collector may be negligible for many use cases, but it can be significant for certain applications.
  • Some developers argue that all code is performance-sensitive, while others claim that many programs can tolerate significant slowdowns without noticeable effects.
  • The use of inline assembly and SIMD hacks can achieve significant performance gains, but may not be portable across different CPU architectures.
  • Fil-C's garbage collector may introduce significant slowdowns for certain programs, with some benchmarks showing slowdowns of 9x or 49x compared to traditional C implementations.
  • The choice of programming language and implementation details can have a significant impact on performance, and trade-offs must be carefully considered.
  • Some developers believe that the benefits of memory safety and ease of use outweigh potential performance costs, while others prioritize raw performance above all else.