Changes between Version 2 and Version 3 of PerformanceWarnings
- Timestamp:
- 10/05/10 02:06:24 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
PerformanceWarnings
v2 v3 33 33 * Warn about lazy state monads 34 34 * 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` 35 40 36 41 == Output format == … … 38 43 We could emit warnings about line / col number of values that "probably should be strict" or "have unnecessary bang patterns". 39 44 40 A more advanced option would be to reuse -fhpcto emit colorized source.45 A more advanced option would be to reuse `-fhpc` to emit colorized source. 41 46 42 47 == Assertions == 43 48 44 Once we can spot problems, the user could assert, via ANNOTATIONs, that particular properties must hold. These could trigger -Werrors.49 Once we can spot problems, the user could assert, via ANNOTATIONs, that particular properties must hold. These could trigger `-Werror`s. 45 50 46 51 == Results == … … 48 53 Results for quality of the warnings can be measured: 49 54 50 * Apply -fwarn-performanceto a program55 * Apply `-fwarn-performance` to a program 51 56 * Do what it says 52 57 * Measure the speedup. … … 54 59 == Implementation == 55 60 56 Add a -fwarn-performanceflag that does two things:61 Add a `-fwarn-performance` flag that does two things: 57 62 58 63 * unnec. bang patterns/seq after strictness analysis
