Skip to content

K-Finger/fix-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FIX Parser

Header-only AVX2 FIX parser. C++20.

#include <fix/FixParser.hpp>

std::array<fix::FieldView, 128> fields;
auto r = fix::Parser{}.parse(msg, fields);
if (r.ok) {
    for (size_t i = 0; i < r.fieldCount; ++i)
        std::cout << fields[i].tag << " = " << fields[i].value << "\n";
}

Around 17M msg/s on small messages, 13M on large. Run bench/benchmark.cpp on your computer.

Uses AVX2 intrinsics to scan 32 bytes per instruction, so you need a CPU that supports it (anything Intel Haswell / AMD Excavator or newer).

MIT.

Releases

No releases published

Packages

 
 
 

Contributors