ordo-one / package-benchmark

Swift benchmark runner with many performance metrics and great CI support
Apache License 2.0
313 stars 25 forks source link

feat(minor): Add logical writes as syscalls for macOS, add instruction count for m… #243

Closed hassila closed 5 months ago

hassila commented 5 months ago

Description

Adding new instruction counter for macOS (|libproc) as well as Linux (using perf events) Added logical writes for macOS to represent the sys call write counter.

Addresses #242

How Has This Been Tested?

Manually tested, added test case for logical writes.

Minimal checklist:

codecov[bot] commented 5 months ago

Codecov Report

Attention: Patch coverage is 72.85714% with 38 lines in your changes are missing coverage. Please review.

Project coverage is 65.30%. Comparing base (efac953) to head (4b27fdc).

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243/graphs/tree.svg?width=650&height=150&src=pr&token=hXHmhEG1iF&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one)](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one) ```diff @@ Coverage Diff @@ ## main #243 +/- ## ========================================== + Coverage 65.03% 65.30% +0.27% ========================================== Files 33 33 Lines 3466 3597 +131 ========================================== + Hits 2254 2349 +95 - Misses 1212 1248 +36 ``` | [Files](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one) | Coverage Δ | | |---|---|---| | [Benchmarks/Benchmarks/Histogram/Histogram.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Benchmarks%2FBenchmarks%2FHistogram%2FHistogram.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-QmVuY2htYXJrcy9CZW5jaG1hcmtzL0hpc3RvZ3JhbS9IaXN0b2dyYW0uc3dpZnQ=) | `44.73% <ø> (+0.16%)` | :arrow_up: | | [...urces/Benchmark/BenchmarkExecutor+Extensions.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FBenchmarkExecutor%2BExtensions.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvQmVuY2htYXJrRXhlY3V0b3IrRXh0ZW5zaW9ucy5zd2lmdA==) | `70.31% <100.00%> (+4.24%)` | :arrow_up: | | [...rk/OperatingSystemStats/OperatingSystemStats.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FOperatingSystemStats%2FOperatingSystemStats.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvT3BlcmF0aW5nU3lzdGVtU3RhdHMvT3BlcmF0aW5nU3lzdGVtU3RhdHMuc3dpZnQ=) | `100.00% <100.00%> (ø)` | | | [...stemStats/OperatingSystemStatsProducer+Linux.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FOperatingSystemStats%2FOperatingSystemStatsProducer%2BLinux.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvT3BlcmF0aW5nU3lzdGVtU3RhdHMvT3BlcmF0aW5nU3lzdGVtU3RhdHNQcm9kdWNlcitMaW51eC5zd2lmdA==) | `96.55% <100.00%> (+0.26%)` | :arrow_up: | | [Tests/BenchmarkTests/BenchmarkMetricsTests.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Tests%2FBenchmarkTests%2FBenchmarkMetricsTests.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-VGVzdHMvQmVuY2htYXJrVGVzdHMvQmVuY2htYXJrTWV0cmljc1Rlc3RzLnN3aWZ0) | `98.77% <100.00%> (+0.03%)` | :arrow_up: | | [...BenchmarkTests/OperatingSystemAndMallocTests.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Tests%2FBenchmarkTests%2FOperatingSystemAndMallocTests.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-VGVzdHMvQmVuY2htYXJrVGVzdHMvT3BlcmF0aW5nU3lzdGVtQW5kTWFsbG9jVGVzdHMuc3dpZnQ=) | `100.00% <100.00%> (ø)` | | | [Sources/Benchmark/BenchmarkExecutor.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FBenchmarkExecutor.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvQmVuY2htYXJrRXhlY3V0b3Iuc3dpZnQ=) | `90.44% <95.12%> (+0.99%)` | :arrow_up: | | [Sources/Benchmark/BenchmarkMetric+Defaults.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FBenchmarkMetric%2BDefaults.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvQmVuY2htYXJrTWV0cmljK0RlZmF1bHRzLnN3aWZ0) | `40.86% <50.00%> (+0.86%)` | :arrow_up: | | [Sources/Benchmark/BenchmarkMetric.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FBenchmarkMetric.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvQmVuY2htYXJrTWV0cmljLnN3aWZ0) | `61.78% <69.23%> (+0.17%)` | :arrow_up: | | [Sources/Benchmark/Statistics.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FStatistics.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvU3RhdGlzdGljcy5zd2lmdA==) | `60.20% <23.08%> (-6.07%)` | :arrow_down: | | ... and [1 more](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one) | | | [Files](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one) | Coverage Δ | | |---|---|---| | [Benchmarks/Benchmarks/Histogram/Histogram.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Benchmarks%2FBenchmarks%2FHistogram%2FHistogram.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-QmVuY2htYXJrcy9CZW5jaG1hcmtzL0hpc3RvZ3JhbS9IaXN0b2dyYW0uc3dpZnQ=) | `44.73% <ø> (+0.16%)` | :arrow_up: | | [...urces/Benchmark/BenchmarkExecutor+Extensions.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FBenchmarkExecutor%2BExtensions.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvQmVuY2htYXJrRXhlY3V0b3IrRXh0ZW5zaW9ucy5zd2lmdA==) | `70.31% <100.00%> (+4.24%)` | :arrow_up: | | [...rk/OperatingSystemStats/OperatingSystemStats.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FOperatingSystemStats%2FOperatingSystemStats.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvT3BlcmF0aW5nU3lzdGVtU3RhdHMvT3BlcmF0aW5nU3lzdGVtU3RhdHMuc3dpZnQ=) | `100.00% <100.00%> (ø)` | | | [...stemStats/OperatingSystemStatsProducer+Linux.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FOperatingSystemStats%2FOperatingSystemStatsProducer%2BLinux.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvT3BlcmF0aW5nU3lzdGVtU3RhdHMvT3BlcmF0aW5nU3lzdGVtU3RhdHNQcm9kdWNlcitMaW51eC5zd2lmdA==) | `96.55% <100.00%> (+0.26%)` | :arrow_up: | | [Tests/BenchmarkTests/BenchmarkMetricsTests.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Tests%2FBenchmarkTests%2FBenchmarkMetricsTests.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-VGVzdHMvQmVuY2htYXJrVGVzdHMvQmVuY2htYXJrTWV0cmljc1Rlc3RzLnN3aWZ0) | `98.77% <100.00%> (+0.03%)` | :arrow_up: | | [...BenchmarkTests/OperatingSystemAndMallocTests.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Tests%2FBenchmarkTests%2FOperatingSystemAndMallocTests.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-VGVzdHMvQmVuY2htYXJrVGVzdHMvT3BlcmF0aW5nU3lzdGVtQW5kTWFsbG9jVGVzdHMuc3dpZnQ=) | `100.00% <100.00%> (ø)` | | | [Sources/Benchmark/BenchmarkExecutor.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FBenchmarkExecutor.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvQmVuY2htYXJrRXhlY3V0b3Iuc3dpZnQ=) | `90.44% <95.12%> (+0.99%)` | :arrow_up: | | [Sources/Benchmark/BenchmarkMetric+Defaults.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FBenchmarkMetric%2BDefaults.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvQmVuY2htYXJrTWV0cmljK0RlZmF1bHRzLnN3aWZ0) | `40.86% <50.00%> (+0.86%)` | :arrow_up: | | [Sources/Benchmark/BenchmarkMetric.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FBenchmarkMetric.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvQmVuY2htYXJrTWV0cmljLnN3aWZ0) | `61.78% <69.23%> (+0.17%)` | :arrow_up: | | [Sources/Benchmark/Statistics.swift](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree&filepath=Sources%2FBenchmark%2FStatistics.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one#diff-U291cmNlcy9CZW5jaG1hcmsvU3RhdGlzdGljcy5zd2lmdA==) | `60.20% <23.08%> (-6.07%)` | :arrow_down: | | ... and [1 more](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one) | | ------ [Continue to review full report in Codecov by Sentry](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?dropdown=coverage&src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one). Last update [efac953...4b27fdc](https://app.codecov.io/gh/ordo-one/package-benchmark/pull/243?dropdown=coverage&src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ordo-one).
github-actions[bot] commented 5 months ago

Pull request had an unknown failure Pull request benchmark comparison [ubuntu-latest] with 'main' run at 2024-04-23T16:34:09+00:00