  ./bench_sexprep.exe tree -serial
  ratio untyped to sexrep = 0.891
  * old untyped is not included because it does not handle the Named case.
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | sexprep  |  1161 ms | 34756695 | 22491 us | 15309242 |  13635467 | 13635467 |      MaA |
  |          |          |       37 |          |        1 |           |          |          |
  | untyped  |  1035 ms | 31000481 | 10369 us | 77594712 |  13535497 | 13535497 |       aA |
  |          |          |       31 |          |          |           |          |          |
  | withsexp | 313465 u | 93802670 |  6544 us | 11534367 |  10999799 | 10999799 |      MaA |
  |          |        s |        6 |          |          |           |          |          |
  |----------------------------------------------------------------------------------------|

  ./bench_sexprep.exe tree
  ratio untyped to sexrep = 1.233
  * old untyped is not included because it does not handle the Named case.
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |   Stdev | Allocated | Allocated | Promoted | Warnings |
  |          |          |          |         |   (minor) |   (major) |          |          |
  |----------+----------+----------+---------+-----------+-----------+----------+----------|
  | sexprep  | 477334 u | 14283967 | 9020 us |  47185990 |   3133501 |  3133501 |      MaA |
  |          |        s |       44 |         |           |           |          |          |
  | untyped  | 588492 u | 17610295 | 9045 us |  36700213 |   7199982 |  7199982 |       aA |
  |          |        s |       43 |         |           |           |          |          |
  | withsexp | 302620 u | 90557325 | 3654 us |   3145759 |   2999808 |  2999808 |       aA |
  |          |        s |        8 |         |           |           |          |          |
  |----------------------------------------------------------------------------------------|


Benchmark Results 7/30/2012: Sexprep vs Sexprep.Untyped.t_of_sexp2/sexp_of_t2
  ./bench_sexprep.exe variant-list -serial
  ratio untyped to sexrep = 0.918
  ratio untyped to old untyped = 1.119
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | sexprep  |  5123 ms | 15331679 | 337639 u | 34001922 |  83001501 | 83001501 |      MaA |
  |          |          |      836 |        s |        2 |           |          |          |
  | untyped  |  4703 ms | 14075900 | 99008 us | 22401838 |  83255128 | 83255128 |       MA |
  |          |          |      629 |          |        7 |           |          |          |
  | old unty |  4201 ms | 12571393 | 143186 u | 13600423 |  82733393 | 82733393 |      MaA |
  | ped      |          |      944 |        s |        8 |           |          |          |
  | withsexp |  3361 ms | 10058669 | 175148 u | 86002087 |  74246327 | 74246327 |      MaA |
  |          |          |      787 |        s |          |           |          |          |
  |----------------------------------------------------------------------------------------|

  ./bench_sexprep.exe  record-list -serial -size 500
  ratio untyped to sexrep = 1.076
  ratio untyped to old untyped = 0.994
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | sexprep  |  2769 ms | 82867811 | 35687 us | 94756676 |  80676625 | 80676625 |      MaA |
  |          |          |       97 |          |          |           |          |          |
  | untyped  |  2979 ms | 89145484 | 35933 us | 99010674 |  81392341 | 81392341 |      MaA |
  |          |          |       95 |          |          |           |          |          |
  | old unty |  2998 ms | 89716358 | 122643 u | 90510777 |  80931931 | 80931931 |      MaA |
  | ped      |          |       22 |        s |          |           |          |          |
  | withsexp |  2768 ms | 82847769 | 84510 us | 72006921 |  71302599 | 71302599 |     McaA |
  |          |          |       50 |          |          |           |          |          |
  |----------------------------------------------------------------------------------------|

  ./bench_sexprep.exe  int-list -serial
  ratio untyped to sexrep = 1.027
  ratio untyped to old untyped = 1.006
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | sexprep  |  1529 ms | 45778235 | 16717 us | 40026049 |  28115730 | 28115730 |      MaA |
  |          |          |       86 |          |          |           |          |          |
  | untyped  |  1570 ms | 46998489 | 16342 us | 52042086 |  28235518 | 28235518 |      MaA |
  |          |          |       38 |          |          |           |          |          |
  | old unty |  1561 ms | 46715670 | 13895 us | 52042086 |  28235518 | 28235518 |      MaA |
  | ped      |          |       19 |          |          |           |          |          |
  | withsexp |  1661 ms | 49727241 |  7169 us | 40026058 |  28115718 | 28115718 |      caA |
  |          |          |       97 |          |          |           |          |          |
  |----------------------------------------------------------------------------------------|

  ./bench_sexprep.exe variant-list
  ratio untyped to sexrep = 1.361
  ratio untyped to old untyped = 0.850
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | sexprep  |  1778 ms | 53233153 | 11525 us | 13200425 |  22400353 | 22400353 |       aA |
  |          |          |       03 |          |        5 |           |          |          |
  | untyped  |  2419 ms | 72395329 | 32638 us | 13200621 |  42438999 | 38434996 |       aA |
  |          |          |       38 |          |        9 |           |          |          |
  | old unty |  2846 ms | 85173584 | 59671 us | 50997069 |  54000073 | 49996070 |       MA |
  | ped      |          |       70 |          |        6 |           |          |          |
  | withsexp |  1186 ms | 35497586 |  5029 us | 34018071 |  22099098 | 22099098 |       aA |
  |          |          |       15 |          |          |           |          |          |
  |----------------------------------------------------------------------------------------|

  ./bench_sexprep.exe  record-list -size 1000
  ratio untyped to sexrep = 1.389
  ratio untyped to old untyped = 0.586
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | sexprep  |  5088 ms | 15228289 | 41985 us | 81301361 |  25246681 | 25246681 |       aA |
  |          |          |      391 |          |        9 |           |          |          |
  | untyped  |  7067 ms | 21148906 | 86477 us | 46001804 | 127004034 | 12600203 |       MA |
  |          |          |      384 |          |        4 |           |        1 |          |
  | old unty | 12058 ms | 36083488 | 61687 us | 77803066 | 127004126 | 12600212 |        A |
  | ped      |          |      194 |          |        7 |           |        3 |          |
  | withsexp |  4099 ms | 12267042 | 21291 us | 13801728 |  24211549 | 24211549 |       aA |
  |          |          |      659 |          |        9 |           |          |          |
  |----------------------------------------------------------------------------------------|

  ./bench_sexprep.exe  int-list
  ratio untyped to sexrep = 1.719
  ratio untyped to old untyped = 1.023
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | sexprep  | 555664 u | 16627954 |  5988 us | 24022043 |  12070445 | 12070445 |       aA |
  |          |        s |       37 |          |          |           |          |          |
  | untyped  | 955213 u | 28584185 | 52511 us | 32036044 |  24008034 | 20004031 |      mMA |
  |          |        s |       96 |          |          |           |          |          |
  | old unty | 934281 u | 27957805 | 27228 us | 56058379 |  24008043 | 20004040 |       MA |
  | ped      |        s |       05 |          |          |           |          |          |
  | withsexp | 586697 u | 17556564 |  4720 us | 24022049 |  12070444 | 12070444 |       aA |
  |          |        s |       05 |          |          |           |          |          |
  |----------------------------------------------------------------------------------------|


Benchmark Results 7/30/2012: Exn vs Option for Flat_map
  ./bench_sexprep.exe  look-ups -size 1000000
  runtime ratio exn to opt = 0.981
  minor mem ratio exn to opt = 0.667
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | flat_map_ |  2232 ms | 66806823 | 13500 us | 39985051 | 34985005 | 34985005 |       aA |
  | exn try_w |          |       30 |          |          |          |          |          |
  | ith       |          |          |          |          |          |          |          |
  | flat_map  |  2276 ms | 68121454 | 185822 u | 59985206 | 34985093 | 34985093 |      MaA |
  | opt_to_ex |          |       33 |        s |          |          |          |          |
  | n         |          |          |          |          |          |          |          |
  | string_ma |  2677 ms | 80109444 | 47696 us | 59985206 | 54985093 | 54985093 |      MaA |
  | p         |          |       82 |          |          |          |          |          |
  |----------------------------------------------------------------------------------------|

  ./bench_sexprep.exe  look-ups -size 100000
  ratio exn to opt = 0.973
  minor mem ratio exn to opt = 0.666
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | flat_map_ | 196729 u | 58870358 | 16711 us |  3985015 |  2673882 |  2673882 |     mMaA |
  | exn try_w |        s |        6 |          |          |          |          |          |
  | ith       |          |          |          |          |          |          |          |
  | flat_map  | 202118 u | 60482891 |  5874 us |  5985026 |  2888307 |  2888307 |      MaA |
  | opt_to_ex |        s |        1 |          |          |          |          |          |
  | n         |          |          |          |          |          |          |          |
  | string_ma | 270271 u | 80877244 | 35319 us |  5985026 |  4647887 |  4647887 |     mMaA |
  | p         |        s |        0 |          |          |          |          |          |
  |----------------------------------------------------------------------------------------|

Benchmark Results 7/27/2012:
  tree -serial -depth 20
  ratio = 3.216
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | sexprep  |  1007 ms | 30148428 | 32480 us | 13212088 |  15724802 | 15724802 |      MaA |
  |          |          |       94 |          |        4 |           |          |          |
  | withsexp | 313123 u | 93700401 |  7130 us | 11534367 |  10999799 | 10999799 |      MaA |
  |          |        s |        4 |          |          |           |          |          |
  |----------------------------------------------------------------------------------------|

  variant-list -size 1000 -serial (variants of arity 12)
  ratio = 1.591
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | sexprep  |  1226 ms | 36710638 | 25322 us | 79001188 |  20614603 | 20614603 |      MaA |
  |          |          |       72 |          |          |           |          |          |
  | withsexp | 770649 u | 23061220 | 11661 us | 21501120 |  18095199 | 18095199 |       MA |
  |          |        s |       21 |          |          |           |          |          |
  |----------------------------------------------------------------------------------------|

  variant-list -size 1000 -serial (variants of arity 3)
  ratio = 1.499
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | sexprep  |  1145 ms | 34274917 | 12808 us | 79001188 |  20614603 | 20614603 |      MaA |
  |          |          |       30 |          |          |           |          |          |
  | withsexp | 763634 u | 22851311 | 10258 us | 21501120 |  18095199 | 18095199 |       MA |
  |          |        s |       33 |          |          |           |          |          |
  |----------------------------------------------------------------------------------------|

  variant-list -size 2000
  ratio = 1.469
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |   Stdev | Allocated | Allocated | Promoted | Warnings |
  |          |          |          |         |   (minor) |   (major) |          |          |
  |----------+----------+----------+---------+-----------+-----------+----------+----------|
  | sexprep  |  1688 ms | 50539213 | 7358 us |  92004197 |  22280731 | 22280731 |       aA |
  |          |          |       33 |         |           |           |          |          |
  | withsexp |  1149 ms | 34412378 | 6060 us |  34018071 |  22099098 | 22099098 |       aA |
  |          |          |       55 |         |           |           |          |          |
  |----------------------------------------------------------------------------------------|

  record-list-deserial -size 1000 -reorder
  ratio = 1.252
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp |  4217 ms | 12619620 | 33682 us | 13801728 | 24211549 | 24211549 |       aA |
  |  deserial |          |      421 |          |        9 |          |          |          |
  | ize recor |          |          |          |          |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  | deseriali |  5281 ms | 15805386 | 214960 u | 81301361 | 25246681 | 25246681 |      MaA |
  | ze2 recor |          |      394 |        s |        9 |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  |----------------------------------------------------------------------------------------|


Benchmark Results 7/26/2012: Serialization in Make2

  int-list-serial -size 2000
  ratio = 1.0
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | serialize |  1657 ms | 49586156 |  7719 us | 40026049 | 28115730 | 28115730 |      caA |
  |  int list |          |       07 |          |          |          |          |          |
  |  list     |          |          |          |          |          |          |          |
  | with sexp |  1657 ms | 49606935 | 10535 us | 40026058 | 28115718 | 28115718 |      caA |
  |  serializ |          |       27 |          |          |          |          |          |
  | e int lis |          |          |          |          |          |          |          |
  | t list    |          |          |          |          |          |          |          |
  |----------------------------------------------------------------------------------------|

  record-list-serial -size 500
  ratio = 1.223
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | serialize |  3475 ms | 10399249 | 50105 us | 10125668 | 81128806 | 81128593 |     McaA |
  |  record l |          |      547 |          |        1 |          |          |          |
  | ist list  |          |          |          |          |          |          |          |
  | with sexp |  2842 ms | 85053603 | 91908 us | 72006921 | 71302599 | 71302599 |     McaA |
  |  serializ |          |       93 |          |          |          |          |          |
  | e record  |          |          |          |          |          |          |          |
  | list list |          |          |          |          |          |          |          |
  |----------------------------------------------------------------------------------------|

  tree-serial
  ratio = 3.221
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | serialize |  1018 ms | 30475372 | 21694 us | 13212088 | 15724802 | 15724802 |      MaA |
  |  tree     |          |       13 |          |        4 |          |          |          |
  | with sexp | 316006 u | 94563073 |  6871 us | 11534367 | 10999799 | 10999799 |      MaA |
  |  serializ |        s |        5 |          |          |          |          |          |
  | e tree    |          |          |          |          |          |          |          |
  |----------------------------------------------------------------------------------------|



Benchmark Results 7/26/2012: Comparing Flat_map and String.Map for small maps

Summary: (I don't understand these results; I ran the unsafe version twice to be sure.)
  -look-ups -size 1,000,000 -mapsize 10
  Array.unsafe_get: ratio = 0.762 or 0.778
  Array.get: ratio = 0.775

Flat_map using 1 Array of Tuples with Array.unsafe_get, Array.stable_sort
  look-ups -size 1,000,000 -mapsize 10
  ratio = 0.762
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | flat_map |  2080 ms | 62255475 | 56404 us | 39985054 |  34985010 | 34985010 |     McaA |
  |          |          |       01 |          |          |           |          |          |
  | string_m |  2730 ms | 81696490 | 62820 us | 59985206 |  54985098 | 54985098 |     McaA |
  | ap       |          |       77 |          |          |           |          |          |
  |----------------------------------------------------------------------------------------|
  ratio = 0.778
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | flat_map |  2101 ms | 62883074 | 74907 us | 39985054 |  34985010 | 34985010 |     McaA |
  |          |          |       11 |          |          |           |          |          |
  | string_m |  2700 ms | 80819743 | 35941 us | 59985206 |  54985098 | 54985098 |     McaA |
  | ap       |          |       67 |          |          |           |          |          |
  |----------------------------------------------------------------------------------------|



  tree-deserial -depth 22
  ratio = 1.723
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp | 809995 u | 24238646 |  9976 us | 12582952 | 11999799 | 11999799 |      MaA |
  |  deserial |        s |       22 |          |          |          |          |          |
  | ize tree  |          |          |          |          |          |          |          |
  | deseriali |  1396 ms | 41795549 | 50415 us | 10485775 | 12480067 | 12480067 |      MaA |
  | ze2 tree  |          |       92 |          |        2 |          |          |          |
  |----------------------------------------------------------------------------------------|


Flat_map using 1 Array of Tuples with Array.get,Array.stable_sort
  tree-deserial -depth 22
  ratio = 1.693
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp | 803505 u | 24044428 |  3883 us | 12582952 | 11999799 | 11999799 |       aA |
  |  deserial |        s |       98 |          |          |          |          |          |
  | ize tree  |          |          |          |          |          |          |          |
  | deseriali |  1360 ms | 40725074 | 11971 us | 10485775 | 12480067 | 12480067 |       aA |
  | ze2 tree  |          |       43 |          |        2 |          |          |          |
  |----------------------------------------------------------------------------------------|


  NOTE: the two record results below make sense. My record fields are always inorder, so the map is never actually created or used. I need to fix the benchmark.
  Record with String.Map
  record-list-deserial -size 1000
  ratio = 1.291
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp |  4054 ms | 12133114 | 132820 u | 13801728 | 24211549 | 24211549 |      MaA |
  |  deserial |          |      582 |        s |        9 |          |          |          |
  | ize recor |          |          |          |          |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  | deseriali |  5233 ms | 15660187 | 180896 u | 81301361 | 25246681 | 25246681 |      MaA |
  | ze2 recor |          |      272 |        s |        9 |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  |----------------------------------------------------------------------------------------|

  Record with Flat_map
  record-list-deserial -size 1000
  ratio = 1.307
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp |  4016 ms | 12019037 | 60770 us | 13801728 | 24211549 | 24211549 |      MaA |
  |  deserial |          |      925 |          |        9 |          |          |          |
  | ize recor |          |          |          |          |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  | deseriali |  5251 ms | 15713929 | 152151 u | 81301361 | 25246681 | 25246681 |      MaA |
  | ze2 recor |          |      457 |        s |        9 |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  |----------------------------------------------------------------------------------------|



  small-maps -size 1,000,000 -mapsize 10
  ratio flat_map to string.map = 0.302
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | flat_map |  1521 ms | 45535582 | 10955 us | 81986344 |  15985428 | 15985428 |      caA |
  |          |          |       21 |          |          |           |          |          |
  | string m |  5039 ms | 15081613 | 28077 us | 27198577 |  55994785 | 55994785 |      caA |
  | ap       |          |      595 |          |        4 |           |          |          |
  |----------------------------------------------------------------------------------------|

  small-maps -size 1,000,000 -mapsize 2
  ratio flat_map to string.map = 0.469
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | flat_map | 404315 u | 12098909 | 12970 us | 41985059 |   7985194 |  7985194 |      MaA |
  |          |        s |       23 |          |          |           |          |          |
  | string m | 862775 u | 25818054 | 39375 us | 55985351 |  19985513 | 19985513 |     McaA |
  | ap       |        s |       51 |          |          |           |          |          |
  |----------------------------------------------------------------------------------------|

  look-ups -size 1,000,000 -mapsize 2
  ratio flat_map to string.map = 0.655
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | flat_map | 357389 u | 10694681 | 13027 us | 15985032 |  10985010 | 10985010 |     mMaA |
  |          |        s |       68 |          |          |           |          |          |
  | string_m | 545317 u | 16318297 |  9272 us | 19985026 |  14985010 | 14985010 |     McaA |
  | ap       |        s |       68 |          |          |           |          |          |
  |----------------------------------------------------------------------------------------|


Flat_map using 1 Array of Tuples with Array.get,Array.sort
  small-maps -size 1,000,000 -mapsize 10
  ratio flat_map to string.map = 0.672
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | flat_map |  3440 ms | 10296054 | 41695 us | 15198664 |  15988469 | 15988469 |     McaA |
  |          |          |      544 |          |        7 |           |          |          |
  | string m |  5116 ms | 15311165 | 171669 u | 27198577 |  55994785 | 55994785 |     McaA |
  | ap       |          |      085 |        s |        4 |           |          |          |
  |----------------------------------------------------------------------------------------|
  look-ups -size 1,000,000 -mapsize 10
  ratio flat_map to string.map = 0.775
  |----------------------------------------------------------------------------------------|
  | Name     | Run time |   Cycles |    Stdev | Allocate | Allocated | Promoted | Warnings |
  |          |          |          |          | d (minor |   (major) |          |          |
  |          |          |          |          |        ) |           |          |          |
  |----------+----------+----------+----------+----------+-----------+----------+----------|
  | flat_map |  2102 ms | 62927416 | 13299 us | 39985054 |  34985010 | 34985010 |      caA |
  |          |          |       19 |          |          |           |          |          |
  | string_m |  2714 ms | 81220494 | 17931 us | 59985206 |  54985098 | 54985098 |      caA |
  | ap       |          |       30 |          |          |           |          |          |
  |----------------------------------------------------------------------------------------|


Benchmark Results 7/25/2012: Made Record and Variant tests bigger
  record-list-deserial -size 1000
  ratio = 1.217
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp |  4215 ms | 12615888 | 24789 us | 13801728 | 24211549 | 24211549 |       aA |
  |  deserial |          |      985 |          |        9 |          |          |          |
  | ize recor |          |          |          |          |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  | deseriali |  5131 ms | 15356545 | 79327 us | 81301361 | 25246681 | 25246681 |      MaA |
  | ze2 recor |          |      046 |          |        9 |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  |----------------------------------------------------------------------------------------|

  tree-deserial -depth 22
  ratio = 1.673
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp | 816326 u | 24428099 |  8331 us | 12582952 | 11999799 | 11999799 |      MaA |
  |  deserial |        s |       54 |          |          |          |          |          |
  | ize tree  |          |          |          |          |          |          |          |
  | deseriali |  1366 ms | 40878533 | 10964 us | 10485775 | 12480067 | 12480067 |       aA |
  | ze2 tree  |          |       59 |          |        2 |          |          |          |
  |----------------------------------------------------------------------------------------|



Benchmark Results 7/25/2012: After Changes to variant

With flat_map_array with change to binary search:
  tree-deserial -depth 22
  ratio = 1.427
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp | 831233 u | 24874165 | 48228 us | 12582952 | 11999799 | 11999799 |     mMaA |
  |  deserial |        s |       16 |          |          |          |          |          |
  | ize tree  |          |          |          |          |          |          |          |
  | deseriali |  1186 ms | 35514849 | 49212 us | 10485775 | 12480067 | 12480067 |      MaA |
  | ze2 tree  |          |       01 |          |        2 |          |          |          |
  |----------------------------------------------------------------------------------------|


With flat_map_original:
  tree-deserial -depth 22
  ratio = 1.616
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp | 789635 u | 23629366 | 17999 us | 12582952 | 11999799 | 11999799 |      MaA |
  |  deserial |        s |       87 |          |          |          |          |          |
  | ize tree  |          |          |          |          |          |          |          |
  | deseriali |  2548 ms | 76267373 | 63520 us | 62075817 | 12621658 | 12621658 |      MaA |
  | ze tree   |          |       03 |          |        5 |          |          |          |
  | deseriali |  1276 ms | 38185189 | 17788 us | 16357817 | 12538680 | 12538680 |       aA |
  | ze2 tree  |          |       80 |          |        0 |          |          |          |
  |----------------------------------------------------------------------------------------|



Benchmark Results 7/25/2012

With flat_map_original:
  tree-deserial -depth 22
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp | 785129 u | 23494537 |  4265 us | 12582952 | 11999799 | 11999799 |       aA |
  |  deserial |        s |       08 |          |          |          |          |          |
  | ize tree  |          |          |          |          |          |          |          |
  | deseriali |  2549 ms | 76299221 | 39561 us | 62075817 | 12621658 | 12621658 |       aA |
  | ze tree   |          |       24 |          |        5 |          |          |          |
  | deseriali |  1459 ms | 43688733 | 20772 us | 17616106 | 12571655 | 12571655 |       aA |
  | ze2 tree  |          |       63 |          |        8 |          |          |          |
  |----------------------------------------------------------------------------------------|

  record-list-deserial -size 500
  |----------------------------------------------------------------------------------------|
  | Name       | Run time |   Cycles |   Stdev | Allocate | Allocate | Promoted | Warnings |
  |            |          |          |         | d (minor | d (major |          |          |
  |            |          |          |         |        ) |        ) |          |          |
  |------------+----------+----------+---------+----------+----------+----------+----------|
  | with sexp  | 119536 u | 35770634 | 2450 us |  7505587 |  1406052 |  1406052 |       aA |
  | deserializ |        s |        1 |         |          |          |          |          |
  | e record l |          |          |         |          |          |          |          |
  | ist list   |          |          |         |          |          |          |          |
  | deserializ | 177203 u | 53027096 | 6146 us | 27013242 |  1516995 |  1516995 |      MaA |
  | e record l |        s |        4 |         |          |          |          |          |
  | ist list   |          |          |         |          |          |          |          |
  | deserializ | 248745 u | 74435778 | 4977 us | 48005742 |  1538281 |  1538281 |       MA |
  | e2 record  |        s |        0 |         |          |          |          |          |
  | list list  |          |          |         |          |          |          |          |
  |----------------------------------------------------------------------------------------|


With flat_map_not_as_slow:
  tree-deserial -depth 22
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp | 784905 u | 23487845 |  3501 us | 12582952 | 11999799 | 11999799 |       aA |
  |  deserial |        s |       83 |          |          |          |          |          |
  | ize tree  |          |          |          |          |          |          |          |
  | deseriali |  2557 ms | 76528747 | 90461 us | 62075817 | 12621658 | 12621658 |      MaA |
  | ze tree   |          |       11 |          |        5 |          |          |          |
  | deseriali |  1403 ms | 41990087 | 37126 us | 17616106 | 12571655 | 12571655 |      MaA |
  | ze2 tree  |          |       17 |          |        8 |          |          |          |
  |----------------------------------------------------------------------------------------|


  record-list-deserial -size 500
  |----------------------------------------------------------------------------------------|
  | Name       | Run time |   Cycles |   Stdev | Allocate | Allocate | Promoted | Warnings |
  |            |          |          |         | d (minor | d (major |          |          |
  |            |          |          |         |        ) |        ) |          |          |
  |------------+----------+----------+---------+----------+----------+----------+----------|
  | with sexp  | 117332 u | 35111312 | 4459 us |  7505587 |  1406052 |  1406052 |      MaA |
  | deserializ |        s |        5 |         |          |          |          |          |
  | e record l |          |          |         |          |          |          |          |
  | ist list   |          |          |         |          |          |          |          |
  | deserializ | 175483 u | 52512454 | 5375 us | 27013242 |  1516995 |  1516995 |      MaA |
  | e record l |        s |        6 |         |          |          |          |          |
  | ist list   |          |          |         |          |          |          |          |
  | deserializ | 254308 u | 76100532 | 4965 us | 43755830 |  1510723 |  1510723 |      MaA |
  | e2 record  |        s |        3 |         |          |          |          |          |
  | list list  |          |          |         |          |          |          |          |
  |----------------------------------------------------------------------------------------|
  record-list-deserial -size 2000
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp |  1988 ms | 59504161 | 106837 u | 12002224 | 24378597 | 24378595 |      MaA |
  |  deserial |          |       78 |        s |        5 |          |          |          |
  | ize recor |          |          |          |          |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  | deseriali |  2904 ms | 86903520 | 151829 u | 43205266 | 25306952 | 25306952 |      MaA |
  | ze record |          |       72 |        s |        0 |          |          |          |
  |  list lis |          |          |          |          |          |          |          |
  | t         |          |          |          |          |          |          |          |
  | deseriali |  4156 ms | 12438148 | 54096 us | 70003466 | 26204818 | 26204818 |       aA |
  | ze2 recor |          |      506 |          |        0 |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  |----------------------------------------------------------------------------------------|


with String.map for both variant and record:
  tree-deserial -depth 22
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp | 806247 u | 24126465 | 11355 us | 12582952 | 11999799 | 11999799 |      MaA |
  |  deserial |        s |       78 |          |          |          |          |          |
  | ize tree  |          |          |          |          |          |          |          |
  | deseriali |  2583 ms | 77299680 | 45014 us | 62075817 | 12621658 | 12621658 |      MaA |
  | ze tree   |          |       91 |          |        5 |          |          |          |
  | deseriali |  1336 ms | 39982025 | 16787 us | 13421787 | 12562691 | 12562691 |       aA |
  | ze2 tree  |          |       21 |          |        9 |          |          |          |
  |----------------------------------------------------------------------------------------|

  record-list-deserial -size 500
  |----------------------------------------------------------------------------------------|
  | Name       | Run time |   Cycles |   Stdev | Allocate | Allocate | Promoted | Warnings |
  |            |          |          |         | d (minor | d (major |          |          |
  |            |          |          |         |        ) |        ) |          |          |
  |------------+----------+----------+---------+----------+----------+----------+----------|
  | with sexp  | 116328 u | 34810653 | 2085 us |  7505587 |  1406052 |  1406052 |       aA |
  | deserializ |        s |        4 |         |          |          |          |          |
  | e record l |          |          |         |          |          |          |          |
  | ist list   |          |          |         |          |          |          |          |
  | deserializ | 173306 u | 51860979 | 5927 us | 27013242 |  1516995 |  1516995 |      MaA |
  | e record l |        s |        5 |         |          |          |          |          |
  | ist list   |          |          |         |          |          |          |          |
  | deserializ | 186869 u | 55919601 | 9610 us | 30255580 |  1509629 |  1509629 |      MaA |
  | e2 record  |        s |        3 |         |          |          |          |          |
  | list list  |          |          |         |          |          |          |          |
  |----------------------------------------------------------------------------------------|
  record-list-deserial -size 2000
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp |  1964 ms | 58781665 | 19376 us | 12002224 | 24378597 | 24378595 |      MaA |
  |  deserial |          |       93 |          |        5 |          |          |          |
  | ize recor |          |          |          |          |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  | deseriali |  2848 ms | 85230478 | 41108 us | 43205266 | 25306952 | 25306952 |       aA |
  | ze record |          |       65 |          |        0 |          |          |          |
  |  list lis |          |          |          |          |          |          |          |
  | t         |          |          |          |          |          |          |          |
  | deseriali |  2982 ms | 89259269 | 61033 us | 48402279 | 25460569 | 25460569 |      MaA |
  | ze2 recor |          |       78 |          |        5 |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  |----------------------------------------------------------------------------------------|

using lazy String.Map for record:
  record-list-deserial -size 500
  ratio = 1.441
  |----------------------------------------------------------------------------------------|
  | Name       | Run time |   Cycles |   Stdev | Allocate | Allocate | Promoted | Warnings |
  |            |          |          |         | d (minor | d (major |          |          |
  |            |          |          |         |        ) |        ) |          |          |
  |------------+----------+----------+---------+----------+----------+----------+----------|
  | with sexp  | 116088 u | 34738882 | 1766 us |  7505587 |  1406052 |  1406052 |       aA |
  | deserializ |        s |        8 |         |          |          |          |          |
  | e record l |          |          |         |          |          |          |          |
  | ist list   |          |          |         |          |          |          |          |
  | deserializ | 178629 u | 53453786 | 7087 us | 27013242 |  1516995 |  1516995 |      MaA |
  | e record l |        s |        5 |         |          |          |          |          |
  | ist list   |          |          |         |          |          |          |          |
  | deserializ | 167287 u | 50059884 | 4892 us | 27755685 |  1469446 |  1469446 |      MaA |
  | e2 record  |        s |        6 |         |          |          |          |          |
  | list list  |          |          |         |          |          |          |          |
  |----------------------------------------------------------------------------------------|
  record-list-deserial -size 2000
  ratio = 1.404
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp |  1976 ms | 59146270 | 116539 u | 12002224 | 24378597 | 24378595 |      MaA |
  |  deserial |          |       38 |        s |        5 |          |          |          |
  | ize recor |          |          |          |          |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  | deseriali |  2852 ms | 85361080 | 49490 us | 43205266 | 25306952 | 25306952 |      MaA |
  | ze record |          |       80 |          |        0 |          |          |          |
  |  list lis |          |          |          |          |          |          |          |
  | t         |          |          |          |          |          |          |          |
  | deseriali |  2774 ms | 83023412 | 61446 us | 44402442 | 25327092 | 25327092 |      MaA |
  | ze2 recor |          |       71 |          |        0 |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  |----------------------------------------------------------------------------------------|

using lazy Flat_map_not_so_slow for record:
  record-list-deserial -size 500
  |----------------------------------------------------------------------------------------|
  | Name       | Run time |   Cycles |   Stdev | Allocate | Allocate | Promoted | Warnings |
  |            |          |          |         | d (minor | d (major |          |          |
  |            |          |          |         |        ) |        ) |          |          |
  |------------+----------+----------+---------+----------+----------+----------+----------|
  | with sexp  | 115841 u | 34664966 | 2939 us |  7505587 |  1406052 |  1406052 |      MaA |
  | deserializ |        s |        8 |         |          |          |          |          |
  | e record l |          |          |         |          |          |          |          |
  | ist list   |          |          |         |          |          |          |          |
  | deserializ | 175132 u | 52407324 | 4445 us | 27013242 |  1516995 |  1516995 |      MaA |
  | e record l |        s |        7 |         |          |          |          |          |
  | ist list   |          |          |         |          |          |          |          |
  | deserializ | 169741 u | 50794301 | 6542 us | 27755685 |  1469446 |  1469446 |      MaA |
  | e2 record  |        s |        7 |         |          |          |          |          |
  | list list  |          |          |         |          |          |          |          |
  |----------------------------------------------------------------------------------------|
  record-list-deserial -size 2000
  |----------------------------------------------------------------------------------------|
  | Name      | Run time |   Cycles |    Stdev | Allocate | Allocate | Promoted | Warnings |
  |           |          |          |          | d (minor | d (major |          |          |
  |           |          |          |          |        ) |        ) |          |          |
  |-----------+----------+----------+----------+----------+----------+----------+----------|
  | with sexp |  2078 ms | 62187036 | 151522 u | 12002224 | 24378597 | 24378595 |      MaA |
  |  deserial |          |       84 |        s |        5 |          |          |          |
  | ize recor |          |          |          |          |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  | deseriali |  2905 ms | 86950292 | 92321 us | 43205266 | 25306952 | 25306952 |      MaA |
  | ze record |          |       58 |          |        0 |          |          |          |
  |  list lis |          |          |          |          |          |          |          |
  | t         |          |          |          |          |          |          |          |
  | deseriali |  2924 ms | 87501286 | 253195 u | 44402442 | 25327092 | 25327092 |     mMaA |
  | ze2 recor |          |       87 |        s |        0 |          |          |          |
  | d list li |          |          |          |          |          |          |          |
  | st        |          |          |          |          |          |          |          |
  |----------------------------------------------------------------------------------------|
