my microbenchmark compiled with ghc-9.4.8 -O2 is 3.18 times faster when using Int than Int64, even though both are signed 64bit integer types on my platform.

similarly, runhugs is 1.63 times faster when using Int than Int32.

#Haskell #GHC #Hugs98 #optimisation

```
import System.Time (ClockTime(..), getClockTime)

main :: IO ()
main = do
TOD start_s _ <- getClockTime
let loop :: Int -> Int -> IO ()
loop sum i = do
TOD now_s _ <- getClockTime
if now_s - start_s < 20
then do
let sum' = sum + lcm 666 i
i' = i + 1
sum' `seq` i' `seq` loop sum' i'
else do
print i
print sum
loop 0 1
```

@mathr Isn't Int only 62 or 63 bits?
@athas not if the Bounded instances don't lie
@mathr you're right. Int probably has to be boxed in all cases for laziness reasons, except when strictness analysis allows otherwise. I still wonder if Int is subject to some special-case optimisation.