An open API service indexing awesome lists of open source software.

https://github.com/farmergreg/adif-benchmark

adif parser benchmarks
https://github.com/farmergreg/adif-benchmark

Last synced: 10 months ago
JSON representation

adif parser benchmarks

Awesome Lists containing this project

README

          

# adif-benchmark

A test suite to gauge performance of various golang [ADIF](https://www.adif.org/) parsers.

The test data was generated by running:
`./docker-bench.sh`

Finally, the results were sorted from fastest to slowest.
The same data in JSON format is benchmarked using the Go standard library to provide a fixed reference point for comparisons.

## Read Benchmark

cpu: AMD Ryzen 9 7950X 16-Core Processor

| Library | Iterations | Time (ns/op) | Memory (B/op) | Allocations |
|-----------------|-----------:|-------------:|--------------:|------------:|
| farmergreg ADI | ⭐ 2083 | ⭐ 547270 | 781104 | ⭐ 10058 |
| matir ADI | 866 | 1363796 | 1728728 | 38665 |
| Go Std Lib JSON | 648 | 1833157 | ⭐ 777858 | 25617 |
| flwyd ADI | 529 | 2271703 | 2706394 | 66889 |
| farmergreg JSON | 422 | 2843286 | 2835498 | 32201 |
| eminlin ADI | 220 | 5410024 | 4874325 | 93011 |

## Write Benchmark

cpu: AMD Ryzen 9 7950X 16-Core Processor

| Library | Iterations | Time (ns/op) | Memory (B/op) | Allocations |
|-----------------|-----------:|-------------:|--------------:|------------:|
| farmergreg ADI | ⭐ 2326 | ⭐ 505112 | ⭐ 571013 | ⭐ 3095 |
| Go Std Lib JSON | 1107 | 1087908 | 813832 | 17804 |
| farmergreg JSON | 642 | 1852393 | 1871253 | 22207 |
| matir ADI | 638 | 1863878 | 1490438 | 28673 |
| flwyd ADI | 566 | 2142214 | 2279077 | 54302 |
| eminlin ADI | N/A | N/A | N/A | N/A |

⭐ indicates best performance in each metric (higher iterations = better, lower time/memory/allocations = better)

## Related Projects

If you found this library useful, you may also be interested in the following projects:

- [Go ADIF Specification](https://github.com/farmergreg/spec)
- [farmergreg adif](https://github.com/farmergreg/adif)
- [matir adifparser](https://github.com/Matir/adifparser)
- [flwyd adif-multitool](https://github.com/flwyd/adif-multitool)
- [eminlin GoADIFLog](https://github.com/Eminlin/GoADIFLog)