I'm trying to measure the performance of some func:

```
let randomNumbers = (1...10_000_000).map { _ in Int.random(in: 0...999) }
let number = Int.max
self.measure {
// Time: 2.466 sec
randomNumbers.forEach { _ in
let _ = number.digits2
let _ = number.digits2
let _ = number.digits2
}
}
// vs.
self.measure {
// Time: 4.389 sec
(1...10_000_000).forEach { _ in
let _ = number.digits2
let _ = number.digits2
let _ = number.digits2
}
}
```

the second measure is much slower

## Int.digits2

```
extension Int {
var digits: Int {
// Call this C func
Int(count_digit(Int64(self)))
}
var digits2: Int {
self < 10 ? 1 :
self < 100 ? 2 :
self < 1_000 ? 3 :
self < 10_000 ? 4 :
self < 100_000 ? 5 :
self < 1_000_000 ? 6 :
self < 10_000_000 ? 7 :
self < 100_000_000 ? 8 :
self < 1_000_000_000 ? 9 :
self < 10_000_000_000 ? 10 :
self < 100_000_000_000 ? 11 :
self < 1_000_000_000_000 ? 12 :
self < 10_000_000_000_000 ? 13 :
self < 100_000_000_000_000 ? 14 :
self < 1_000_000_000_000_000 ? 15 :
self < 10_000_000_000_000_000 ? 16 :
self < 100_000_000_000_000_000 ? 17 :
self < 1_000_000_000_000_000_000 ? 18 :
19
}
}
```