tengo que analizar un archivo, y de hecho una que leerlo primero, aquí está mi programa:Cómo analizar un archivo de 7 GB con Data.ByteString?
import qualified Data.ByteString.Char8 as B
import System.Environment
main = do
args <- getArgs
let path = args !! 0
content <- B.readFile path
let lines = B.lines content
foobar lines
foobar :: [B.ByteString] -> IO()
foobar _ = return()
pero, después de la compilación
> ghc --make -O2 tmp.hs
la ejecución pasa por el siguiente error cuando llamado con un archivo de 7 Gigabytes.
> ./tmp big_big_file.dat
> tmp: {handle: big_big_file.dat}: hGet: illegal ByteString size (-1501792951): illegal operation
gracias por cualquier respuesta!
¿En qué plataforma estás? –
@DanielFischer ¿cómo se llama 'plataforma'? si es el sistema operativo, entonces estoy usando Linux ubuntu 10.4. Gracias –
32 bit or 64? En general, un sistema operativo de 32 bits va a tener problemas con archivos tan grandes. –