C and C++
Performance, memory safety, compilers and modern C++ in practice.
185 links, newest first.
- C and C++Post on X
FUTEX_PRIVATE_FLAG Can Reduce Same-Process Lock Overhead
The post says that in a multi-process system, futex waiters use a global kernel hash table. For threads sharing memory within one process, FUTEX_PRIVATE_FLAG tells the kernel to skip that shared hash.
This flag may reduce lock latency for synchronization between threads in the same process.
- C and C++Article
Brendan Gregg’s curated books page
The post links to Brendan Gregg’s books page, presenting it as a curated list spanning a broad range of CS domains.
It may help engineers find reading recommendations across CS topics.
- C and C++Paper
The Path of a Packet Through the Linux Kernel
The post links to a PDF about how a packet moves through the Linux kernel.
Understanding packet flow through the kernel can help engineers reason about Linux networking behavior.
- C and C++Article
Brendan Gregg’s Linux perf Examples
The page provides examples of using Linux perf (perf_events) for performance analysis and debugging. The post notes event sources including tracepoints, kprobes/uprobes, PMCs, and software events.
Engineers can use perf to profile and trace Linux systems across different event sources.
- C and C++Article
Brendan Gregg on why CPU utilization can mislead
Brendan Gregg’s article, “CPU Utilization is Wrong,” discusses the limitations of CPU utilization as a measure.
Engineers evaluating system performance should understand the limits of CPU utilization metrics.
- C and C++Repository
Yandex YaFF: Zero-Copy Serialization for the Protobuf Ecosystem
YaFF is a C++ serialization library that provides a zero-copy wire format for the Protobuf ecosystem.
Engineers evaluating serialization options can review its implementation and documentation.
- C and C++Article
Understanding glibc malloc internals
The article discusses glibc malloc and questions about how heap memory is obtained from the kernel and how memory is managed.
Understanding allocator internals can help engineers reason about heap allocation and memory management.
- C and C++Article
glibc Malloc Internals
The post links to the glibc wiki page on malloc internals.
Understanding allocator internals can help engineers reason about memory allocation behavior.
- C and C++Video
Learning the Linux Kernel with ftrace
A 2018 session by Steven Rostedt introduces Linux kernel tracing with ftrace and covers computer architecture, virtual memory, page tables, and how programs interact with the kernel.
Useful for engineers exploring kernel behavior and the interaction between programs and the operating system.
- C and C++Post on X
Ulrich Drepper on Writing Shared Libraries
The post points to “How to Write Shared Libraries,” a work by Ulrich Drepper.
Shared-library guidance can help engineers understand how to build and use libraries.
- C and C++Paper
Parsing JSON at Gigabyte-per-Second Speeds
The post recommends the paper “Parsing Gigabytes of JSON per Second” and a companion article about understanding SIMD.
Useful for engineers exploring SIMD and high-throughput JSON parsing.
- C and C++Paper
How to Write Shared Libraries
A document by Ulrich Drepper about writing shared libraries.
Useful background for engineers working with shared libraries.
- C and C++Video
Shung-Hsi Yu on ABIs and Cross-Language Interoperability
A talk by Shung-Hsi Yu discusses how ABIs enable communication between languages, including data layout changes, symbol versioning, and FFI.
Understanding ABI compatibility helps engineers diagnose failures at language and binary boundaries.
- C and C++Article
Using C++26 Reflection to Build a Universal Printer
Lieven de Cock demonstrates how to print information about class members using C++26 reflection.
Shows a practical use of reflection for inspecting and printing class members.
- C and C++Article
Cornell CS 6120 Self-Guided Compiler Course
Cornell’s CS 6120 self-guided course covers advanced compilers.
A self-guided course can help engineers study compiler concepts at their own pace.
- C and C++Article
Cornell CS 4120 Compiler Course Notes
A post points to Cornell’s CS 4120/ENGRD 4120 Spring course notes and describes them as an introduction to compilers.
The notes offer a course resource for engineers learning about compilers.
- C and C++Video
Back to Basics: Pointers and Memory at CppCon 2020
A CppCon 2020 talk by Ben Saks titled “Back to Basics: Pointers and Memory.”
The talk focuses on pointers and memory, core topics for C++ engineers.
- C and C++Paper
Introduction to Parallel Algorithms
The post points to an Introduction to Parallel Algorithms PDF and recommends Aalto’s free Programming Parallel Computers course, described as covering SIMD, pipelining, and cache optimization.
Parallel algorithms and CPU performance techniques are relevant to engineers optimizing compute-heavy code.
- C and C++Article
Aalto course on programming parallel computers
Aalto University's practical, hands-on course covers algorithm engineering for modern parallel computers, including multicore CPUs and GPUs.
It offers engineers practical instruction in designing programs for parallel hardware.
- C and C++Article
Valgrind tools for debugging and profiling
The Valgrind manual describes a suite of tools for debugging and profiling. It can detect memory-management and threading bugs and perform detailed profiling.
Engineers can use Valgrind to investigate runtime bugs and profile programs.
Build with AgentLog
Send your own newsletter
CommsHarbor keeps contacts, consent and one-click unsubscribe together.
Free workspace
Open CommsHarbor

