# Towards Robust Performance Measurement

**URL:** <https://forums.swift.org/t/towards-robust-performance-measurement/11490>\
**Category:** Compiler\
**Tags:** performance, benchmarks\
**Created:** [March 29, 2018, 9:07pm UTC](https://forums.swift.org/t/towards-robust-performance-measurement/11490 "2018-03-29T21:07:00Z")\
**Posts on this page:** 1\
**Showing post:** 25

<div class="post-metadata">

**Author:** ![palimondo](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/palimondo/32/1144_2.png) [@palimondo](https://forums.swift.org/u/palimondo)\
**Post date:** [December 7, 2018, 4:28pm UTC](https://forums.swift.org/t/towards-robust-performance-measurement/11490/25 "2018-12-07T16:28:20Z")

</div>

I'm glad to report that with @Erik_Eckstein's help we are slowly but surely nearing the end of the quality improvement efforts in Swift Benchmark Suite. The **benchmark validation infrastructure** is finally in place (PRs [#20807](https://github.com/apple/swift/pull/20807 "Added Benchmark Check Report") and [#20074](https://github.com/apple/swift/pull/20074 "Baseline test")) to guard the quality of **newly added benchmarks**.

In PR [#20212](https://github.com/apple/swift/pull/20212 "Legacy Factor") we've implemented a workaround that enables us to lower the inner benchmark loop multipliers to achieve short runtimes which minimize the accumulated error, while reporting the runtimes adjusted by a **legacy factor** — this maintains the continuity of the Apple-internal long term performance tracking.

I'm currently in the middle of mind-numbingly boring process of applying the legacy factor throughout the SBS: PR [#20861](https://github.com/apple/swift/pull/20861 "Janitor Duty, Legacy Factor: A-C"). Once this is completed, I'll look into enabling multi-process (parallel) measurement with the `Benchmark_Driver`.

---

_[View the full topic](https://forums.swift.org/t/towards-robust-performance-measurement/11490)._
