Hi, I am currently playing around whereby the following questions arose: I use currently Hugs (1.4.) 1) My application has a huge amount of memory (from parsing a text representation of an PCB, i.e. CAD data) Since the data is used in a totally different sequence than it is read, I guess lazy evaluation does not help too much, and therefore all this data has to be present during computation. What is the internal overhead (not only in Hugs) for Integers, e.g. stort in lists, arrays etc. That is, if I notice that my process gets too large and starts to swap what can I do to reduce the size of the physical representation 2) In order to experiment I would like to have my input data like a static data object. I know that my file is not changed (or better I _very_ strongly hope so!). If I use readFile I have to put everything "into the loop". For the final program (propably translated with ghc before execution) this is no problem, but for playing around I really would like to have an option for getting rid of the action. I mean if could load the CAD data when the program is loaded this would not contradict the "Functional Philosophy" because I could translate the data into Haskell syntax and load it along with the code, though I would not like this with a file 4 MByte size. We do not put "Action"-restrictions on functions coming from the source file, do we? I am aware that a general solution would be hard for a compiler, but in a interpreter? Andreas --------------------------------------------------------------- Andreas Doering Medizinische Universitaet zu Luebeck Institut fuer Technische Informatik Ratzeburger Allee 160 D-23538 Luebeck Germany Tel.: +49 451 500-3741 Fax: +49 451 500-3687 Email: [EMAIL PROTECTED] ----------------------------------------------------------------
Memory efficiency and compile-time I/Os
Andreas C. Doering Sat, 17 Apr 1999 17:08:14 +0200 (MET DST)