|
67 | 67 |
|
68 | 68 | (define times |
69 | 69 | (for/list ([pt (in-list (hash-ref rec 'points))]) |
70 | | - ; Rival execution |
71 | | - ;(set! pt '(4.731996968322144e+41 6.640145071575607e-214 9393.23372593935 -1.388760684481615e-261)) |
| 70 | + ; --------------------------- Rival execution ------------------------------------------------- |
72 | 71 | (define rival-start-apply (current-inexact-milliseconds)) |
73 | 72 |
|
74 | 73 | (match-define (list rival-status rival-exs) |
|
79 | 78 | (list 'valid exs)))) |
80 | 79 | (define rival-apply-time (- (current-inexact-milliseconds) rival-start-apply)) |
81 | 80 | (define rival-iter (rival-machine-iteration rival-machine)) |
82 | | - ;(sleep 20) |
83 | 81 |
|
84 | 82 | (define rival-executions (rival-profile rival-machine 'executions)) |
85 | 83 | (for ([execution (in-vector rival-executions)]) |
|
93 | 91 | 'mixsample-rival-all |
94 | 92 | (list (execution-time execution) name precision))) |
95 | 93 |
|
96 | | - ; Baseline execution (we assume that baseline can not crash) |
| 94 | + ; --------------------------- Baseline execution ---------------------------------------------- |
97 | 95 | (define baseline-start-apply (current-inexact-milliseconds)) |
98 | 96 | (match-define (list baseline-status baseline-exs) |
99 | 97 | (parameterize ([*rival-max-precision* 32256]) |
|
119 | 117 | 'mixsample-baseline-all |
120 | 118 | (list (execution-time execution) name precision))) |
121 | 119 |
|
122 | | - ; Sollya execution |
123 | | - ;(set! sollya-machine #f) |
| 120 | + ; --------------------------- Sollya execution ------------------------------------------------ |
| 121 | + ; Points for expressions where Sollya has not compiled do not go to the plot/speed graphs! |
| 122 | + ; Also, if Rival's status is invalid - these points do not go to the graphs! |
| 123 | + ; We treat Rival's results as the right ones since for some benchs Sollya has produced wrong results! |
124 | 124 | (when (and (and rival-machine baseline-machine sollya-machine) |
125 | 125 | (or (equal? rival-status 'valid) (equal? rival-status 'unsamplable))) |
126 | 126 |
|
|
159 | 159 | (equal? baseline-status 'valid)) |
160 | 160 | 1 |
161 | 161 | 0)) |
162 | | - #;(when (equal? rival-baseline-difference 1) |
163 | | - (println pt)) |
164 | 162 |
|
165 | 163 | (cons rival-status (cons rival-apply-time rival-baseline-difference)))) |
166 | 164 |
|
|
467 | 465 | [(equal? rival-status 'valid) |
468 | 466 | (cond |
469 | 467 | ; Every tool have succeded |
| 468 | + ; These points will go into speed graph |
470 | 469 | [(and (equal? 'valid sollya-status) |
471 | 470 | (equal? 'valid baseline-status) |
472 | | - (equal? rival-status 'valid) |
473 | | - (< sollya-time (*sampling-timeout*)) |
474 | | - (< baseline-time (*sampling-timeout*)) |
475 | | - (< rival-time (*sampling-timeout*))) |
| 471 | + (equal? rival-status 'valid)) |
476 | 472 | (timeline-push! timeline 'outcomes (list "valid-sollya" rival-iter sollya-time)) |
477 | 473 | (timeline-push! timeline 'outcomes (list "valid-baseline" rival-iter baseline-time)) |
478 | 474 | (timeline-push! timeline 'outcomes (list "valid-rival" rival-iter rival-time)) |
|
481 | 477 | (timeline-push! timeline 'outcomes (list "sollya-faithful-rounding" 0 0)))] |
482 | 478 |
|
483 | 479 | ; Baseline and Rival have succeeded |
484 | | - [(and (equal? 'valid baseline-status) |
485 | | - (equal? rival-status 'valid) |
486 | | - (< baseline-time (*sampling-timeout*)) |
487 | | - (< rival-time (*sampling-timeout*))) |
| 480 | + [(and (equal? 'valid baseline-status) (equal? rival-status 'valid)) |
488 | 481 | (timeline-push! |
489 | 482 | timeline |
490 | 483 | 'outcomes |
491 | 484 | (list (status-subbucketing "valid-rival+baseline" rival-exs) rival-iter rival-time))] |
492 | 485 |
|
493 | 486 | ; Baseline and Sollya have succeeded |
494 | | - [(and (equal? 'valid sollya-status) |
495 | | - (equal? 'valid baseline-status) |
496 | | - (< sollya-time (*sampling-timeout*)) |
497 | | - (< baseline-time (*sampling-timeout*))) |
| 487 | + [(and (equal? 'valid sollya-status) (equal? 'valid baseline-status)) |
498 | 488 | (timeline-push! |
499 | 489 | timeline |
500 | 490 | 'outcomes |
501 | 491 | (list (status-subbucketing "valid-sollya+baseline" baseline-exs) rival-iter sollya-time))] |
502 | 492 |
|
503 | 493 | ; Sollya and Rival have succeeded |
504 | | - [(and (equal? 'valid sollya-status) |
505 | | - (equal? rival-status 'valid) |
506 | | - (< sollya-time (*sampling-timeout*)) |
507 | | - (< rival-time (*sampling-timeout*))) |
| 494 | + [(and (equal? 'valid sollya-status) (equal? rival-status 'valid)) |
508 | 495 | (timeline-push! |
509 | 496 | timeline |
510 | 497 | 'outcomes |
511 | 498 | (list (status-subbucketing "valid-rival+sollya" rival-exs) rival-iter rival-time))] |
512 | 499 |
|
513 | 500 | ; Only Rival has succeeded |
514 | | - [(and (equal? rival-status 'valid) (< rival-time (*sampling-timeout*))) |
| 501 | + [(equal? rival-status 'valid) |
515 | 502 | (timeline-push! |
516 | 503 | timeline |
517 | 504 | 'outcomes |
518 | 505 | (list (status-subbucketing "valid-rival-only" rival-exs) rival-iter rival-time))] |
519 | 506 |
|
520 | 507 | ; Only Sollya has succeeded |
521 | | - [(and (equal? 'valid sollya-status) (< sollya-time (*sampling-timeout*))) |
| 508 | + [(equal? 'valid sollya-status) |
522 | 509 | (timeline-push! |
523 | 510 | timeline |
524 | 511 | 'outcomes |
525 | 512 | (list (status-subbucketing "valid-sollya-only" sollya-exs) rival-iter sollya-time))] |
526 | 513 |
|
527 | 514 | ; Only Baseline has succeeded |
528 | | - [(and (equal? 'valid baseline-status) (< baseline-time (*sampling-timeout*))) |
| 515 | + [(equal? 'valid baseline-status) |
529 | 516 | (timeline-push! |
530 | 517 | timeline |
531 | 518 | 'outcomes |
|
541 | 528 | [(equal? rival-status 'unsamplable) |
542 | 529 | (cond |
543 | 530 | ; Sollya and Baseline have succeeded |
544 | | - [(and (equal? 'valid sollya-status) |
545 | | - (equal? 'valid baseline-status) |
546 | | - (< sollya-time (*sampling-timeout*)) |
547 | | - (< baseline-time (*sampling-timeout*))) |
| 531 | + [(and (equal? 'valid sollya-status) (equal? 'valid baseline-status)) |
548 | 532 | (timeline-push! |
549 | 533 | timeline |
550 | 534 | 'outcomes |
551 | 535 | (list (status-subbucketing "valid-sollya+baseline" baseline-exs) rival-iter sollya-time))] |
552 | 536 |
|
553 | 537 | ; Only Sollya has succeeded |
554 | | - [(and (equal? 'valid sollya-status) (< sollya-time (*sampling-timeout*))) |
| 538 | + [(equal? 'valid sollya-status) |
555 | 539 | (timeline-push! |
556 | 540 | timeline |
557 | 541 | 'outcomes |
558 | 542 | (list (status-subbucketing "valid-sollya-only" sollya-exs) rival-iter sollya-time))] |
559 | 543 |
|
560 | 544 | ; Only Baseline has succeeded |
561 | | - [(and (equal? 'valid baseline-status) (< baseline-time (*sampling-timeout*))) |
| 545 | + [(equal? 'valid baseline-status) |
562 | 546 | (timeline-push! |
563 | 547 | timeline |
564 | 548 | 'outcomes |
|
0 commit comments