Rework SuperChars into something that:
* Doesn't crash in asserts configurations (i.e. has valid Characters)
* Actually runs (i.e. use blackHole on comparison result)
* Runs in around 1ms (it's cubic complexity in payload size)
Most of these recently added benchmarks have too low loop multiplier that results in near zero or zero measured runtime.
Since fixing this will change the runtimes, it is also an opportunity to properly apply the new naming convention.
Adjusted the multipliers to run in under 1000 μs.
The inner loop multipliers are divided by the `legacyFactor` to achieve the same reported runtime, but in a shorter time and with better precision (less accumulated error).
Refactored to use shared test method and inlined runFunctions.
Re-enabled `Large` test errorneously disabled in #20411. Removed `skip` tags, as this was the last use.
Refactored to use shared test method and inlined runFunctions.
Extracted setup overhead.
Removed `Large` variant, as it was testing the same underlying implementation as `Medium`.
Refactored to use shared test method and inlined runFunctions.
Extracted setup overhead.
`blackHole` is ubiquitous in SBS, no need to state the obvious.
Refactored to use shared test method and inlined runFunctions.
Extracted setup overhead.
Removed `Large` variant, as it was testing the same underlying implementation as `Medium`.
Refactored to use shared test method and inlined runFunctions.
Extracted setup overhead.
`blackHole` is ubiquitous in SBS, no need to state the obvious.
Removed the disabled Large variants (tagged `.skip`).
We might re-introduce proper benchmarks for the `LargeSlice` implementation later, but for **that** the capacity has to be at least Int32.max (i.e. over 2GB). The `sampleData(.veryLarge)` was only 1GB.
* Fixing some fixmes on stdlib Set
* Adding @inline attr
* Fixing spaces
* Adding isEmpty as fast path in other places where is possible.
* Quotes on variable name on comment.
* Update stdlib/public/core/Set.swift
Co-Authored-By: LucianoPAlmeida <passos.luciano@outlook.com>
* Adding benchmark for isDisjoint Set method
* Adding empty sets to benchmark
* Fixing the factor on benchmarks and naming warnings for empty 5 words