Project
Loading...
Searching...
No Matches
benchmark_ShmemVsMemfd.cxx File Reference

Head-to-head benchmark: FairMQ shmem transport vs memfd+UDS fd passing. More...

#include <chrono>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <numeric>
#include <string>
#include <vector>
#include <fcntl.h>
#include <csignal>
#include <sys/mman.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/wait.h>
#include <unistd.h>
#include <fairmq/Channel.h>
#include <fairmq/Message.h>
#include <fairmq/Parts.h>
#include <fairmq/ProgOptions.h>
#include <fairmq/TransportFactory.h>

Go to the source code of this file.

Classes

struct  Scenario
 
struct  TimingResult
 
struct  MemfdReceiverTiming
 
struct  ApproachAResult
 
struct  ManifestEntry
 
struct  Manifest
 
struct  ApproachBResult
 
struct  SlabManifest
 
struct  OldestTFUpdate
 
struct  SenderSlabState
 
struct  ApproachCResult
 
struct  SlabReceiverTiming
 

Typedefs

using Clock = std::chrono::high_resolution_clock
 

Functions

int main ()
 

Detailed Description

Head-to-head benchmark: FairMQ shmem transport vs memfd+UDS fd passing.

Self-contained single-file benchmark using fork() for sender/receiver. Approach A: FairMQ shmem push/pull channel with per-message allocation Approach B: memfd (Linux) or shm_open (macOS) + bump allocator + UDS SCM_RIGHTS

Definition in file benchmark_ShmemVsMemfd.cxx.

Typedef Documentation

◆ Clock

using Clock = std::chrono::high_resolution_clock

Definition at line 135 of file benchmark_ShmemVsMemfd.cxx.

Function Documentation

◆ main()

int main ( )

Definition at line 1164 of file benchmark_ShmemVsMemfd.cxx.