diff --git a/osu.Framework.Benchmarks/BenchmarkAggregateBindable.cs b/osu.Framework.Benchmarks/BenchmarkAggregateBindable.cs index 3e01b96c6..bb6039a65 100644 --- a/osu.Framework.Benchmarks/BenchmarkAggregateBindable.cs +++ b/osu.Framework.Benchmarks/BenchmarkAggregateBindable.cs @@ -11,15 +11,27 @@ namespace osu.Framework.Benchmarks { private readonly BindableInt source1 = new BindableInt(); private readonly BindableInt source2 = new BindableInt(); + private readonly AggregateBindable boundAggregate = new AggregateBindable(((i, j) => i + j)); + private readonly AggregateBindable aggregate = new AggregateBindable(((i, j) => i + j)); + + [GlobalSetup] + public void GlobalSetup() + { + boundAggregate.AddSource(source1); + boundAggregate.AddSource(source2); + } [Benchmark] - public void AggregateRecalculation() + public void AddRemoveSource() { - var aggregate = new AggregateBindable(((i, j) => i + j)); - aggregate.AddSource(source1); aggregate.AddSource(source2); + aggregate.RemoveAllSources(); + } + [Benchmark] + public void SetValue() + { for (int i = 0; i < 100; i++) { source1.Value = i;