Мне интересно, как получить размер файла в haskell с наименьшими накладными расходами. Прямо сейчас у меня есть следующий код:
getFileSize :: FilePath -> IO Integer
getFileSize x = do
handle <- openFile x ReadMode
size <- hFileSize handle
hClose handle
return size
Это кажется довольно медленным. Я наткнулся на getFileStatus в System.Posix.Files, но не знаю, как он работает - по крайней мере, я получаю ошибки только при игре с ним в ghci. Кроме того, я не уверен, будет ли это работать в Windows (возможно, нет).
Итак, повторюсь: каков наилучший (и независимый от платформы) подход к получению размера файла в Haskell?