@@ -218,14 +218,15 @@ const Dropdown = styled.select``;
218218interface PipelineStepProps {
219219 before : number | undefined ;
220220 after : number | undefined ;
221+ comparison : boolean ;
221222 step : React . ReactNode ;
222223}
223224
224225/**
225226 * Row with details of a pipeline step, or one of the high-level stats appearing above the pipelines (evaluation/iteration counts).
226227 */
227228function PipelineStep ( props : PipelineStepProps ) {
228- let { before, after, step } = props ;
229+ let { before, after, comparison , step } = props ;
229230 if ( before != null && before < 0 ) {
230231 before = undefined ;
231232 }
@@ -236,9 +237,11 @@ function PipelineStep(props: PipelineStepProps) {
236237 return (
237238 < PipelineStepTR >
238239 < ChevronCell />
239- < NumberCell > { before != null ? formatDecimal ( before ) : "" } </ NumberCell >
240+ { comparison && (
241+ < NumberCell > { before != null ? formatDecimal ( before ) : "" } </ NumberCell >
242+ ) }
240243 < NumberCell > { after != null ? formatDecimal ( after ) : "" } </ NumberCell >
241- { delta != null ? renderDelta ( delta ) : < td > </ td > }
244+ { comparison && ( delta != null ? renderDelta ( delta ) : < td > </ td > ) }
242245 < NameCell > { step } </ NameCell >
243246 </ PipelineStepTR >
244247 ) ;
@@ -251,10 +254,11 @@ const HeaderTR = styled.tr`
251254interface HighLevelStatsProps {
252255 before : PredicateInfo ;
253256 after : PredicateInfo ;
257+ comparison : boolean ;
254258}
255259
256260function HighLevelStats ( props : HighLevelStatsProps ) {
257- const { before, after } = props ;
261+ const { before, after, comparison } = props ;
258262 const hasBefore = before . absentReason !== AbsentReason . NotSeen ;
259263 const hasAfter = after . absentReason !== AbsentReason . NotSeen ;
260264 const showEvaluationCount =
@@ -263,21 +267,25 @@ function HighLevelStats(props: HighLevelStatsProps) {
263267 < >
264268 < HeaderTR >
265269 < ChevronCell > </ ChevronCell >
266- < NumberHeader > { hasBefore ? "Before" : "" } </ NumberHeader >
270+ { comparison && < NumberHeader > { hasBefore ? "Before" : "" } </ NumberHeader > }
267271 < NumberHeader > { hasAfter ? "After" : "" } </ NumberHeader >
268- < NumberHeader > { hasBefore && hasAfter ? "Delta" : "" } </ NumberHeader >
272+ { comparison && (
273+ < NumberHeader > { hasBefore && hasAfter ? "Delta" : "" } </ NumberHeader >
274+ ) }
269275 < NameHeader > Stats</ NameHeader >
270276 </ HeaderTR >
271277 { showEvaluationCount && (
272278 < PipelineStep
273279 before = { before . evaluationCount || undefined }
274280 after = { after . evaluationCount || undefined }
281+ comparison = { comparison }
275282 step = "Number of evaluations"
276283 />
277284 ) }
278285 < PipelineStep
279286 before = { before . iterationCount / before . evaluationCount || undefined }
280287 after = { after . iterationCount / after . evaluationCount || undefined }
288+ comparison = { comparison }
281289 step = {
282290 showEvaluationCount
283291 ? "Number of iterations per evaluation"
@@ -379,6 +387,8 @@ function ComparePerformanceWithData(props: {
379387 [ data ] ,
380388 ) ;
381389
390+ const comparison = data ?. comparison ;
391+
382392 const [ expandedPredicates , setExpandedPredicates ] = useState < Set < string > > (
383393 ( ) => new Set < string > ( ) ,
384394 ) ;
@@ -480,9 +490,9 @@ function ComparePerformanceWithData(props: {
480490 < thead >
481491 < HeaderTR >
482492 < ChevronCell />
483- < NumberHeader > Before</ NumberHeader >
484- < NumberHeader > After</ NumberHeader >
485- < NumberHeader > Delta</ NumberHeader >
493+ { comparison && < NumberHeader > Before</ NumberHeader > }
494+ < NumberHeader > { comparison ? " After" : "Value" } </ NumberHeader >
495+ { comparison && < NumberHeader > Delta</ NumberHeader > }
486496 < NameHeader > Predicate</ NameHeader >
487497 </ HeaderTR >
488498 </ thead >
@@ -505,33 +515,44 @@ function ComparePerformanceWithData(props: {
505515 < ChevronCell >
506516 < Chevron expanded = { expandedPredicates . has ( row . name ) } />
507517 </ ChevronCell >
508- { renderAbsoluteValue ( row . before , metric ) }
518+ { comparison && renderAbsoluteValue ( row . before , metric ) }
509519 { renderAbsoluteValue ( row . after , metric ) }
510- { renderDelta ( row . diff , metric . unit ) }
520+ { comparison && renderDelta ( row . diff , metric . unit ) }
511521 < NameCell > { rowNames [ rowIndex ] } </ NameCell >
512522 </ PredicateTR >
513523 { expandedPredicates . has ( row . name ) && (
514524 < >
515- < HighLevelStats before = { row . before } after = { row . after } />
525+ < HighLevelStats
526+ before = { row . before }
527+ after = { row . after }
528+ comparison = { comparison }
529+ />
516530 { collatePipelines (
517531 row . before . pipelines ,
518532 row . after . pipelines ,
519533 ) . map ( ( { name, first, second } , pipelineIndex ) => (
520534 < Fragment key = { pipelineIndex } >
521535 < HeaderTR >
522536 < td > </ td >
523- < NumberHeader > { first != null && "Before" } </ NumberHeader >
537+ { comparison && (
538+ < NumberHeader > { first != null && "Before" } </ NumberHeader >
539+ ) }
524540 < NumberHeader > { second != null && "After" } </ NumberHeader >
525- < NumberHeader >
526- { first != null && second != null && "Delta" }
527- </ NumberHeader >
541+ { comparison && (
542+ < NumberHeader >
543+ { first != null &&
544+ second != null &&
545+ ( comparison ? "Delta" : "Value" ) }
546+ </ NumberHeader >
547+ ) }
528548 < NameHeader >
529549 Tuple counts for '{ name } ' pipeline
530- { first == null
531- ? " (after)"
532- : second == null
533- ? " (before)"
534- : "" }
550+ { comparison &&
551+ ( first == null
552+ ? " (after)"
553+ : second == null
554+ ? " (before)"
555+ : "" ) }
535556 </ NameHeader >
536557 </ HeaderTR >
537558 { abbreviateRASteps ( first ?. steps ?? second ! . steps ) . map (
@@ -540,6 +561,7 @@ function ComparePerformanceWithData(props: {
540561 key = { index }
541562 before = { first ?. counts [ index ] }
542563 after = { second ?. counts [ index ] }
564+ comparison = { comparison }
543565 step = { step }
544566 />
545567 ) ,
@@ -558,9 +580,11 @@ function ComparePerformanceWithData(props: {
558580 </ tr >
559581 < tr key = "total" >
560582 < ChevronCell />
561- < NumberCell > { formatDecimal ( totalBefore ) } </ NumberCell >
583+ { comparison && (
584+ < NumberCell > { formatDecimal ( totalBefore ) } </ NumberCell >
585+ ) }
562586 < NumberCell > { formatDecimal ( totalAfter ) } </ NumberCell >
563- { renderDelta ( totalDiff ) }
587+ { comparison && renderDelta ( totalDiff ) }
564588 < NameCell > TOTAL</ NameCell >
565589 </ tr >
566590 </ tfoot >
0 commit comments