... | ... | @@ -5,6 +5,8 @@ This page is very much a draft and may be incorrect in places. Please fix proble |
|
|
|
|
|
## Problems
|
|
|
|
|
|
- The whistle implementation: What does the subterms of a context mean?
|
|
|
|
|
|
- The Simplifier gets confused by the wrong OccInfo on things. So run occurence analysis at the end of supercompilation. The occurence analyser gets confused by having the wrong Unfoldings for id's though. We currently zap things here and there, but this is not the right way to do it.
|
|
|
|
|
|
## Insights
|
... | ... | @@ -109,6 +111,34 @@ Shortcomings of the prototype: |
|
|
```wiki
|
|
|
COST CENTRE MODULE %time %alloc
|
|
|
|
|
|
isHomemb Scp 19.7 46.8
|
|
|
peel Scp 9.5 3.5
|
|
|
dive Scp 5.1 8.2
|
|
|
maybeInline Scp 3.0 2.1
|
|
|
thenSmpl SimplMonad 2.1 0.2
|
|
|
match_list Unify 1.9 0.6
|
|
|
shiftR1 UniqFM 1.6 0.0
|
|
|
cmpName Name 1.5 1.8
|
|
|
match Scp 1.4 2.1
|
|
|
getCommonNodeUFMData UniqFM 1.4 0.1
|
|
|
shiftL1 UniqFM 1.4 0.0
|
|
|
match Unify 1.4 0.0
|
|
|
rhssOfAlts CoreSyn 1.3 2.1
|
|
|
>>=_aLo RegAlloc.Linear.State 1.3 0.4
|
|
|
mkLitString FastString 1.2 1.2
|
|
|
thenFC CgMonad 1.2 0.4
|
|
|
iBox FastTypes 1.1 1.5
|
|
|
thenNat NCGMonad 1.1 0.1
|
|
|
insert_ele UniqFM 1.0 1.5
|
|
|
plug Scp 0.7 1.6
|
|
|
renamings Scp 0.6 1.4
|
|
|
match_ty Scp 0.6 1.1
|
|
|
collectArgs CoreSyn 0.5 1.4
|
|
|
```
|
|
|
|
|
|
```wiki
|
|
|
COST CENTRE MODULE %time %alloc
|
|
|
|
|
|
correctNodeUFM UniqFM 16.1 23.3
|
|
|
isHomemb Scp2 9.3 19.7
|
|
|
peel Scp2 4.1 1.7
|
... | ... | |