Tag
This draft book chapter provides an infographic and detailed analysis of operation costs in CPU clock cycles for modern C++ CPUs, covering multiplication, division, and RTTI with latency tables for various architectures.
A developer built Luz, a C++20 path tracer from scratch with zero dependencies, featuring Monte Carlo path tracing, global illumination, BVH acceleration, and a Blender-to-Luz exporter.
The article discusses the pros and cons of using C-style void* pointers versus uint8_t* and std::span for passing memory blobs in C++, arguing for the simplicity and readability of void*.
A detailed catalogue of C++ standard library features that have been formally deprecated, informally discouraged, or are effectively broken but cannot be fixed due to ABI constraints, spanning from C++11 to C++26. The article argues a consistent pattern of the C++ committee shipping replacements for its own features, including a benchmark showing 58x P99 latency difference between Rust and C++ standard library containers.
The article discusses a C++/WinRT pattern for caching the result of a Windows Runtime IAsyncOperation, including handling failures, so that multiple coroutines can share the cached result or exception.
This pull request for the llama.cpp inference engine implements using f16 mask for Flash Attention to reduce VRAM usage.
The article explores whether using bulk memmove in std::remove_if can improve performance over the traditional per-element move, and finds that it does not, due to overhead from bookkeeping and memmove's overlap check.
Revisits Matt Austern's 2000 paper on segmented iterators, which enable hierarchical algorithms to exploit data structure segmentation for performance, and discusses modern adoption in libc++ and Boost libraries.
llama.cpp is an open-source C/C++ library for efficient LLM inference on various hardware, supporting multiple quantization formats and GPU backends. This README details its features, installation, and recent updates including Hugging Face cache migration and multimodal support.
GCC 16 introduces improved hierarchical error messages for C++ templates and updated SARIF machine-readable diagnostic output, enhancing developer experience.
The article describes building GOLDE, a simulator for Conway's Game of Life using the HashLife algorithm in modern C++, capable of simulating trillions of generations instantly.
Explores when C++ compilers can devirtualize virtual function calls, covering cases like known dynamic types and final keyword, with comparisons across GCC, Clang, MSVC, and ICC.
A developer recounts using LLMs to solve a decade-old bug in a Swift/C++ cross-platform music app, demonstrating how AI can assist in debugging complex issues.
Analyzes the undefined behavior of the C/C++ expression 'a = a++ + ++a;' for int a=5, demonstrating three possible results (11, 12, 13) due to compiler-dependent evaluation order and post-increment handling, with theoretical and experimental breakdown.
CRow is a new open-source build system and dependency manager for C/C++ that mimics the simplicity of Rust's Cargo.
planb-lpm is a portable, MIT-licensed C++17 library implementing efficient IPv6 longest-prefix-match (LPM) using a linearized B+-tree with AVX-512 SIMD, featuring dynamic FIB support, Python bindings, and comprehensive benchmarking against real BGP data.
A developer recounts tracking down a 34-year-old NULL-pointer bug in the EtherSlip DOS packet driver using Open Watcom’s heap-corruption sentinel.
NearlyFreeSpeech.NET rewrote their production C++ frontend infrastructure (nfsncore) in Rust, a critical system that handles routing, caching, and access control for all incoming requests. The migration was motivated by Rust's safety guarantees, performance, ecosystem strength, and the aging C++ codebase's limitations.
yaml-cpp is a YAML parser and emitter library for C++ that conforms to the YAML 1.2 specification.