The sure-fire way is to make a loop that doesn't allocate if the rules fire; 
after all that's the ultimate goal.  Then you can put it in 
tests/perf/should_run.

doing -ddump-simpl and greping for stuff that should/should-not be there is 
another alternative we use in places.

Simon

| -----Original Message-----
| From: glasgow-haskell-users-boun...@haskell.org [mailto:glasgow-haskell-
| users-boun...@haskell.org] On Behalf Of Johan Tibell
| Sent: 14 December 2012 20:54
| To: glasgow-haskell-users
| Subject: How do we best make sure {Int,Word,Float,Double} to
| {Int,Word,Float,Double} conversions stay efficient
| 
| Hi,
| 
| I've been tracking down a few (unrelated) performance bugs related to
| conversions between primitive types. What these issues had in common is
| that some rule failed to fire and the conversion went via Integer,
| killing performance. How do we best write a test that make sure that
| fromIntegral conversions between these types don't regress? Is it
| possible to test the output of the simplifier or do we have to do
| something less direct, like writing a loop that does such conversions
| and make sure that the allocation stay low?
| 
| -- Johan
| 
| _______________________________________________
| Glasgow-haskell-users mailing list
| Glasgow-haskell-users@haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to