Hi Jeff
Thanks for the tip. Now its working but scaling is not good.
[mukesh.tiwari@pg155-n3 ParallelStrat]$ time ./Main +RTS -N1
1000001

real    0m0.591s
user    0m0.517s
sys    0m0.060s


[mukesh.tiwari@pg155-n3 ParallelStrat]$ time ./Main +RTS -N2 -s
1000001
     618,757,264 bytes allocated in the heap
     197,678,448 bytes copied during GC
      34,481,184 bytes maximum residency (11 sample(s))
      19,652,184 bytes maximum slop
              88 MB total memory in use (0 MB lost due to fragmentation)

                                    Tot time (elapsed)  Avg pause  Max pause
  Gen  0       670 colls,   669 par    0.28s    0.21s     0.0003s    0.0015s
  Gen  1        11 colls,    11 par    0.36s    0.25s     0.0225s    0.0523s

  Parallel GC work balance: 1.14 (24701953 / 21591478, ideal 2)

                        MUT time (elapsed)       GC time  (elapsed)
  Task  0 (worker) :    0.17s    (  0.09s)       0.64s    (  0.46s)
  Task  1 (worker) :    0.81s    (  0.56s)       0.00s    (  0.00s)
  Task  2 (bound)  :    0.16s    (  0.10s)       0.64s    (  0.46s)
  Task  3 (worker) :    0.81s    (  0.56s)       0.00s    (  0.00s)

  SPARKS: 2 (2 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)

  INIT    time    0.00s  (  0.00s elapsed)
  MUT     time    0.17s  (  0.10s elapsed)
  GC      time    0.64s  (  0.46s elapsed)
  EXIT    time    0.00s  (  0.00s elapsed)
  Total   time    0.80s  (  0.56s elapsed)

  Alloc rate    3,705,754,641 bytes per MUT second

  Productivity  20.7% of total user, 30.1% of total elapsed

gc_alloc_block_sync: 12718
whitehole_spin: 0
gen[0].sync: 0
gen[1].sync: 0


real    0m0.575s
user    0m0.805s
sys    0m0.300s


Regards
Mukesh Tiwari

On Thu, Apr 19, 2012 at 6:56 AM, Jeff Shaw <shawjef3@msu.edu> wrote:
Hello Mukesh Tiwari,
I'm wondering what happens if you replace "return ()" with "print (last xs)".

Jeff

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe