4. Re: Ways and Build Tags for Optimisation (Ashley Yakeley)
From: Ashley Yakeley [EMAIL PROTECTED]
Subject: Re: Ways and Build Tags for Optimisation
Date: Thu, 29 May 2003 20:40:59 -0700
Sorry for replying from a digest. (Replying from the archive is not
better, is it?)
Inside the module is an Array Char String created from a
[(Char,String)] that is a long list of Unicode character names.
We had very long compilation times when optimization or profiling was
switched on, for a [(String, Int)] list with about 5000 entries.
We worked around the problem by changing the list into a String
(escaping doublequotes) and using read to convert it to a list.
(Eventually we converted it to a Map.)
getCharacterName '\x189F'
MONGOLIAN LETTER MANCHU ALI GALI DDHA
We had latin1 characters in our strings.
Cheers Christian
For some reason, even though only getCharacterName is exported, when
optimisation is switched on, the interface file balloons a thousandfold:
$ ls -l UnicodeNames.*hi
-rw-r--r--1 ashley ashley5854480 May 28 02:49 UnicodeNames.hi
-rw-r--r--1 ashley ashley5854497 May 28 06:56 UnicodeNames.p_hi
-rw-r--r--1 ashley ashley 2385 May 28 15:59 UnicodeNames.q_hi
What's the best way to stop this? Is it reasonable to simply switch off
profiling just for these few files?
Also, I'd like to make all that data disappear when a binary program
that doesn't use it is stripped; currently it doesn't. Any ideas?
___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users