
I am still experimenting with array's and I now do it in Hugs. I have created a little program that creates an array with 100001 elements(see below). After each operation I print the time so I can calculate how long it took to execute. As you can see, the times get increasingly bigger. I also swapped the first (0..10000)with the last action (90000..100000) and it seems the relation is dependant of the height of the index. This is strange, isn't it? And although I know have used Hugs, I want to use somekind of array that I can use in GHC, because I have seen some benchmarks of optimized code of GHC and I was quite impressed. Is there anyone else out there, that already has written a program that deals with large fast mutable arrays? I really want to use Haskell for a realworld application, but what I don't want is that I find out after the time that I am halfway programming from somebody:"Why didn't you use the x-array, because that's x-times as fast?" To understand below code somemore: "schrijf" means write. P.S. An array that I could use in GHC and in Hugs would be best, because I kind of like the more friendly look of WinHugs. Greets Ron module Test where import IOExts import CPUTime import Time schrijf arr i = writeIOArray arr i 5 main = do arr<-newIOArray (0,100000) 5 putStr "Arr aangemaakt" x<-getClockTime putStr $ show (x) sequence(map(schrijf arr) [0..10000]) x<-getClockTime putStr $ show (x) sequence(map(schrijf arr) [10000..20000]) x<-getClockTime putStr $ show (x) sequence(map(schrijf arr) [20000..30000]) x<-getClockTime putStr $ show (x) sequence(map(schrijf arr) [30000..40000]) x<-getClockTime putStr $ show (x) sequence(map(schrijf arr) [40000..50000]) x<-getClockTime putStr $ show (x) sequence(map(schrijf arr) [50000..60000]) x<-getClockTime putStr $ show (x) sequence(map(schrijf arr) [60000..70000]) x<-getClockTime putStr $ show (x) sequence(map(schrijf arr) [70000..80000]) x<-getClockTime putStr $ show (x) sequence(map(schrijf arr) [80000..90000]) x<-getClockTime putStr $ show (x) sequence(map(schrijf arr) [90000..100000]) x<-getClockTime putStr $ show (x) putStr "Klaar" Arr aangemaaktSun May 4 15:38:57 West-Europa (zomertijd) 2003Sun May 4 15:38:58 West-Europa (zome rtijd) 2003Sun May 4 15:38:59 West-Europa (zomertijd) 2003Sun May 4 15:39:02 West-Europa (zomerti jd) 2003Sun May 4 15:39:05 West-Europa (zomertijd) 2003Sun May 4 15:39:10 West-Europa (zomertijd) 2003Sun May 4 15:39:16 West-Europa (zomertijd) 2003Sun May 4 15:39:23 West-Europa (zomertijd) 20 03Sun May 4 15:39:32 West-Europa (zomertijd) 2003Sun May 4 15:39:42 West-Europa (zomertijd) 2003S un May 4 15:39:55 West-Europa (zomertijd) 2003Klaar __________________________________ Do you Yahoo!? The New Yahoo! Search - Faster. Easier. Bingo. http://search.yahoo.com