From 6de9ad04f9fab7a15e6232710323eb3c150769ac Mon Sep 17 00:00:00 2001 From: ben Date: Mon, 14 Mar 2016 16:20:09 -0400 Subject: [PATCH] [icfp] benchmark results from albs --- icfp-2016/benchmark/README.md | 8 + icfp-2016/benchmark/main.rkt | 35 ++++ icfp-2016/benchmark/output-albany.rktd | 221 +++++++++++++++++++++++++ 3 files changed, 264 insertions(+) create mode 100644 icfp-2016/benchmark/output-albany.rktd diff --git a/icfp-2016/benchmark/README.md b/icfp-2016/benchmark/README.md index ec4673f..45a2327 100644 --- a/icfp-2016/benchmark/README.md +++ b/icfp-2016/benchmark/README.md @@ -29,6 +29,7 @@ Changes population.rkt 42:(define: DEF-COO 2) +- gregor : a few arithmetic constants - hyphenate : 1 set!, ignored the import hyphenate.rkt 51:(define: default-min-length 5) @@ -40,3 +41,10 @@ Changes removed an annotation on regexp-match - suffixtree : 2 set! to set-box!, 6 lines affected - synth : had to remove racket/vector imports + + + +Other +--- + +shootout was a failure, the code is a little too weird diff --git a/icfp-2016/benchmark/main.rkt b/icfp-2016/benchmark/main.rkt index 5f43aad..347f1f5 100644 --- a/icfp-2016/benchmark/main.rkt +++ b/icfp-2016/benchmark/main.rkt @@ -8,6 +8,7 @@ (only-in racket/list last) (only-in racket/format ~r) racket/runtime-path + (only-in racket/file file->value) racket/port racket/string racket/system @@ -16,6 +17,8 @@ ;; ============================================================================= + + (define-runtime-path HERE ".") (define PRE "pre") (define POST "post") @@ -196,6 +199,38 @@ (define (run-all-tests) (run-tests (filter-tests (directory-list HERE)))) +;; ----------------------------------------------------------------------------- +;; -- Extracting data + +(define (ctimes d) + (define c (cadr d)) + (cons (caar c) + (car (cadr c)))) + +(define (rtimes d) + (define r (caddr d)) + (cons (caar r) + (car (cadr r)))) + +(define (bytes d) + (define b (car (cdddr d))) + (cons (car b) (cadr b))) + +(define (rnd n) + (~r n #:precision '2)) + +(define (diff x) + (define b4 (car x)) + (define after (cdr x)) + (rnd + (* 100 (/ (- after b4) + b4)))) + +(define (extract) + (define x* (file->value "output-albany.rktd")) + (for ([d (in-list x*)]) + (printf "~a ~a ~a ~a\n" (car d) (diff (ctimes d)) (diff (rtimes d)) (diff (bytes d))))) + ;; ============================================================================= (module+ main diff --git a/icfp-2016/benchmark/output-albany.rktd b/icfp-2016/benchmark/output-albany.rktd new file mode 100644 index 0000000..c47fc93 --- /dev/null +++ b/icfp-2016/benchmark/output-albany.rktd @@ -0,0 +1,221 @@ +;cpu time: 116 real time: 118 gc time: 8 +;cpu time: 120 real time: 119 gc time: 8 +;cpu time: 120 real time: 119 gc time: 8 +;cpu time: 120 real time: 116 gc time: 8 +;cpu time: 120 real time: 117 gc time: 8 +;cpu time: 120 real time: 117 gc time: 8 +;cpu time: 116 real time: 117 gc time: 8 +;cpu time: 116 real time: 117 gc time: 8 +;cpu time: 116 real time: 119 gc time: 8 +;cpu time: 120 real time: 118 gc time: 8 +;cpu time: 120 real time: 119 gc time: 8 +;cpu time: 116 real time: 119 gc time: 4 +;cpu time: 116 real time: 117 gc time: 8 +;cpu time: 120 real time: 119 gc time: 8 +;cpu time: 116 real time: 117 gc time: 8 +;cpu time: 136 real time: 136 gc time: 28 +;cpu time: 136 real time: 138 gc time: 28 +;cpu time: 140 real time: 139 gc time: 32 +;cpu time: 136 real time: 135 gc time: 24 +;cpu time: 136 real time: 137 gc time: 28 +;cpu time: 136 real time: 138 gc time: 28 +;cpu time: 136 real time: 135 gc time: 28 +;cpu time: 136 real time: 138 gc time: 28 +;cpu time: 136 real time: 137 gc time: 28 +;cpu time: 136 real time: 136 gc time: 24 +;cpu time: 140 real time: 137 gc time: 28 +;cpu time: 136 real time: 137 gc time: 28 +;cpu time: 136 real time: 137 gc time: 28 +;cpu time: 136 real time: 135 gc time: 28 +;cpu time: 140 real time: 137 gc time: 28 +;cpu time: 668 real time: 667 gc time: 28 +;cpu time: 668 real time: 669 gc time: 20 +;cpu time: 672 real time: 671 gc time: 24 +;cpu time: 676 real time: 671 gc time: 20 +;cpu time: 660 real time: 663 gc time: 24 +;cpu time: 620 real time: 620 gc time: 24 +;cpu time: 668 real time: 663 gc time: 20 +;cpu time: 668 real time: 669 gc time: 16 +;cpu time: 620 real time: 618 gc time: 16 +;cpu time: 668 real time: 667 gc time: 32 +;cpu time: 664 real time: 662 gc time: 20 +;cpu time: 612 real time: 611 gc time: 20 +;cpu time: 676 real time: 672 gc time: 24 +;cpu time: 668 real time: 667 gc time: 24 +;cpu time: 668 real time: 668 gc time: 24 +;cpu time: 688 real time: 688 gc time: 16 +;cpu time: 676 real time: 674 gc time: 16 +;cpu time: 648 real time: 645 gc time: 20 +;cpu time: 692 real time: 695 gc time: 16 +;cpu time: 692 real time: 689 gc time: 16 +;cpu time: 684 real time: 682 gc time: 20 +;cpu time: 696 real time: 694 gc time: 16 +;cpu time: 700 real time: 697 gc time: 20 +;cpu time: 688 real time: 687 gc time: 16 +;cpu time: 644 real time: 645 gc time: 16 +;cpu time: 676 real time: 673 gc time: 16 +;cpu time: 648 real time: 648 gc time: 20 +;cpu time: 676 real time: 678 gc time: 16 +;cpu time: 684 real time: 684 gc time: 20 +;cpu time: 700 real time: 698 gc time: 16 +;cpu time: 12 real time: 14 gc time: 0 +;cpu time: 16 real time: 14 gc time: 0 +;cpu time: 16 real time: 14 gc time: 0 +;cpu time: 12 real time: 14 gc time: 0 +;cpu time: 16 real time: 14 gc time: 0 +;cpu time: 16 real time: 14 gc time: 0 +;cpu time: 16 real time: 14 gc time: 0 +;cpu time: 16 real time: 14 gc time: 0 +;cpu time: 16 real time: 14 gc time: 0 +;cpu time: 12 real time: 14 gc time: 0 +;cpu time: 12 real time: 14 gc time: 0 +;cpu time: 16 real time: 14 gc time: 0 +;cpu time: 12 real time: 14 gc time: 0 +;cpu time: 16 real time: 14 gc time: 0 +;cpu time: 16 real time: 14 gc time: 0 +;cpu time: 12 real time: 12 gc time: 0 +;cpu time: 12 real time: 12 gc time: 0 +;cpu time: 16 real time: 13 gc time: 0 +;cpu time: 12 real time: 13 gc time: 0 +;cpu time: 12 real time: 12 gc time: 0 +;cpu time: 12 real time: 12 gc time: 0 +;cpu time: 12 real time: 12 gc time: 0 +;cpu time: 12 real time: 12 gc time: 0 +;cpu time: 12 real time: 13 gc time: 0 +;cpu time: 12 real time: 12 gc time: 0 +;cpu time: 12 real time: 13 gc time: 0 +;cpu time: 12 real time: 12 gc time: 0 +;cpu time: 12 real time: 12 gc time: 0 +;cpu time: 12 real time: 13 gc time: 0 +;cpu time: 12 real time: 13 gc time: 0 +;cpu time: 24 real time: 27 gc time: 0 +;cpu time: 28 real time: 26 gc time: 0 +;cpu time: 28 real time: 28 gc time: 0 +;cpu time: 28 real time: 27 gc time: 0 +;cpu time: 28 real time: 27 gc time: 0 +;cpu time: 28 real time: 27 gc time: 0 +;cpu time: 28 real time: 27 gc time: 0 +;cpu time: 28 real time: 27 gc time: 0 +;cpu time: 28 real time: 26 gc time: 0 +;cpu time: 28 real time: 26 gc time: 0 +;cpu time: 28 real time: 27 gc time: 0 +;cpu time: 28 real time: 27 gc time: 0 +;cpu time: 28 real time: 27 gc time: 0 +;cpu time: 28 real time: 27 gc time: 0 +;cpu time: 28 real time: 27 gc time: 0 +;cpu time: 48 real time: 47 gc time: 20 +;cpu time: 48 real time: 47 gc time: 20 +;cpu time: 48 real time: 47 gc time: 20 +;cpu time: 48 real time: 47 gc time: 20 +;cpu time: 44 real time: 47 gc time: 20 +;cpu time: 48 real time: 47 gc time: 20 +;cpu time: 48 real time: 48 gc time: 20 +;cpu time: 48 real time: 48 gc time: 20 +;cpu time: 48 real time: 47 gc time: 24 +;cpu time: 48 real time: 49 gc time: 20 +;cpu time: 48 real time: 47 gc time: 20 +;cpu time: 48 real time: 48 gc time: 20 +;cpu time: 48 real time: 48 gc time: 20 +;cpu time: 48 real time: 48 gc time: 20 +;cpu time: 48 real time: 47 gc time: 20 +;cpu time: 440 real time: 439 gc time: 16 +;cpu time: 440 real time: 439 gc time: 16 +;cpu time: 440 real time: 439 gc time: 20 +;cpu time: 472 real time: 470 gc time: 20 +;cpu time: 440 real time: 439 gc time: 20 +;cpu time: 444 real time: 444 gc time: 16 +;cpu time: 444 real time: 442 gc time: 16 +;cpu time: 440 real time: 436 gc time: 16 +;cpu time: 448 real time: 446 gc time: 16 +;cpu time: 444 real time: 440 gc time: 16 +;cpu time: 444 real time: 444 gc time: 20 +;cpu time: 440 real time: 440 gc time: 16 +;cpu time: 440 real time: 441 gc time: 20 +;cpu time: 440 real time: 439 gc time: 20 +;cpu time: 448 real time: 442 gc time: 16 +;cpu time: 440 real time: 437 gc time: 20 +;cpu time: 436 real time: 436 gc time: 20 +;cpu time: 440 real time: 438 gc time: 20 +;cpu time: 464 real time: 459 gc time: 20 +;cpu time: 440 real time: 437 gc time: 20 +;cpu time: 440 real time: 434 gc time: 20 +;cpu time: 440 real time: 440 gc time: 20 +;cpu time: 452 real time: 450 gc time: 20 +;cpu time: 440 real time: 438 gc time: 20 +;cpu time: 444 real time: 446 gc time: 20 +;cpu time: 444 real time: 443 gc time: 24 +;cpu time: 440 real time: 439 gc time: 20 +;cpu time: 436 real time: 435 gc time: 20 +;cpu time: 440 real time: 440 gc time: 32 +;cpu time: 440 real time: 438 gc time: 24 +;cpu time: 4704 real time: 4700 gc time: 48 +;cpu time: 4744 real time: 4744 gc time: 32 +;cpu time: 4664 real time: 4661 gc time: 60 +;cpu time: 4720 real time: 4718 gc time: 60 +;cpu time: 4720 real time: 4715 gc time: 48 +;cpu time: 4772 real time: 4770 gc time: 24 +;cpu time: 4712 real time: 4711 gc time: 36 +;cpu time: 4740 real time: 4740 gc time: 56 +;cpu time: 4728 real time: 4725 gc time: 32 +;cpu time: 4756 real time: 4752 gc time: 12 +;cpu time: 4748 real time: 4745 gc time: 60 +;cpu time: 4720 real time: 4713 gc time: 40 +;cpu time: 4744 real time: 4740 gc time: 48 +;cpu time: 4644 real time: 4643 gc time: 40 +;cpu time: 4744 real time: 4742 gc time: 16 +;cpu time: 5000 real time: 4996 gc time: 24 +;cpu time: 4904 real time: 4899 gc time: 24 +;cpu time: 5036 real time: 5030 gc time: 52 +;cpu time: 5032 real time: 5027 gc time: 24 +;cpu time: 4796 real time: 4794 gc time: 56 +;cpu time: 4756 real time: 4750 gc time: 24 +;cpu time: 4808 real time: 4804 gc time: 16 +;cpu time: 4728 real time: 4725 gc time: 24 +;cpu time: 4908 real time: 4906 gc time: 24 +;cpu time: 4644 real time: 4639 gc time: 36 +;cpu time: 4768 real time: 4761 gc time: 28 +;cpu time: 4928 real time: 4926 gc time: 20 +;cpu time: 4908 real time: 4902 gc time: 32 +;cpu time: 4984 real time: 4982 gc time: 28 +;cpu time: 4864 real time: 4860 gc time: 28 +;cpu time: 272 real time: 269 gc time: 28 +;cpu time: 272 real time: 272 gc time: 28 +;cpu time: 268 real time: 269 gc time: 28 +;cpu time: 264 real time: 266 gc time: 28 +;cpu time: 288 real time: 285 gc time: 28 +;cpu time: 284 real time: 282 gc time: 28 +;cpu time: 268 real time: 269 gc time: 28 +;cpu time: 288 real time: 286 gc time: 32 +;cpu time: 260 real time: 262 gc time: 24 +;cpu time: 264 real time: 266 gc time: 28 +;cpu time: 276 real time: 275 gc time: 28 +;cpu time: 276 real time: 274 gc time: 28 +;cpu time: 288 real time: 286 gc time: 32 +;cpu time: 276 real time: 276 gc time: 28 +;cpu time: 272 real time: 273 gc time: 24 +;cpu time: 376 real time: 376 gc time: 124 +;cpu time: 380 real time: 378 gc time: 120 +;cpu time: 368 real time: 367 gc time: 120 +;cpu time: 376 real time: 373 gc time: 116 +;cpu time: 384 real time: 383 gc time: 120 +;cpu time: 372 real time: 370 gc time: 124 +;cpu time: 384 real time: 383 gc time: 124 +;cpu time: 368 real time: 365 gc time: 120 +;cpu time: 372 real time: 370 gc time: 124 +;cpu time: 368 real time: 370 gc time: 120 +;cpu time: 376 real time: 373 gc time: 124 +;cpu time: 368 real time: 371 gc time: 116 +;cpu time: 368 real time: 366 gc time: 124 +;cpu time: 368 real time: 367 gc time: 116 +;cpu time: 384 real time: 380 gc time: 124 +( ;; DIR | compile-pre | compile-post | run-pre | run-post | loc-pre | loc-post | bytes-pre | bytes-post | diff+ | diff- + ;; all times in milliseconds + ;; 'loc' is lines of code, generated using 'SLOCCount' by David A. Wheeler. +(fsm ((48334 . 27905.94) (48241.5 . 27852.53)) ((4815.5 . 2780.52) (5310 . 3066.02)) (253 258) (81689 82394) (9 4)) +(gregor ((116039.5 . 66995.73) (124631.5 . 71956.32)) ((8614.5 . 4973.87) (9374.5 . 5412.66)) (1118 1135) (465739 468328) (28 11)) +(hyphenate ((51044 . 29470.56) (53790.5 . 31056.25)) ((4214.5 . 2433.53) (4681 . 2702.87)) (5198 5202) (118119 118703) (8 4)) +(morsecode ((36077.5 . 20829.64) (38714.5 . 22352.12)) ((6283.5 . 3628.07) (6938.5 . 4006.23)) (246 249) (67901 68438) (5 2)) +(suffixtree ((56939 . 32874.04) (61322 . 35404.56)) ((37638.5 . 21730.89) (40105.5 . 23155.21)) (637 644) (182052 183148) (7 1)) +(synth ((88243 . 50947.41) (94950 . 54819.7)) ((4375 . 2526.2) (6370 . 3678.01)) (941 951) (242219 243644) (12 3)) +(tex ((44552 . 25722.4) (45970.5 . 26541.37)) ((3372.5 . 1947.4) (4037.5 . 2331.34)) (491 486) (119579 120627) (15 20)) +)