High performance logging library for run-time efficiency with multithreaded support - Low, Chun Ee (2024)

(untitled)
This project falls within the field of Software Engineering, specifically focusing on the development of a high-performance logging library optimized for run-time efficiency with multithreaded support. The primary issues addressed in this work are enhancing user-friendliness, maximizing performance, and making source code to be easier to understand. To tackle these challenges, the methodology involves utilizing the fmt library in C++, implementing a multiple-producer, multiple-consumer (MPMC) lock-free queue, leveraging advanced techniques such as futex for efficient synchronization, io_uring for asynchronous I/O operations, and C++ template metaprogramming for compile-time optimizations. The research process encompassed designing, implementing, and testing these components to ensure both usability and performance. The final product is a robust and efficient logging library written in C++, which demonstrates significant improvements in both usability, execution speed, and understandability compared to existing solutions.