@@ -16,7 +16,7 @@ import KindPredicatesLog
16
16
float getBadness ( ComputeSimple simple ) {
17
17
exists ( float maxTupleCount , float resultSize , float largestDependency , float denom |
18
18
resultSize = simple .getResultSize ( ) and
19
- extractInformation ( simple , maxTupleCount , _, _, _, _ ) and
19
+ extractInformation ( simple , maxTupleCount , _, _, _) and
20
20
largestDependency = max ( simple .getDependencies ( ) .getADependency ( ) .getResultSize ( ) ) and
21
21
denom = resultSize .maximum ( largestDependency ) and
22
22
denom > 0 and // avoid division by zero (which would create a NaN result).
@@ -28,24 +28,25 @@ pragma[nomagic]
28
28
predicate hasPipelineRun ( ComputeSimple simple , PipeLineRun run ) { run = simple .getPipelineRun ( ) }
29
29
30
30
predicate extractInformation (
31
- ComputeSimple simple , float maxTupleCount , int pipelineIndex , Array tuples ,
32
- Array duplicationPercentages , Array ra
31
+ ComputeSimple simple , float maxTupleCount , Array tuples , Array duplicationPercentages , Array ra
33
32
) {
34
33
exists ( PipeLineRun run |
35
34
hasPipelineRun ( simple , run ) and
36
35
maxTupleCount = max ( run .getCount ( _) ) and
37
- pragma [ only_bind_out ] ( tuples .getFloat ( pipelineIndex ) ) = maxTupleCount and
38
36
tuples = run .getCounts ( ) and
39
37
duplicationPercentages = run .getDuplicationPercentage ( ) and
40
38
ra = simple .getRA ( )
41
39
)
42
40
}
43
41
44
42
from
45
- ComputeSimple evt , float f , float maxTupleCount , int pipelineIndex , Array tuples ,
46
- Array duplicationPercentages , Array ra
43
+ ComputeSimple evt , float badness , float maxTupleCount , Array tuples , Array duplicationPercentages ,
44
+ Array ra , int index
47
45
where
48
- f = getBadness ( evt ) and
49
- f > 1.5 and
50
- extractInformation ( evt , maxTupleCount , pipelineIndex , tuples , duplicationPercentages , ra )
51
- select evt , f , pipelineIndex , tuples , duplicationPercentages , ra order by f desc
46
+ badness = getBadness ( evt ) and
47
+ badness > 1.5 and
48
+ extractInformation ( evt , maxTupleCount , tuples , duplicationPercentages , ra )
49
+ select evt .getPredicateName ( ) as predicate_name , badness , index ,
50
+ tuples .getFloat ( index ) as tuple_count ,
51
+ duplicationPercentages .getFloat ( index ) as duplication_percentage , ra .getString ( index ) order by
52
+ badness desc
0 commit comments