 import TestsUtils
 
 public let DictionaryGroup = [
-  BenchmarkInfo(name: "DictionaryGroup", runFunction: run_DictionaryGroup, tags: [.validation, .api, .Dictionary]),
-  BenchmarkInfo(name: "DictionaryGroupOfObjects", runFunction: run_DictionaryGroupOfObjects, tags: [.validation, .api, .Dictionary],
+  BenchmarkInfo(name: "DictionaryGroup",
+    runFunction: run_DictionaryGroup,
+    tags: [.validation, .api, .Dictionary]),
+  BenchmarkInfo(name: "DictionaryGroupOfObjects",
+    runFunction: run_DictionaryGroupOfObjects,
+    tags: [.validation, .api, .Dictionary],
     setUpFunction: { blackHole(inputObjects) },
-    tearDownFunction: { inputObjects = nil }),
+    tearDownFunction: { inputObjects = nil },
+    legacyFactor: 9
+  ),
 ]
-
-let count = 10_000
-let result = count / 10
 
 @inline(never)
 public func run_DictionaryGroup(_ N: Int) {
   for _ in 1...N {
-    let dict = Dictionary(grouping: 0..<count, by: { $0 % 10 })
+    let dict = Dictionary(grouping: 0..<10_000, by: { $0 % 10 })
     CheckResults(dict.count == 10)
-    CheckResults(dict[0]!.count == result)
+    CheckResults(dict[0]!.count == 1_000)
   }
 }
 

  }
}

var inputObjects: [Box<Int>]! = (0..<count).map { Box($0) }

@inline(never)
public func run_DictionaryGroupOfObjects(_ N: Int) {

  for _ in 1...N {
    let dict = Dictionary(grouping: objects, by: { Box($0.value % 10) })
    CheckResults(dict.count == 10)
    CheckResults(dict[Box(0)]!.count == 100)
  }
}
