public void Equals_is_faster_than_boxing_primitives_and_calling_equals() { var valueObject1 = new SomeValueObject(1); var valueObject2 = new SomeValueObject(2); var results = Performance.Test(10_000_000, output, ("boxing", () => valueObject1.BoxingEquals(valueObject2)), ("direct", () => valueObject1.DirectEquals(valueObject2)), ("equals", () => valueObject1.ValueEquals(valueObject2))); results["equals"].Should().BeLessThan((long)(results["boxing"] / 2)); }