如何使用ByteString在Haskell中输出Integer数组?

时间:2014-03-10 17:23:15

标签: arrays algorithm haskell output bytestring

我的示例代码用于定义和填充然后输出(整数)IOArray:

{-# OPTIONS_GHC -O2 #-}
{-# LANGUAGE BangPatterns #-}

import Data.Array
import Data.Array.IO

for_ xs f =  mapM_ f xs

a_size = 10000 :: Int

main :: IO()
main = do 
      a <- newArray (0,a_size-1) 1 :: IO (IOArray Int Integer)
      for_ [3,4..(a_size-1)] $ \i -> do -- generate the a array
         t1 <- readArray a (i-3)
         t2 <- readArray a (i-2)
         t3 <- readArray a (i-1)
         writeArray a i (4*t1+t2+2*t3)
      for_ [0,1..(a_size-1)] $ \i -> do -- print the terms of array
         temp <- readArray a i
         print(temp)
      return()

显然,我的真实代码计算(另一个)'一个'整数数组的时间更长。我想使用bytestring来加速输出部分,但不知道该怎么做。

0 个答案:

没有答案