@@ -216,14 +216,15 @@ const Dropdown = styled.select``;
216216interface PipelineStepProps {
217217 before : number | undefined ;
218218 after : number | undefined ;
219+ comparison : boolean ;
219220 step : React . ReactNode ;
220221}
221222
222223/**
223224 * Row with details of a pipeline step, or one of the high-level stats appearing above the pipelines (evaluation/iteration counts).
224225 */
225226function PipelineStep ( props : PipelineStepProps ) {
226- let { before, after, step } = props ;
227+ let { before, after, comparison , step } = props ;
227228 if ( before != null && before < 0 ) {
228229 before = undefined ;
229230 }
@@ -234,9 +235,11 @@ function PipelineStep(props: PipelineStepProps) {
234235 return (
235236 < PipelineStepTR >
236237 < ChevronCell />
237- < NumberCell > { before != null ? formatDecimal ( before ) : "" } </ NumberCell >
238+ { comparison && (
239+ < NumberCell > { before != null ? formatDecimal ( before ) : "" } </ NumberCell >
240+ ) }
238241 < NumberCell > { after != null ? formatDecimal ( after ) : "" } </ NumberCell >
239- { delta != null ? renderDelta ( delta ) : < td > </ td > }
242+ { comparison && ( delta != null ? renderDelta ( delta ) : < td > </ td > ) }
240243 < NameCell > { step } </ NameCell >
241244 </ PipelineStepTR >
242245 ) ;
@@ -249,10 +252,11 @@ const HeaderTR = styled.tr`
249252interface HighLevelStatsProps {
250253 before : PredicateInfo ;
251254 after : PredicateInfo ;
255+ comparison : boolean ;
252256}
253257
254258function HighLevelStats ( props : HighLevelStatsProps ) {
255- const { before, after } = props ;
259+ const { before, after, comparison } = props ;
256260 const hasBefore = before . absentReason !== AbsentReason . NotSeen ;
257261 const hasAfter = after . absentReason !== AbsentReason . NotSeen ;
258262 const showEvaluationCount =
@@ -261,21 +265,25 @@ function HighLevelStats(props: HighLevelStatsProps) {
261265 < >
262266 < HeaderTR >
263267 < ChevronCell > </ ChevronCell >
264- < NumberHeader > { hasBefore ? "Before" : "" } </ NumberHeader >
268+ { comparison && < NumberHeader > { hasBefore ? "Before" : "" } </ NumberHeader > }
265269 < NumberHeader > { hasAfter ? "After" : "" } </ NumberHeader >
266- < NumberHeader > { hasBefore && hasAfter ? "Delta" : "" } </ NumberHeader >
270+ { comparison && (
271+ < NumberHeader > { hasBefore && hasAfter ? "Delta" : "" } </ NumberHeader >
272+ ) }
267273 < NameHeader > Stats</ NameHeader >
268274 </ HeaderTR >
269275 { showEvaluationCount && (
270276 < PipelineStep
271277 before = { before . evaluationCount || undefined }
272278 after = { after . evaluationCount || undefined }
279+ comparison = { comparison }
273280 step = "Number of evaluations"
274281 />
275282 ) }
276283 < PipelineStep
277284 before = { before . iterationCount / before . evaluationCount || undefined }
278285 after = { after . iterationCount / after . evaluationCount || undefined }
286+ comparison = { comparison }
279287 step = {
280288 showEvaluationCount
281289 ? "Number of iterations per evaluation"
@@ -377,6 +385,8 @@ function ComparePerformanceWithData(props: {
377385 [ data ] ,
378386 ) ;
379387
388+ const comparison = data ?. comparison ;
389+
380390 const [ expandedPredicates , setExpandedPredicates ] = useState < Set < string > > (
381391 ( ) => new Set < string > ( ) ,
382392 ) ;
@@ -478,9 +488,9 @@ function ComparePerformanceWithData(props: {
478488 < thead >
479489 < HeaderTR >
480490 < ChevronCell />
481- < NumberHeader > Before</ NumberHeader >
482- < NumberHeader > After</ NumberHeader >
483- < NumberHeader > Delta</ NumberHeader >
491+ { comparison && < NumberHeader > Before</ NumberHeader > }
492+ < NumberHeader > { comparison ? " After" : "Value" } </ NumberHeader >
493+ { comparison && < NumberHeader > Delta</ NumberHeader > }
484494 < NameHeader > Predicate</ NameHeader >
485495 </ HeaderTR >
486496 </ thead >
@@ -503,33 +513,42 @@ function ComparePerformanceWithData(props: {
503513 < ChevronCell >
504514 < Chevron expanded = { expandedPredicates . has ( row . name ) } />
505515 </ ChevronCell >
506- { renderAbsoluteValue ( row . before , metric ) }
516+ { comparison && renderAbsoluteValue ( row . before , metric ) }
507517 { renderAbsoluteValue ( row . after , metric ) }
508- { renderDelta ( row . diff , metric . unit ) }
518+ { comparison && renderDelta ( row . diff , metric . unit ) }
509519 < NameCell > { rowNames [ rowIndex ] } </ NameCell >
510520 </ PredicateTR >
511521 { expandedPredicates . has ( row . name ) && (
512522 < >
513- < HighLevelStats before = { row . before } after = { row . after } />
523+ < HighLevelStats
524+ before = { row . before }
525+ after = { row . after }
526+ comparison = { comparison }
527+ />
514528 { collatePipelines (
515529 row . before . pipelines ,
516530 row . after . pipelines ,
517531 ) . map ( ( { name, first, second } , pipelineIndex ) => (
518532 < Fragment key = { pipelineIndex } >
519533 < HeaderTR >
520534 < td > </ td >
521- < NumberHeader > { first != null && "Before" } </ NumberHeader >
535+ { comparison && (
536+ < NumberHeader > { first != null && "Before" } </ NumberHeader >
537+ ) }
522538 < NumberHeader > { second != null && "After" } </ NumberHeader >
523- < NumberHeader >
524- { first != null && second != null && "Delta" }
525- </ NumberHeader >
539+ { comparison && (
540+ < NumberHeader >
541+ { first != null && second != null && "Delta" }
542+ </ NumberHeader >
543+ ) }
526544 < NameHeader >
527545 Tuple counts for '{ name } ' pipeline
528- { first == null
529- ? " (after)"
530- : second == null
531- ? " (before)"
532- : "" }
546+ { comparison &&
547+ ( first == null
548+ ? " (after)"
549+ : second == null
550+ ? " (before)"
551+ : "" ) }
533552 </ NameHeader >
534553 </ HeaderTR >
535554 { abbreviateRASteps ( first ?. steps ?? second ! . steps ) . map (
@@ -538,6 +557,7 @@ function ComparePerformanceWithData(props: {
538557 key = { index }
539558 before = { first ?. counts [ index ] }
540559 after = { second ?. counts [ index ] }
560+ comparison = { comparison }
541561 step = { step }
542562 />
543563 ) ,
@@ -556,9 +576,11 @@ function ComparePerformanceWithData(props: {
556576 </ tr >
557577 < tr key = "total" >
558578 < ChevronCell />
559- < NumberCell > { formatDecimal ( totalBefore ) } </ NumberCell >
579+ { comparison && (
580+ < NumberCell > { formatDecimal ( totalBefore ) } </ NumberCell >
581+ ) }
560582 < NumberCell > { formatDecimal ( totalAfter ) } </ NumberCell >
561- { renderDelta ( totalDiff ) }
583+ { comparison && renderDelta ( totalDiff ) }
562584 < NameCell > TOTAL</ NameCell >
563585 </ tr >
564586 </ tfoot >
0 commit comments