Explore various optimization techniques to enhance code speed, especially in networking scenarios where processing packets efficiently is critical. Techniques covered include inline functions, compiler optimizations, advanced data structures like Swiss Tables, interleaved processing to reduce cache misses, and loop unrolling. Practical examples are used to demonstrate how these methods can reduce processing time from 1000 clocks per packet to just 65 clocks. The importance of benchmarking and understanding trade-offs in optimizations is also highlighted.
Table of contents
TranscriptOutline, and Background5G Packet ProcessingAttempt 0 - Start SimpleAttempt 1 - Inline FunctionsAttempt 2 - Let the Compiler Do the WorkAttempt 3 - Vector Instructions (AVX)Attempt 4 - Advanced Data StructuresAttempt 5 - Interleaved ProcessingAttempt 6 - Loop UnrollingTradeoffsWhat Can I Learn?Questions and Answers1 Comment
Sort: