PaulMWatt / Alchemy

A framework to robustly process network messages and structured data
http://codeofthedamned.com/index.php/alchemy
Other
17 stars 2 forks source link

Create Preliminary Benchmarks #11

Closed PaulMWatt closed 10 years ago

PaulMWatt commented 10 years ago

I would like to develop a set of preliminary benchmarks for Alchemy to help measure its speed and possibly memory requirements to monitor through development.

If possible, I would like to develop benchmark comparisons related to other network protocol related frameworks.

PaulMWatt commented 10 years ago

Created a basic set of benchmark tests that run message processing for a 500 MB buffer for messages of these types: Basic (fundamental types) Packed Bits (reduces to fundamental types) Unaligned memory fields (fundamental types not aligned on processor memory boundaries) Complex (Nested structures, and fixed-size arrays)

The current test initializes a message from the buffer in host order, converts it to network order, then writes the data into an output buffer. This sequence is performed repeatedly until the input buffer has been processed.

Alchemy is currently 30% slower, which means there is room to grow. No packed bit access was performed, tests for that will need to be added. Test for dynamically sized messages with optional fields also need to be added.

Will return to benchmarking in the future to add other scenarios that represent real-world usages.