What follows is a collection of links which I have found to be particularly valuable. The list is somewhat actively maintained. Enjoy!
- GDB to LLDB Command Map
- GCC Extensions to the C Language
- Clang Compiler Extensions
- GCC Extensions to the C Language: Appendix - Linux System Programming
- The C10K Problem - Classic paper on modern concurrency issues and IO strategies
- High-Performance Network Programming in C - Overview of some advanced topics in network programming (gather/scatter IO, mmap'ed files, etc)
- Zero-Copy I: User Mode Perspective - Excellent little breakdown on strategies to reduce copy operations in network IO
- Topics in High-Performance Messaging - Brief summaries on a number of important TCP/UDP network concepts
- High-Performance Network Programming Part 1 - Basic performance-related network programming techniques
- High-Performance Network Programming Part 2 - More basic performance-related network programming techniques
- The SO_REUSEPORT Socket Option - How to allow multiple process/threads to listen on a common port without sharing a common socket
- Coping with the TCP TIME-WAIT state on busy Linux servers - Comprehensive overview of TCP TIME_WAIT, how to know if it's an actual problem, and strategies for dealing with it appropriately when it is.
- TCP_NODELAY and Small Buffer Writes - Information on using TCP_NODELAY to suppress automatic TCP coalescing (e.g. Nagle's algorithm) by the kernel
- TCP_CORK: More than you ever wanted to know - Information on using TCP_CORK to manually coalesce outgoing TCP data
- Prevent A Process from Terminating When Writing to a Broken Pipe - Various strategies for dealing with SIGPIPE
- Ignore SIGPIPE without affecting other threads in a process - How-to on thread-specific signal blocking
- Linux TCP/IP Tuning for Scalability
- Enabling High Performance Data Transfers
- Linux Tuning
- TCP Tuning Parameters for Different OS's
- Administer Linux on the Fly
- IPV4 Tuning
- Let's Make TCP Faster
- Speeding Up Networking - Van Jacobson Presentation
- libev - High performance event-loop library
- libeio - Libeio is a full-featured asynchronous I/O library for C, modelled in similar style and spirit as libev
- nanomsg - "a socket library that provides several common communication patterns. It aims to make the networking layer fast, scalable, and easy to use"
- Optimization of Computer Programs in C
- The Lost Art of C Structure Packing
- Bit Twiddling Hacks
- Fast to_lower for C
- Go Channels in Good old C
- The Disruptor Pattern
- A Potted Guide to Stackless Coroutines
- Boost Proactor
- Introduction to Non-blocking IO
- Coroutines in C
- Tony Finch - Coroutines in less than 20 lines of standard C
- Coroutines in one page of C
- Building Coroutines
- A Guide to Undefined Behavior in C and C++: Part 1
- A Guide to Undefined Behavior in C and C++: Part 2
- A Guide to Undefined Behavior in C and C++: Part 3
- What Every C Programmer Should Know about Undefined Behavior
- The C++ Faq - Marshall Cline's invaluable resource for C++ programmers
- The C++ Super-Faq - A wiki combination of Marshall Cline’s C++ FAQs and Bjarne Stroustrup’s C++ FAQ
- How to Handle OOM in C
- SO: How Can Inheritance Be Modelled in C
- SO: What Techniques/Strategies do People Use for Building Objects in C
- Object-oriented Programming in C
- Open Reusable Object Models
- Object Oriented Programming in C - Laurent Deniau
- The good-looking textured light-sourced bouncy fun smart and stretchy page - Why would you not click this?
- libecb - This project delivers you many gcc builtins, attributes and a number of generally useful low-level functions, such as popcount, expect, prefetch, noinline, assume, unreachable and so on
- Eli Bendersky's Website
- Doug Lea's Homepage
- John Regehr's Blog
- Christian Plesner Hansen
- The "Double Check Locking is Broken" Declaration
- IPv4
- IPv6
- UDP
- TCP
- HTTP/1.0
- HTTP/1.1 (Original RFC)
- HTTP/2.0
- HPACK
- QUIC
- RFC6455 (WebSockets)
- Pre-Standard WebSockets Specs:
- TLS
- MQTT 3.1.1