![]() |
Project
|
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 () |
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.
| using Clock = std::chrono::high_resolution_clock |
Definition at line 135 of file benchmark_ShmemVsMemfd.cxx.
| int main | ( | ) |
Definition at line 1164 of file benchmark_ShmemVsMemfd.cxx.