Skip to content

Latest commit

 

History

History
18 lines (16 loc) · 801 Bytes

README.md

File metadata and controls

18 lines (16 loc) · 801 Bytes

SampleCppCode

A basic serializer/deserializer example in the form of a market data generator/processor built on top of Bazel. Generates random trades and quotes to a file, and then processes file and writes ONLY trades to output.

Things to look for:

  • State Machine Design for both the generator and processor
  • Buffered reads/writes
  • Use of alignas() for cache coherent programming
  • Use of static assert to enforce invariants
  • Decent testing coverage / error checking
  • Preventing materializing objects on the stack by smart use of reinterpret_cast with streams
  • General Modern C++ Features (std::byte vs char)
  • Performance

Possible extensions:

  • Logging (Multiple Levels)
  • Thread Safety / Multiple Concurrent Streams
  • Read / Write optimizations based on hardware
  • Creating config files