Changes between Version 2 and Version 3 of PerformanceWarnings


Ignore:
Timestamp:
Oct 5, 2010 9:06:24 AM (4 years ago)
Author:
simonmar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PerformanceWarnings

    v2 v3  
    3333 * Warn about lazy state monads 
    3434 * Warn about lazy tuples 
     35 * Warn about unboxed constructor fields that had to be reboxed for passing to a non-strict function 
     36 * Warn about join points that aren't let-no-escapes 
     37 * Warn about lazy projections that aren't THUNK_SELECTORs 
     38 * Warn about possible space leaks due to `-ffull-laziness` 
     39 * Warn about possible loss of sharing due to `-fstate-hack` 
    3540 
    3641== Output format == 
     
    3843We could emit warnings about line / col number of values that "probably should be strict" or "have unnecessary bang patterns". 
    3944 
    40 A more advanced option would be to reuse -fhpc to emit colorized source. 
     45A more advanced option would be to reuse `-fhpc` to emit colorized source. 
    4146 
    4247== Assertions == 
    4348 
    44 Once we can spot problems, the user could assert, via ANNOTATIONs, that particular properties must hold. These could trigger -Werrors. 
     49Once we can spot problems, the user could assert, via ANNOTATIONs, that particular properties must hold. These could trigger `-Werror`s. 
    4550 
    4651== Results == 
     
    4853Results for quality of the warnings can be measured: 
    4954 
    50  * Apply -fwarn-performance to a program 
     55 * Apply `-fwarn-performance` to a program 
    5156 * Do what it says 
    5257 * Measure the speedup. 
     
    5459== Implementation == 
    5560 
    56 Add a -fwarn-performance flag that does two things: 
     61Add a `-fwarn-performance` flag that does two things: 
    5762   
    5863 * unnec. bang patterns/seq after strictness analysis