my last letter

Serge D. Mechveliani mechvel at botik.ru
Tue Apr 21 08:23:12 EDT 2009


Dear GHC team,

I withdraw my last bug report.
It was about processing a long list on a 64 bit machine оn GHC-6.10.2.

First, I cannot reproduce (?) this bug report invitation from GHC on 
using  +RTS -M4000m 

Second, I have found that the process interruption only occurs when 
this test program runs out of RAM. And personally, I would rather use  
"+RTS -M15000m -RTS"  and not to consider at all the system effects
after the RAM overflow. 

Third, I apply now a more clear example, whith [Int] instead of 
[Integer]:

---------------------------------------------------------
import List (genericReplicate)
main = putStr (shows res "\n")
       where
       e     = -- 22, 23 ... 
       list  = genericReplicate (2^e) 1  :: [Int]
       rList = reverse list
       res   = myMin $ zipWith (+) list rList

myMin []         = error "\nmyMin []\n"
myMin [x]        = x
myMin (x: y: xs) = if  x > y  then  myMin (y: xs)  else  myMin (x: xs)
------------------------------------------------------

  ghc -O --make Test64
  ./Test64 +RTS -M800m   -RTS       -- for 1  Gb  32 bit machine
  ./Test64 +RTS -M12000m -RTS       -- for 16 Gb  64 bit machine

The last possible  e  for the small machine (800   Mb)  occurs  24,
                      for the big   machine (12000 Mb)  occurs  27
-- which looks reasonable.
The timing also looks reasonable.

Regards,

-----------------
Serge Mechveliani
mechvel at botik.ru




More information about the Glasgow-haskell-users mailing list