timemory 3.3.0
Modular C++ Toolkit for Performance Analysis and Logging. Profiling API and Tools for C, C++, CUDA, Fortran, and Python. The C++ template API is essentially a framework to creating tools: it is designed to provide a unifying interface for recording various performance measurements alongside data logging and interfaces to other tools.
ring_buffer.hpp File Reference
#include <algorithm>
#include <cmath>
#include <functional>
#include <iomanip>
#include <iostream>
#include <sstream>
#include <stdexcept>
#include <utility>
#include <vector>
#include "timemory/storage/ring_buffer.cpp"
+ Include dependency graph for ring_buffer.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tim::base::ring_buffer
 Ring buffer implementation, with support for mmap as backend (Linux only). More...
 
struct  tim::data_storage::ring_buffer< Tp >
 Ring buffer wrapper around tim::base::ring_buffer for data of type Tp. If the data object size is larger than the page size (typically 4KB), behavior is undefined. During initialization, one requests a minimum number of objects and the buffer will support that number of object + the remainder of the page, e.g. if a page is 1000 bytes, the object is 1 byte, and the buffer is requested to support 1500 objects, then an allocation supporting 2000 objects (i.e. 2 pages) will be created. More...
 

Namespaces

namespace  tim
 
namespace  tim::data_storage
 
namespace  tim::base
 

Macros

#define TIMEMORY_RING_BUFFER_INLINE   inline
 

Macro Definition Documentation

◆ TIMEMORY_RING_BUFFER_INLINE

#define TIMEMORY_RING_BUFFER_INLINE   inline

Definition at line 528 of file ring_buffer.hpp.