diff --git a/run.py b/run.py index 457865e..d05692a 100755 --- a/run.py +++ b/run.py @@ -13,6 +13,7 @@ binaries_path = os.path.join(os.path.dirname(__file__), './src/bin/') binaries = os.listdir(binaries_path) +binaries.sort() binaries.insert(0, 'weath3rb0i') # Add all parameters globally but only use the ones we require per binary (no checks for extra args) diff --git a/src/bin/ac-over-huffman/book1.log b/src/bin/ac-over-huffman/book1.log new file mode 100644 index 0000000..7270ce3 --- /dev/null +++ b/src/bin/ac-over-huffman/book1.log @@ -0,0 +1,181 @@ +[ac-over-huff] [hsize: 7 ctx: 8 align: 0] csize: 452905 (ratio: 0.589), ctime: 96.553083ms (16ns per bit) +[ac-over-huff] [hsize: 7 ctx: 9 align: 0] csize: 431057 (ratio: 0.561), ctime: 58.412875ms (9ns per bit) +[ac-over-huff] [hsize: 7 ctx: 10 align: 0] csize: 409246 (ratio: 0.532), ctime: 56.3795ms (9ns per bit) +[ac-over-huff] [hsize: 7 ctx: 11 align: 0] csize: 388436 (ratio: 0.505), ctime: 54.287041ms (9ns per bit) +[ac-over-huff] [hsize: 7 ctx: 12 align: 0] csize: 367749 (ratio: 0.478), ctime: 53.161917ms (9ns per bit) +[ac-over-huff] [hsize: 7 ctx: 13 align: 0] csize: 342730 (ratio: 0.446), ctime: 49.068875ms (8ns per bit) +[ac-over-huff] [hsize: 7 ctx: 14 align: 0] csize: 321557 (ratio: 0.418), ctime: 46.898459ms (8ns per bit) +[ac-over-huff] [hsize: 7 ctx: 15 align: 0] csize: 302416 (ratio: 0.393), ctime: 44.701875ms (7ns per bit) +[ac-over-huff] [hsize: 7 ctx: 16 align: 0] csize: 285631 (ratio: 0.372), ctime: 43.581084ms (7ns per bit) +[ac-over-huff] [hsize: 7 ctx: 17 align: 0] csize: 273709 (ratio: 0.356), ctime: 42.867541ms (7ns per bit) +[ac-over-huff] [hsize: 7 ctx: 18 align: 0] csize: 265244 (ratio: 0.345), ctime: 42.561916ms (7ns per bit) +[ac-over-huff] [hsize: 7 ctx: 19 align: 0] csize: 260476 (ratio: 0.339), ctime: 42.558833ms (7ns per bit) +[ac-over-huff] [hsize: 7 ctx: 20 align: 0] csize: 259330 (ratio: 0.337), ctime: 43.696208ms (7ns per bit) +[ac-over-huff] [hsize: 7 ctx: 21 align: 0] csize: 260557 (ratio: 0.339), ctime: 45.543542ms (7ns per bit) +[ac-over-huff] [hsize: 7 ctx: 22 align: 0] csize: 263891 (ratio: 0.343), ctime: 48.7975ms (8ns per bit) +[ac-over-huff] [hsize: 7 ctx: 23 align: 0] csize: 269148 (ratio: 0.350), ctime: 54.140959ms (9ns per bit) +[ac-over-huff] [hsize: 7 ctx: 24 align: 0] csize: 275770 (ratio: 0.359), ctime: 61.2345ms (10ns per bit) +[ac-over-huff] [hsize: 7 ctx: 25 align: 0] csize: 283580 (ratio: 0.369), ctime: 78.686125ms (13ns per bit) +[ac-over-huff] [hsize: 7 ctx: 26 align: 0] csize: 291914 (ratio: 0.380), ctime: 116.343375ms (19ns per bit) +-> best: 259330 for [hsize: 7] when [ctx: 20, align: 0] +[ac-over-huff] [hsize: 8 ctx: 8 align: 0] csize: 425013 (ratio: 0.553), ctime: 53.859792ms (9ns per bit) +[ac-over-huff] [hsize: 8 ctx: 9 align: 0] csize: 412188 (ratio: 0.536), ctime: 54.099292ms (9ns per bit) +[ac-over-huff] [hsize: 8 ctx: 10 align: 0] csize: 395841 (ratio: 0.515), ctime: 53.687917ms (9ns per bit) +[ac-over-huff] [hsize: 8 ctx: 11 align: 0] csize: 377563 (ratio: 0.491), ctime: 52.386ms (9ns per bit) +[ac-over-huff] [hsize: 8 ctx: 12 align: 0] csize: 357553 (ratio: 0.465), ctime: 50.164167ms (8ns per bit) +[ac-over-huff] [hsize: 8 ctx: 13 align: 0] csize: 336351 (ratio: 0.438), ctime: 47.791042ms (8ns per bit) +[ac-over-huff] [hsize: 8 ctx: 14 align: 0] csize: 315425 (ratio: 0.410), ctime: 45.329458ms (7ns per bit) +[ac-over-huff] [hsize: 8 ctx: 15 align: 0] csize: 297038 (ratio: 0.386), ctime: 43.47275ms (7ns per bit) +[ac-over-huff] [hsize: 8 ctx: 16 align: 0] csize: 280389 (ratio: 0.365), ctime: 42.353583ms (7ns per bit) +[ac-over-huff] [hsize: 8 ctx: 17 align: 0] csize: 269061 (ratio: 0.350), ctime: 41.597042ms (7ns per bit) +[ac-over-huff] [hsize: 8 ctx: 18 align: 0] csize: 260722 (ratio: 0.339), ctime: 41.136875ms (7ns per bit) +[ac-over-huff] [hsize: 8 ctx: 19 align: 0] csize: 256582 (ratio: 0.334), ctime: 41.137917ms (7ns per bit) +[ac-over-huff] [hsize: 8 ctx: 20 align: 0] csize: 255950 (ratio: 0.333), ctime: 42.205ms (7ns per bit) +[ac-over-huff] [hsize: 8 ctx: 21 align: 0] csize: 258286 (ratio: 0.336), ctime: 44.565ms (7ns per bit) +[ac-over-huff] [hsize: 8 ctx: 22 align: 0] csize: 262559 (ratio: 0.342), ctime: 47.551ms (8ns per bit) +[ac-over-huff] [hsize: 8 ctx: 23 align: 0] csize: 268542 (ratio: 0.349), ctime: 53.290834ms (9ns per bit) +[ac-over-huff] [hsize: 8 ctx: 24 align: 0] csize: 275638 (ratio: 0.359), ctime: 61.052291ms (10ns per bit) +[ac-over-huff] [hsize: 8 ctx: 25 align: 0] csize: 283501 (ratio: 0.369), ctime: 70.950709ms (12ns per bit) +[ac-over-huff] [hsize: 8 ctx: 26 align: 0] csize: 291930 (ratio: 0.380), ctime: 91.512333ms (15ns per bit) +-> best: 255950 for [hsize: 8] when [ctx: 20, align: 0] +[ac-over-huff] [hsize: 9 ctx: 8 align: 0] csize: 416382 (ratio: 0.542), ctime: 52.296542ms (9ns per bit) +[ac-over-huff] [hsize: 9 ctx: 9 align: 0] csize: 405167 (ratio: 0.527), ctime: 52.60075ms (9ns per bit) +[ac-over-huff] [hsize: 9 ctx: 10 align: 0] csize: 388404 (ratio: 0.505), ctime: 52.25175ms (8ns per bit) +[ac-over-huff] [hsize: 9 ctx: 11 align: 0] csize: 371315 (ratio: 0.483), ctime: 51.23625ms (8ns per bit) +[ac-over-huff] [hsize: 9 ctx: 12 align: 0] csize: 352243 (ratio: 0.458), ctime: 49.541791ms (8ns per bit) +[ac-over-huff] [hsize: 9 ctx: 13 align: 0] csize: 331156 (ratio: 0.431), ctime: 47.464667ms (8ns per bit) +[ac-over-huff] [hsize: 9 ctx: 14 align: 0] csize: 311592 (ratio: 0.405), ctime: 45.016417ms (7ns per bit) +[ac-over-huff] [hsize: 9 ctx: 15 align: 0] csize: 293486 (ratio: 0.382), ctime: 42.954584ms (7ns per bit) +[ac-over-huff] [hsize: 9 ctx: 16 align: 0] csize: 278174 (ratio: 0.362), ctime: 42.244459ms (7ns per bit) +[ac-over-huff] [hsize: 9 ctx: 17 align: 0] csize: 266276 (ratio: 0.346), ctime: 41.395667ms (7ns per bit) +[ac-over-huff] [hsize: 9 ctx: 18 align: 0] csize: 258770 (ratio: 0.337), ctime: 41.08475ms (7ns per bit) +[ac-over-huff] [hsize: 9 ctx: 19 align: 0] csize: 255011 (ratio: 0.332), ctime: 40.79725ms (7ns per bit) +[ac-over-huff] [hsize: 9 ctx: 20 align: 0] csize: 254995 (ratio: 0.332), ctime: 41.951959ms (7ns per bit) +[ac-over-huff] [hsize: 9 ctx: 21 align: 0] csize: 257635 (ratio: 0.335), ctime: 44.302125ms (7ns per bit) +[ac-over-huff] [hsize: 9 ctx: 22 align: 0] csize: 262654 (ratio: 0.342), ctime: 47.4455ms (8ns per bit) +[ac-over-huff] [hsize: 9 ctx: 23 align: 0] csize: 269006 (ratio: 0.350), ctime: 53.910791ms (9ns per bit) +[ac-over-huff] [hsize: 9 ctx: 24 align: 0] csize: 276346 (ratio: 0.359), ctime: 100.827875ms (16ns per bit) +[ac-over-huff] [hsize: 9 ctx: 25 align: 0] csize: 284546 (ratio: 0.370), ctime: 83.263875ms (14ns per bit) +[ac-over-huff] [hsize: 9 ctx: 26 align: 0] csize: 293105 (ratio: 0.381), ctime: 116.102042ms (19ns per bit) +-> best: 254995 for [hsize: 9] when [ctx: 20, align: 0] +[ac-over-huff] [hsize: 10 ctx: 8 align: 0] csize: 409548 (ratio: 0.533), ctime: 53.290834ms (9ns per bit) +[ac-over-huff] [hsize: 10 ctx: 9 align: 0] csize: 397681 (ratio: 0.517), ctime: 53.970334ms (9ns per bit) +[ac-over-huff] [hsize: 10 ctx: 10 align: 0] csize: 381976 (ratio: 0.497), ctime: 53.071417ms (9ns per bit) +[ac-over-huff] [hsize: 10 ctx: 11 align: 0] csize: 363834 (ratio: 0.473), ctime: 50.914458ms (8ns per bit) +[ac-over-huff] [hsize: 10 ctx: 12 align: 0] csize: 342354 (ratio: 0.445), ctime: 48.8225ms (8ns per bit) +[ac-over-huff] [hsize: 10 ctx: 13 align: 0] csize: 321624 (ratio: 0.418), ctime: 46.612833ms (8ns per bit) +[ac-over-huff] [hsize: 10 ctx: 14 align: 0] csize: 302548 (ratio: 0.394), ctime: 44.390208ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 15 align: 0] csize: 285836 (ratio: 0.372), ctime: 43.15125ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 16 align: 0] csize: 272094 (ratio: 0.354), ctime: 43.707167ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 17 align: 0] csize: 261259 (ratio: 0.340), ctime: 42.099292ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 18 align: 0] csize: 254554 (ratio: 0.331), ctime: 41.914125ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 19 align: 0] csize: 251789 (ratio: 0.328), ctime: 43.249708ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 20 align: 0] csize: 251917 (ratio: 0.328), ctime: 42.860583ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 21 align: 0] csize: 254741 (ratio: 0.331), ctime: 44.282458ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 22 align: 0] csize: 259529 (ratio: 0.338), ctime: 47.101ms (8ns per bit) +[ac-over-huff] [hsize: 10 ctx: 23 align: 0] csize: 265899 (ratio: 0.346), ctime: 53.704209ms (9ns per bit) +[ac-over-huff] [hsize: 10 ctx: 24 align: 0] csize: 273287 (ratio: 0.355), ctime: 65.830834ms (11ns per bit) +[ac-over-huff] [hsize: 10 ctx: 25 align: 0] csize: 281395 (ratio: 0.366), ctime: 78.125958ms (13ns per bit) +[ac-over-huff] [hsize: 10 ctx: 26 align: 0] csize: 289963 (ratio: 0.377), ctime: 112.708667ms (18ns per bit) +-> best: 251789 for [hsize: 10] when [ctx: 19, align: 0] +[ac-over-huff] [hsize: 11 ctx: 8 align: 0] csize: 410557 (ratio: 0.534), ctime: 52.093666ms (8ns per bit) +[ac-over-huff] [hsize: 11 ctx: 9 align: 0] csize: 398580 (ratio: 0.518), ctime: 52.205917ms (8ns per bit) +[ac-over-huff] [hsize: 11 ctx: 10 align: 0] csize: 384978 (ratio: 0.501), ctime: 51.829792ms (8ns per bit) +[ac-over-huff] [hsize: 11 ctx: 11 align: 0] csize: 367489 (ratio: 0.478), ctime: 51.072583ms (8ns per bit) +[ac-over-huff] [hsize: 11 ctx: 12 align: 0] csize: 346869 (ratio: 0.451), ctime: 48.924917ms (8ns per bit) +[ac-over-huff] [hsize: 11 ctx: 13 align: 0] csize: 326360 (ratio: 0.425), ctime: 46.873458ms (8ns per bit) +[ac-over-huff] [hsize: 11 ctx: 14 align: 0] csize: 306180 (ratio: 0.398), ctime: 45.042542ms (7ns per bit) +[ac-over-huff] [hsize: 11 ctx: 15 align: 0] csize: 287488 (ratio: 0.374), ctime: 42.994583ms (7ns per bit) +[ac-over-huff] [hsize: 11 ctx: 16 align: 0] csize: 272703 (ratio: 0.355), ctime: 41.766625ms (7ns per bit) +[ac-over-huff] [hsize: 11 ctx: 17 align: 0] csize: 261825 (ratio: 0.341), ctime: 41.799875ms (7ns per bit) +[ac-over-huff] [hsize: 11 ctx: 18 align: 0] csize: 254700 (ratio: 0.331), ctime: 41.189125ms (7ns per bit) +[ac-over-huff] [hsize: 11 ctx: 19 align: 0] csize: 251708 (ratio: 0.327), ctime: 41.65175ms (7ns per bit) +[ac-over-huff] [hsize: 11 ctx: 20 align: 0] csize: 252028 (ratio: 0.328), ctime: 43.929125ms (7ns per bit) +[ac-over-huff] [hsize: 11 ctx: 21 align: 0] csize: 255046 (ratio: 0.332), ctime: 46.645083ms (8ns per bit) +[ac-over-huff] [hsize: 11 ctx: 22 align: 0] csize: 260126 (ratio: 0.338), ctime: 52.228ms (8ns per bit) +[ac-over-huff] [hsize: 11 ctx: 23 align: 0] csize: 266621 (ratio: 0.347), ctime: 60.33425ms (10ns per bit) +[ac-over-huff] [hsize: 11 ctx: 24 align: 0] csize: 274129 (ratio: 0.357), ctime: 67.11275ms (11ns per bit) +[ac-over-huff] [hsize: 11 ctx: 25 align: 0] csize: 282246 (ratio: 0.367), ctime: 78.602625ms (13ns per bit) +[ac-over-huff] [hsize: 11 ctx: 26 align: 0] csize: 290699 (ratio: 0.378), ctime: 97.645291ms (16ns per bit) +-> best: 251708 for [hsize: 11] when [ctx: 19, align: 0] +[ac-over-huff] [hsize: 12 ctx: 8 align: 0] csize: 410930 (ratio: 0.535), ctime: 52.1155ms (8ns per bit) +[ac-over-huff] [hsize: 12 ctx: 9 align: 0] csize: 396719 (ratio: 0.516), ctime: 52.397292ms (9ns per bit) +[ac-over-huff] [hsize: 12 ctx: 10 align: 0] csize: 380806 (ratio: 0.495), ctime: 52.732459ms (9ns per bit) +[ac-over-huff] [hsize: 12 ctx: 11 align: 0] csize: 360870 (ratio: 0.469), ctime: 50.955542ms (8ns per bit) +[ac-over-huff] [hsize: 12 ctx: 12 align: 0] csize: 340069 (ratio: 0.442), ctime: 48.594334ms (8ns per bit) +[ac-over-huff] [hsize: 12 ctx: 13 align: 0] csize: 319903 (ratio: 0.416), ctime: 46.001333ms (7ns per bit) +[ac-over-huff] [hsize: 12 ctx: 14 align: 0] csize: 299781 (ratio: 0.390), ctime: 43.401458ms (7ns per bit) +[ac-over-huff] [hsize: 12 ctx: 15 align: 0] csize: 282685 (ratio: 0.368), ctime: 41.720417ms (7ns per bit) +[ac-over-huff] [hsize: 12 ctx: 16 align: 0] csize: 267491 (ratio: 0.348), ctime: 40.874375ms (7ns per bit) +[ac-over-huff] [hsize: 12 ctx: 17 align: 0] csize: 256821 (ratio: 0.334), ctime: 41.216209ms (7ns per bit) +[ac-over-huff] [hsize: 12 ctx: 18 align: 0] csize: 250293 (ratio: 0.326), ctime: 40.799458ms (7ns per bit) +[ac-over-huff] [hsize: 12 ctx: 19 align: 0] csize: 247969 (ratio: 0.323), ctime: 43.515792ms (7ns per bit) +[ac-over-huff] [hsize: 12 ctx: 20 align: 0] csize: 248786 (ratio: 0.324), ctime: 127.013292ms (21ns per bit) +[ac-over-huff] [hsize: 12 ctx: 21 align: 0] csize: 251986 (ratio: 0.328), ctime: 67.197333ms (11ns per bit) +[ac-over-huff] [hsize: 12 ctx: 22 align: 0] csize: 257221 (ratio: 0.335), ctime: 78.535625ms (13ns per bit) +[ac-over-huff] [hsize: 12 ctx: 23 align: 0] csize: 263819 (ratio: 0.343), ctime: 98.167334ms (16ns per bit) +[ac-over-huff] [hsize: 12 ctx: 24 align: 0] csize: 271355 (ratio: 0.353), ctime: 101.268ms (16ns per bit) +[ac-over-huff] [hsize: 12 ctx: 25 align: 0] csize: 279500 (ratio: 0.364), ctime: 92.904875ms (15ns per bit) +[ac-over-huff] [hsize: 12 ctx: 26 align: 0] csize: 288048 (ratio: 0.375), ctime: 135.42325ms (22ns per bit) +-> best: 247969 for [hsize: 12] when [ctx: 19, align: 0] +[ac-over-huff] [hsize: 13 ctx: 8 align: 0] csize: 407074 (ratio: 0.530), ctime: 53.86425ms (9ns per bit) +[ac-over-huff] [hsize: 13 ctx: 9 align: 0] csize: 395939 (ratio: 0.515), ctime: 53.881ms (9ns per bit) +[ac-over-huff] [hsize: 13 ctx: 10 align: 0] csize: 381340 (ratio: 0.496), ctime: 53.397084ms (9ns per bit) +[ac-over-huff] [hsize: 13 ctx: 11 align: 0] csize: 363978 (ratio: 0.473), ctime: 51.429625ms (8ns per bit) +[ac-over-huff] [hsize: 13 ctx: 12 align: 0] csize: 344432 (ratio: 0.448), ctime: 48.771ms (8ns per bit) +[ac-over-huff] [hsize: 13 ctx: 13 align: 0] csize: 324178 (ratio: 0.422), ctime: 47.202625ms (8ns per bit) +[ac-over-huff] [hsize: 13 ctx: 14 align: 0] csize: 303962 (ratio: 0.395), ctime: 44.814ms (7ns per bit) +[ac-over-huff] [hsize: 13 ctx: 15 align: 0] csize: 285754 (ratio: 0.372), ctime: 42.520041ms (7ns per bit) +[ac-over-huff] [hsize: 13 ctx: 16 align: 0] csize: 271863 (ratio: 0.354), ctime: 41.66ms (7ns per bit) +[ac-over-huff] [hsize: 13 ctx: 17 align: 0] csize: 260908 (ratio: 0.339), ctime: 41.293833ms (7ns per bit) +[ac-over-huff] [hsize: 13 ctx: 18 align: 0] csize: 254554 (ratio: 0.331), ctime: 41.43925ms (7ns per bit) +[ac-over-huff] [hsize: 13 ctx: 19 align: 0] csize: 251619 (ratio: 0.327), ctime: 43.105875ms (7ns per bit) +[ac-over-huff] [hsize: 13 ctx: 20 align: 0] csize: 252188 (ratio: 0.328), ctime: 50.083459ms (8ns per bit) +[ac-over-huff] [hsize: 13 ctx: 21 align: 0] csize: 255099 (ratio: 0.332), ctime: 48.837584ms (8ns per bit) +[ac-over-huff] [hsize: 13 ctx: 22 align: 0] csize: 259882 (ratio: 0.338), ctime: 53.124333ms (9ns per bit) +[ac-over-huff] [hsize: 13 ctx: 23 align: 0] csize: 266277 (ratio: 0.346), ctime: 61.245708ms (10ns per bit) +[ac-over-huff] [hsize: 13 ctx: 24 align: 0] csize: 273638 (ratio: 0.356), ctime: 68.583375ms (11ns per bit) +[ac-over-huff] [hsize: 13 ctx: 25 align: 0] csize: 281755 (ratio: 0.367), ctime: 72.550209ms (12ns per bit) +[ac-over-huff] [hsize: 13 ctx: 26 align: 0] csize: 290263 (ratio: 0.378), ctime: 98.627666ms (16ns per bit) +-> best: 251619 for [hsize: 13] when [ctx: 19, align: 0] +[ac-over-huff] [hsize: 14 ctx: 8 align: 0] csize: 406619 (ratio: 0.529), ctime: 52.150625ms (8ns per bit) +[ac-over-huff] [hsize: 14 ctx: 9 align: 0] csize: 395731 (ratio: 0.515), ctime: 52.024584ms (8ns per bit) +[ac-over-huff] [hsize: 14 ctx: 10 align: 0] csize: 381472 (ratio: 0.496), ctime: 51.700541ms (8ns per bit) +[ac-over-huff] [hsize: 14 ctx: 11 align: 0] csize: 363610 (ratio: 0.473), ctime: 50.377625ms (8ns per bit) +[ac-over-huff] [hsize: 14 ctx: 12 align: 0] csize: 344400 (ratio: 0.448), ctime: 50.902208ms (8ns per bit) +[ac-over-huff] [hsize: 14 ctx: 13 align: 0] csize: 324388 (ratio: 0.422), ctime: 47.172875ms (8ns per bit) +[ac-over-huff] [hsize: 14 ctx: 14 align: 0] csize: 304133 (ratio: 0.396), ctime: 43.901625ms (7ns per bit) +[ac-over-huff] [hsize: 14 ctx: 15 align: 0] csize: 285901 (ratio: 0.372), ctime: 41.966583ms (7ns per bit) +[ac-over-huff] [hsize: 14 ctx: 16 align: 0] csize: 271589 (ratio: 0.353), ctime: 41.273916ms (7ns per bit) +[ac-over-huff] [hsize: 14 ctx: 17 align: 0] csize: 260944 (ratio: 0.339), ctime: 41.067209ms (7ns per bit) +[ac-over-huff] [hsize: 14 ctx: 18 align: 0] csize: 254447 (ratio: 0.331), ctime: 41.471083ms (7ns per bit) +[ac-over-huff] [hsize: 14 ctx: 19 align: 0] csize: 251640 (ratio: 0.327), ctime: 40.930666ms (7ns per bit) +[ac-over-huff] [hsize: 14 ctx: 20 align: 0] csize: 252120 (ratio: 0.328), ctime: 42.505625ms (7ns per bit) +[ac-over-huff] [hsize: 14 ctx: 21 align: 0] csize: 255004 (ratio: 0.332), ctime: 57.349042ms (9ns per bit) +[ac-over-huff] [hsize: 14 ctx: 22 align: 0] csize: 259858 (ratio: 0.338), ctime: 66.824416ms (11ns per bit) +[ac-over-huff] [hsize: 14 ctx: 23 align: 0] csize: 266178 (ratio: 0.346), ctime: 56.254417ms (9ns per bit) +[ac-over-huff] [hsize: 14 ctx: 24 align: 0] csize: 273520 (ratio: 0.356), ctime: 64.105542ms (10ns per bit) +[ac-over-huff] [hsize: 14 ctx: 25 align: 0] csize: 281615 (ratio: 0.366), ctime: 72.639416ms (12ns per bit) +[ac-over-huff] [hsize: 14 ctx: 26 align: 0] csize: 290130 (ratio: 0.377), ctime: 92.640166ms (15ns per bit) +-> best: 251640 for [hsize: 14] when [ctx: 19, align: 0] +[ac-over-huff] [hsize: 15 ctx: 8 align: 0] csize: 406477 (ratio: 0.529), ctime: 51.926583ms (8ns per bit) +[ac-over-huff] [hsize: 15 ctx: 9 align: 0] csize: 395418 (ratio: 0.514), ctime: 52.310792ms (9ns per bit) +[ac-over-huff] [hsize: 15 ctx: 10 align: 0] csize: 380806 (ratio: 0.495), ctime: 52.052166ms (8ns per bit) +[ac-over-huff] [hsize: 15 ctx: 11 align: 0] csize: 362552 (ratio: 0.472), ctime: 51.66975ms (8ns per bit) +[ac-over-huff] [hsize: 15 ctx: 12 align: 0] csize: 343751 (ratio: 0.447), ctime: 48.697625ms (8ns per bit) +[ac-over-huff] [hsize: 15 ctx: 13 align: 0] csize: 324168 (ratio: 0.422), ctime: 46.534291ms (8ns per bit) +[ac-over-huff] [hsize: 15 ctx: 14 align: 0] csize: 304133 (ratio: 0.396), ctime: 43.912291ms (7ns per bit) +[ac-over-huff] [hsize: 15 ctx: 15 align: 0] csize: 286304 (ratio: 0.372), ctime: 42.116292ms (7ns per bit) +[ac-over-huff] [hsize: 15 ctx: 16 align: 0] csize: 271764 (ratio: 0.354), ctime: 41.312542ms (7ns per bit) +[ac-over-huff] [hsize: 15 ctx: 17 align: 0] csize: 261251 (ratio: 0.340), ctime: 40.593583ms (7ns per bit) +[ac-over-huff] [hsize: 15 ctx: 18 align: 0] csize: 254763 (ratio: 0.331), ctime: 40.307958ms (7ns per bit) +[ac-over-huff] [hsize: 15 ctx: 19 align: 0] csize: 251844 (ratio: 0.328), ctime: 40.723709ms (7ns per bit) +[ac-over-huff] [hsize: 15 ctx: 20 align: 0] csize: 252335 (ratio: 0.328), ctime: 46.188666ms (8ns per bit) +[ac-over-huff] [hsize: 15 ctx: 21 align: 0] csize: 255189 (ratio: 0.332), ctime: 45.965333ms (7ns per bit) +[ac-over-huff] [hsize: 15 ctx: 22 align: 0] csize: 259974 (ratio: 0.338), ctime: 46.510125ms (8ns per bit) +[ac-over-huff] [hsize: 15 ctx: 23 align: 0] csize: 266304 (ratio: 0.346), ctime: 52.363167ms (9ns per bit) +[ac-over-huff] [hsize: 15 ctx: 24 align: 0] csize: 273599 (ratio: 0.356), ctime: 61.281958ms (10ns per bit) +[ac-over-huff] [hsize: 15 ctx: 25 align: 0] csize: 281666 (ratio: 0.366), ctime: 70.218375ms (11ns per bit) +[ac-over-huff] [hsize: 15 ctx: 26 align: 0] csize: 290199 (ratio: 0.377), ctime: 96.728875ms (16ns per bit) +-> best: 251844 for [hsize: 15] when [ctx: 19, align: 0] +-> gloabl best: 247969 for [hsize: 12, ctx: 19, align: 0] diff --git a/src/bin/ac-over-huffman/enwik7.log b/src/bin/ac-over-huffman/enwik7.log new file mode 100644 index 0000000..12efe6c --- /dev/null +++ b/src/bin/ac-over-huffman/enwik7.log @@ -0,0 +1,161 @@ +[ac-over-huff] [hsize: 8 ctx: 8 align: 0] csize: 6717877 (ratio: 0.672), ctime: 907.256708ms (11ns per bit) +[ac-over-huff] [hsize: 8 ctx: 9 align: 0] csize: 6483549 (ratio: 0.648), ctime: 864.137916ms (11ns per bit) +[ac-over-huff] [hsize: 8 ctx: 10 align: 0] csize: 6249423 (ratio: 0.625), ctime: 854.360875ms (11ns per bit) +[ac-over-huff] [hsize: 8 ctx: 11 align: 0] csize: 6002244 (ratio: 0.600), ctime: 833.02925ms (10ns per bit) +[ac-over-huff] [hsize: 8 ctx: 12 align: 0] csize: 5729311 (ratio: 0.573), ctime: 803.346542ms (10ns per bit) +[ac-over-huff] [hsize: 8 ctx: 13 align: 0] csize: 5454614 (ratio: 0.545), ctime: 773.822708ms (10ns per bit) +[ac-over-huff] [hsize: 8 ctx: 14 align: 0] csize: 5180928 (ratio: 0.518), ctime: 745.135125ms (9ns per bit) +[ac-over-huff] [hsize: 8 ctx: 15 align: 0] csize: 4891817 (ratio: 0.489), ctime: 714.48875ms (9ns per bit) +[ac-over-huff] [hsize: 8 ctx: 16 align: 0] csize: 4615977 (ratio: 0.462), ctime: 690.829833ms (9ns per bit) +[ac-over-huff] [hsize: 8 ctx: 17 align: 0] csize: 4355391 (ratio: 0.436), ctime: 668.842292ms (8ns per bit) +[ac-over-huff] [hsize: 8 ctx: 18 align: 0] csize: 4121087 (ratio: 0.412), ctime: 648.783167ms (8ns per bit) +[ac-over-huff] [hsize: 8 ctx: 19 align: 0] csize: 3895481 (ratio: 0.390), ctime: 629.208583ms (8ns per bit) +[ac-over-huff] [hsize: 8 ctx: 20 align: 0] csize: 3701883 (ratio: 0.370), ctime: 618.588917ms (8ns per bit) +[ac-over-huff] [hsize: 8 ctx: 21 align: 0] csize: 3544590 (ratio: 0.354), ctime: 614.2635ms (8ns per bit) +[ac-over-huff] [hsize: 8 ctx: 22 align: 0] csize: 3406832 (ratio: 0.341), ctime: 619.678625ms (8ns per bit) +[ac-over-huff] [hsize: 8 ctx: 23 align: 0] csize: 3296908 (ratio: 0.330), ctime: 641.586083ms (8ns per bit) +[ac-over-huff] [hsize: 8 ctx: 24 align: 0] csize: 3212970 (ratio: 0.321), ctime: 684.062458ms (9ns per bit) +[ac-over-huff] [hsize: 8 ctx: 25 align: 0] csize: 3155299 (ratio: 0.316), ctime: 743.376916ms (9ns per bit) +[ac-over-huff] [hsize: 8 ctx: 26 align: 0] csize: 3119773 (ratio: 0.312), ctime: 832.01825ms (10ns per bit) +-> best: 3119773 for [hsize: 8] when [ctx: 26, align: 0] +[ac-over-huff] [hsize: 9 ctx: 8 align: 0] csize: 6341344 (ratio: 0.634), ctime: 797.317833ms (10ns per bit) +[ac-over-huff] [hsize: 9 ctx: 9 align: 0] csize: 6172107 (ratio: 0.617), ctime: 801.063459ms (10ns per bit) +[ac-over-huff] [hsize: 9 ctx: 10 align: 0] csize: 5968377 (ratio: 0.597), ctime: 798.452459ms (10ns per bit) +[ac-over-huff] [hsize: 9 ctx: 11 align: 0] csize: 5722924 (ratio: 0.572), ctime: 784.56375ms (10ns per bit) +[ac-over-huff] [hsize: 9 ctx: 12 align: 0] csize: 5462426 (ratio: 0.546), ctime: 761.921709ms (10ns per bit) +[ac-over-huff] [hsize: 9 ctx: 13 align: 0] csize: 5169539 (ratio: 0.517), ctime: 729.931667ms (9ns per bit) +[ac-over-huff] [hsize: 9 ctx: 14 align: 0] csize: 4868117 (ratio: 0.487), ctime: 693.385542ms (9ns per bit) +[ac-over-huff] [hsize: 9 ctx: 15 align: 0] csize: 4574269 (ratio: 0.457), ctime: 658.233667ms (8ns per bit) +[ac-over-huff] [hsize: 9 ctx: 16 align: 0] csize: 4294504 (ratio: 0.429), ctime: 634.886166ms (8ns per bit) +[ac-over-huff] [hsize: 9 ctx: 17 align: 0] csize: 4020222 (ratio: 0.402), ctime: 609.433917ms (8ns per bit) +[ac-over-huff] [hsize: 9 ctx: 18 align: 0] csize: 3766989 (ratio: 0.377), ctime: 586.648792ms (7ns per bit) +[ac-over-huff] [hsize: 9 ctx: 19 align: 0] csize: 3544962 (ratio: 0.354), ctime: 567.112292ms (7ns per bit) +[ac-over-huff] [hsize: 9 ctx: 20 align: 0] csize: 3360156 (ratio: 0.336), ctime: 556.982417ms (7ns per bit) +[ac-over-huff] [hsize: 9 ctx: 21 align: 0] csize: 3213981 (ratio: 0.321), ctime: 553.33475ms (7ns per bit) +[ac-over-huff] [hsize: 9 ctx: 22 align: 0] csize: 3107629 (ratio: 0.311), ctime: 570.509667ms (7ns per bit) +[ac-over-huff] [hsize: 9 ctx: 23 align: 0] csize: 3037608 (ratio: 0.304), ctime: 620.721083ms (8ns per bit) +[ac-over-huff] [hsize: 9 ctx: 24 align: 0] csize: 3001364 (ratio: 0.300), ctime: 684.822333ms (9ns per bit) +[ac-over-huff] [hsize: 9 ctx: 25 align: 0] csize: 2992740 (ratio: 0.299), ctime: 780.106333ms (10ns per bit) +[ac-over-huff] [hsize: 9 ctx: 26 align: 0] csize: 3005656 (ratio: 0.301), ctime: 880.718917ms (11ns per bit) +-> best: 2992740 for [hsize: 9] when [ctx: 25, align: 0] +[ac-over-huff] [hsize: 10 ctx: 8 align: 0] csize: 6221115 (ratio: 0.622), ctime: 775.255792ms (10ns per bit) +[ac-over-huff] [hsize: 10 ctx: 9 align: 0] csize: 6064892 (ratio: 0.606), ctime: 782.451ms (10ns per bit) +[ac-over-huff] [hsize: 10 ctx: 10 align: 0] csize: 5878149 (ratio: 0.588), ctime: 783.098583ms (10ns per bit) +[ac-over-huff] [hsize: 10 ctx: 11 align: 0] csize: 5651382 (ratio: 0.565), ctime: 772.880333ms (10ns per bit) +[ac-over-huff] [hsize: 10 ctx: 12 align: 0] csize: 5413192 (ratio: 0.541), ctime: 753.835125ms (9ns per bit) +[ac-over-huff] [hsize: 10 ctx: 13 align: 0] csize: 5139116 (ratio: 0.514), ctime: 724.501625ms (9ns per bit) +[ac-over-huff] [hsize: 10 ctx: 14 align: 0] csize: 4847452 (ratio: 0.485), ctime: 688.507209ms (9ns per bit) +[ac-over-huff] [hsize: 10 ctx: 15 align: 0] csize: 4544975 (ratio: 0.454), ctime: 652.685375ms (8ns per bit) +[ac-over-huff] [hsize: 10 ctx: 16 align: 0] csize: 4238147 (ratio: 0.424), ctime: 624.569333ms (8ns per bit) +[ac-over-huff] [hsize: 10 ctx: 17 align: 0] csize: 3941486 (ratio: 0.394), ctime: 596.859292ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 18 align: 0] csize: 3674023 (ratio: 0.367), ctime: 572.429209ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 19 align: 0] csize: 3450996 (ratio: 0.345), ctime: 552.864958ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 20 align: 0] csize: 3271060 (ratio: 0.327), ctime: 543.480584ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 21 align: 0] csize: 3132645 (ratio: 0.313), ctime: 581.622833ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 22 align: 0] csize: 3037567 (ratio: 0.304), ctime: 578.185834ms (7ns per bit) +[ac-over-huff] [hsize: 10 ctx: 23 align: 0] csize: 2982350 (ratio: 0.298), ctime: 630.181208ms (8ns per bit) +[ac-over-huff] [hsize: 10 ctx: 24 align: 0] csize: 2961459 (ratio: 0.296), ctime: 700.140333ms (9ns per bit) +[ac-over-huff] [hsize: 10 ctx: 25 align: 0] csize: 2965748 (ratio: 0.297), ctime: 790.580875ms (10ns per bit) +[ac-over-huff] [hsize: 10 ctx: 26 align: 0] csize: 2991822 (ratio: 0.299), ctime: 858.073958ms (11ns per bit) +-> best: 2961459 for [hsize: 10] when [ctx: 24, align: 0] +[ac-over-huff] [hsize: 11 ctx: 8 align: 0] csize: 6151763 (ratio: 0.615), ctime: 766.532416ms (10ns per bit) +[ac-over-huff] [hsize: 11 ctx: 9 align: 0] csize: 6019116 (ratio: 0.602), ctime: 770.733667ms (10ns per bit) +[ac-over-huff] [hsize: 11 ctx: 10 align: 0] csize: 5847603 (ratio: 0.585), ctime: 771.428083ms (10ns per bit) +[ac-over-huff] [hsize: 11 ctx: 11 align: 0] csize: 5591607 (ratio: 0.559), ctime: 763.558334ms (10ns per bit) +[ac-over-huff] [hsize: 11 ctx: 12 align: 0] csize: 5344584 (ratio: 0.534), ctime: 745.236292ms (9ns per bit) +[ac-over-huff] [hsize: 11 ctx: 13 align: 0] csize: 5056808 (ratio: 0.506), ctime: 713.393458ms (9ns per bit) +[ac-over-huff] [hsize: 11 ctx: 14 align: 0] csize: 4760892 (ratio: 0.476), ctime: 678.876ms (8ns per bit) +[ac-over-huff] [hsize: 11 ctx: 15 align: 0] csize: 4445059 (ratio: 0.445), ctime: 643.990334ms (8ns per bit) +[ac-over-huff] [hsize: 11 ctx: 16 align: 0] csize: 4144122 (ratio: 0.414), ctime: 613.550667ms (8ns per bit) +[ac-over-huff] [hsize: 11 ctx: 17 align: 0] csize: 3853564 (ratio: 0.385), ctime: 586.398916ms (7ns per bit) +[ac-over-huff] [hsize: 11 ctx: 18 align: 0] csize: 3592407 (ratio: 0.359), ctime: 563.007542ms (7ns per bit) +[ac-over-huff] [hsize: 11 ctx: 19 align: 0] csize: 3373882 (ratio: 0.337), ctime: 545.430708ms (7ns per bit) +[ac-over-huff] [hsize: 11 ctx: 20 align: 0] csize: 3200230 (ratio: 0.320), ctime: 535.822375ms (7ns per bit) +[ac-over-huff] [hsize: 11 ctx: 21 align: 0] csize: 3075178 (ratio: 0.308), ctime: 534.80225ms (7ns per bit) +[ac-over-huff] [hsize: 11 ctx: 22 align: 0] csize: 2991020 (ratio: 0.299), ctime: 561.155583ms (7ns per bit) +[ac-over-huff] [hsize: 11 ctx: 23 align: 0] csize: 2943242 (ratio: 0.294), ctime: 622.065833ms (8ns per bit) +[ac-over-huff] [hsize: 11 ctx: 24 align: 0] csize: 2927069 (ratio: 0.293), ctime: 690.992916ms (9ns per bit) +[ac-over-huff] [hsize: 11 ctx: 25 align: 0] csize: 2936680 (ratio: 0.294), ctime: 766.75725ms (10ns per bit) +[ac-over-huff] [hsize: 11 ctx: 26 align: 0] csize: 2965754 (ratio: 0.297), ctime: 847.447209ms (11ns per bit) +-> best: 2927069 for [hsize: 11] when [ctx: 24, align: 0] +[ac-over-huff] [hsize: 12 ctx: 8 align: 0] csize: 6130474 (ratio: 0.613), ctime: 760.0255ms (10ns per bit) +[ac-over-huff] [hsize: 12 ctx: 9 align: 0] csize: 5998226 (ratio: 0.600), ctime: 766.072833ms (10ns per bit) +[ac-over-huff] [hsize: 12 ctx: 10 align: 0] csize: 5822204 (ratio: 0.582), ctime: 764.999125ms (10ns per bit) +[ac-over-huff] [hsize: 12 ctx: 11 align: 0] csize: 5603464 (ratio: 0.560), ctime: 761.858959ms (10ns per bit) +[ac-over-huff] [hsize: 12 ctx: 12 align: 0] csize: 5346155 (ratio: 0.535), ctime: 743.936334ms (9ns per bit) +[ac-over-huff] [hsize: 12 ctx: 13 align: 0] csize: 5038494 (ratio: 0.504), ctime: 710.648666ms (9ns per bit) +[ac-over-huff] [hsize: 12 ctx: 14 align: 0] csize: 4727205 (ratio: 0.473), ctime: 673.311583ms (8ns per bit) +[ac-over-huff] [hsize: 12 ctx: 15 align: 0] csize: 4422690 (ratio: 0.442), ctime: 638.23125ms (8ns per bit) +[ac-over-huff] [hsize: 12 ctx: 16 align: 0] csize: 4113116 (ratio: 0.411), ctime: 608.787167ms (8ns per bit) +[ac-over-huff] [hsize: 12 ctx: 17 align: 0] csize: 3831425 (ratio: 0.383), ctime: 582.6995ms (7ns per bit) +[ac-over-huff] [hsize: 12 ctx: 18 align: 0] csize: 3577550 (ratio: 0.358), ctime: 560.490667ms (7ns per bit) +[ac-over-huff] [hsize: 12 ctx: 19 align: 0] csize: 3364160 (ratio: 0.336), ctime: 542.44475ms (7ns per bit) +[ac-over-huff] [hsize: 12 ctx: 20 align: 0] csize: 3194318 (ratio: 0.319), ctime: 533.552166ms (7ns per bit) +[ac-over-huff] [hsize: 12 ctx: 21 align: 0] csize: 3067801 (ratio: 0.307), ctime: 532.446334ms (7ns per bit) +[ac-over-huff] [hsize: 12 ctx: 22 align: 0] csize: 2986624 (ratio: 0.299), ctime: 562.280958ms (7ns per bit) +[ac-over-huff] [hsize: 12 ctx: 23 align: 0] csize: 2941274 (ratio: 0.294), ctime: 620.537542ms (8ns per bit) +[ac-over-huff] [hsize: 12 ctx: 24 align: 0] csize: 2926110 (ratio: 0.293), ctime: 695.867833ms (9ns per bit) +[ac-over-huff] [hsize: 12 ctx: 25 align: 0] csize: 2936092 (ratio: 0.294), ctime: 771.900667ms (10ns per bit) +[ac-over-huff] [hsize: 12 ctx: 26 align: 0] csize: 2966171 (ratio: 0.297), ctime: 848.077958ms (11ns per bit) +-> best: 2926110 for [hsize: 12] when [ctx: 24, align: 0] +[ac-over-huff] [hsize: 13 ctx: 8 align: 0] csize: 6081580 (ratio: 0.608), ctime: 761.208375ms (10ns per bit) +[ac-over-huff] [hsize: 13 ctx: 9 align: 0] csize: 5934073 (ratio: 0.593), ctime: 767.226292ms (10ns per bit) +[ac-over-huff] [hsize: 13 ctx: 10 align: 0] csize: 5773597 (ratio: 0.577), ctime: 765.031042ms (10ns per bit) +[ac-over-huff] [hsize: 13 ctx: 11 align: 0] csize: 5549241 (ratio: 0.555), ctime: 757.479416ms (9ns per bit) +[ac-over-huff] [hsize: 13 ctx: 12 align: 0] csize: 5286254 (ratio: 0.529), ctime: 737.106333ms (9ns per bit) +[ac-over-huff] [hsize: 13 ctx: 13 align: 0] csize: 5011482 (ratio: 0.501), ctime: 708.535167ms (9ns per bit) +[ac-over-huff] [hsize: 13 ctx: 14 align: 0] csize: 4711385 (ratio: 0.471), ctime: 671.811625ms (8ns per bit) +[ac-over-huff] [hsize: 13 ctx: 15 align: 0] csize: 4398731 (ratio: 0.440), ctime: 635.014917ms (8ns per bit) +[ac-over-huff] [hsize: 13 ctx: 16 align: 0] csize: 4104028 (ratio: 0.410), ctime: 613.147917ms (8ns per bit) +[ac-over-huff] [hsize: 13 ctx: 17 align: 0] csize: 3825306 (ratio: 0.383), ctime: 589.748542ms (7ns per bit) +[ac-over-huff] [hsize: 13 ctx: 18 align: 0] csize: 3577888 (ratio: 0.358), ctime: 560.400666ms (7ns per bit) +[ac-over-huff] [hsize: 13 ctx: 19 align: 0] csize: 3363918 (ratio: 0.336), ctime: 542.310042ms (7ns per bit) +[ac-over-huff] [hsize: 13 ctx: 20 align: 0] csize: 3193000 (ratio: 0.319), ctime: 533.686667ms (7ns per bit) +[ac-over-huff] [hsize: 13 ctx: 21 align: 0] csize: 3067309 (ratio: 0.307), ctime: 533.181417ms (7ns per bit) +[ac-over-huff] [hsize: 13 ctx: 22 align: 0] csize: 2984820 (ratio: 0.298), ctime: 556.819916ms (7ns per bit) +[ac-over-huff] [hsize: 13 ctx: 23 align: 0] csize: 2937736 (ratio: 0.294), ctime: 616.557917ms (8ns per bit) +[ac-over-huff] [hsize: 13 ctx: 24 align: 0] csize: 2921307 (ratio: 0.292), ctime: 688.477458ms (9ns per bit) +[ac-over-huff] [hsize: 13 ctx: 25 align: 0] csize: 2931284 (ratio: 0.293), ctime: 762.176208ms (10ns per bit) +[ac-over-huff] [hsize: 13 ctx: 26 align: 0] csize: 2960278 (ratio: 0.296), ctime: 861.115458ms (11ns per bit) +-> best: 2921307 for [hsize: 13] when [ctx: 24, align: 0] +[ac-over-huff] [hsize: 14 ctx: 8 align: 0] csize: 6139252 (ratio: 0.614), ctime: 758.355875ms (9ns per bit) +[ac-over-huff] [hsize: 14 ctx: 9 align: 0] csize: 5976648 (ratio: 0.598), ctime: 765.566917ms (10ns per bit) +[ac-over-huff] [hsize: 14 ctx: 10 align: 0] csize: 5793605 (ratio: 0.579), ctime: 766.035667ms (10ns per bit) +[ac-over-huff] [hsize: 14 ctx: 11 align: 0] csize: 5566148 (ratio: 0.557), ctime: 759.637458ms (9ns per bit) +[ac-over-huff] [hsize: 14 ctx: 12 align: 0] csize: 5309695 (ratio: 0.531), ctime: 740.349084ms (9ns per bit) +[ac-over-huff] [hsize: 14 ctx: 13 align: 0] csize: 5022645 (ratio: 0.502), ctime: 709.515917ms (9ns per bit) +[ac-over-huff] [hsize: 14 ctx: 14 align: 0] csize: 4706924 (ratio: 0.471), ctime: 671.551584ms (8ns per bit) +[ac-over-huff] [hsize: 14 ctx: 15 align: 0] csize: 4387783 (ratio: 0.439), ctime: 633.813541ms (8ns per bit) +[ac-over-huff] [hsize: 14 ctx: 16 align: 0] csize: 4086638 (ratio: 0.409), ctime: 606.856334ms (8ns per bit) +[ac-over-huff] [hsize: 14 ctx: 17 align: 0] csize: 3809699 (ratio: 0.381), ctime: 580.660459ms (7ns per bit) +[ac-over-huff] [hsize: 14 ctx: 18 align: 0] csize: 3559816 (ratio: 0.356), ctime: 561.551208ms (7ns per bit) +[ac-over-huff] [hsize: 14 ctx: 19 align: 0] csize: 3351874 (ratio: 0.335), ctime: 542.516ms (7ns per bit) +[ac-over-huff] [hsize: 14 ctx: 20 align: 0] csize: 3189540 (ratio: 0.319), ctime: 534.072083ms (7ns per bit) +[ac-over-huff] [hsize: 14 ctx: 21 align: 0] csize: 3066705 (ratio: 0.307), ctime: 538.244125ms (7ns per bit) +[ac-over-huff] [hsize: 14 ctx: 22 align: 0] csize: 2986231 (ratio: 0.299), ctime: 563.456459ms (7ns per bit) +[ac-over-huff] [hsize: 14 ctx: 23 align: 0] csize: 2943822 (ratio: 0.294), ctime: 619.288833ms (8ns per bit) +[ac-over-huff] [hsize: 14 ctx: 24 align: 0] csize: 2930991 (ratio: 0.293), ctime: 690.893708ms (9ns per bit) +[ac-over-huff] [hsize: 14 ctx: 25 align: 0] csize: 2941093 (ratio: 0.294), ctime: 767.329ms (10ns per bit) +[ac-over-huff] [hsize: 14 ctx: 26 align: 0] csize: 2970314 (ratio: 0.297), ctime: 848.474ms (11ns per bit) +-> best: 2930991 for [hsize: 14] when [ctx: 24, align: 0] +[ac-over-huff] [hsize: 15 ctx: 8 align: 0] csize: 6095957 (ratio: 0.610), ctime: 761.317875ms (10ns per bit) +[ac-over-huff] [hsize: 15 ctx: 9 align: 0] csize: 5957953 (ratio: 0.596), ctime: 768.458167ms (10ns per bit) +[ac-over-huff] [hsize: 15 ctx: 10 align: 0] csize: 5783097 (ratio: 0.578), ctime: 765.976208ms (10ns per bit) +[ac-over-huff] [hsize: 15 ctx: 11 align: 0] csize: 5560475 (ratio: 0.556), ctime: 758.351958ms (9ns per bit) +[ac-over-huff] [hsize: 15 ctx: 12 align: 0] csize: 5316996 (ratio: 0.532), ctime: 741.608542ms (9ns per bit) +[ac-over-huff] [hsize: 15 ctx: 13 align: 0] csize: 5019912 (ratio: 0.502), ctime: 713.57325ms (9ns per bit) +[ac-over-huff] [hsize: 15 ctx: 14 align: 0] csize: 4723815 (ratio: 0.472), ctime: 713.209417ms (9ns per bit) +[ac-over-huff] [hsize: 15 ctx: 15 align: 0] csize: 4407806 (ratio: 0.441), ctime: 641.923209ms (8ns per bit) +[ac-over-huff] [hsize: 15 ctx: 16 align: 0] csize: 4106995 (ratio: 0.411), ctime: 611.844458ms (8ns per bit) +[ac-over-huff] [hsize: 15 ctx: 17 align: 0] csize: 3828694 (ratio: 0.383), ctime: 583.515959ms (7ns per bit) +[ac-over-huff] [hsize: 15 ctx: 18 align: 0] csize: 3579032 (ratio: 0.358), ctime: 560.535208ms (7ns per bit) +[ac-over-huff] [hsize: 15 ctx: 19 align: 0] csize: 3368488 (ratio: 0.337), ctime: 542.798875ms (7ns per bit) +[ac-over-huff] [hsize: 15 ctx: 20 align: 0] csize: 3198153 (ratio: 0.320), ctime: 533.660333ms (7ns per bit) +[ac-over-huff] [hsize: 15 ctx: 21 align: 0] csize: 3075679 (ratio: 0.308), ctime: 533.56125ms (7ns per bit) +[ac-over-huff] [hsize: 15 ctx: 22 align: 0] csize: 2994133 (ratio: 0.299), ctime: 561.803ms (7ns per bit) +[ac-over-huff] [hsize: 15 ctx: 23 align: 0] csize: 2949341 (ratio: 0.295), ctime: 622.260958ms (8ns per bit) +[ac-over-huff] [hsize: 15 ctx: 24 align: 0] csize: 2933751 (ratio: 0.293), ctime: 692.762041ms (9ns per bit) +[ac-over-huff] [hsize: 15 ctx: 25 align: 0] csize: 2943557 (ratio: 0.294), ctime: 769.540042ms (10ns per bit) +[ac-over-huff] [hsize: 15 ctx: 26 align: 0] csize: 2972509 (ratio: 0.297), ctime: 855.329541ms (11ns per bit) +-> best: 2933751 for [hsize: 15] when [ctx: 24, align: 0] +-> gloabl best: 2921307 for [hsize: 13, ctx: 24, align: 0] diff --git a/src/bin/ac-over-huffman/main.rs b/src/bin/ac-over-huffman/main.rs index b612a7b..af2ef0c 100644 --- a/src/bin/ac-over-huffman/main.rs +++ b/src/bin/ac-over-huffman/main.rs @@ -6,32 +6,48 @@ use weath3rb0i::{ package_merge::{canonical, package_merge}, }, helpers::{histogram, ACStats}, - models::{Model, Order0}, + models::{Model, OrderN}, u64, u8, }; fn main() -> Result<()> { let buf = std::fs::read("/Users/mitiko/_data/book1")?; - let mut best = u64!(buf.len()); - let mut params = 0; - for huffman_size in 7..16 { - let res = exec(&buf, huffman_size)?; - if res < best { - params = huffman_size; - best = res; + let levels = 2; + let mut best = vec![u64!(buf.len()); levels]; + let mut params = vec![(0, 0); levels]; + + for huffman_size in 7..=15 { + best[1] = u64!(buf.len()); + params[1] = (0, 0); + for ctx_bits in 8..=26 { + let res = exec(&buf, huffman_size, ctx_bits, 0)?; + for i in 0..levels { + if res > best[i] { + continue; + } + best[i] = res; + params[i] = (huffman_size, ctx_bits); + } } + println!( + "-> best: {} for [hsize: {}] when [ctx: {}, align: 0]", + best[1], params[1].0, params[1].1 + ); } - println!("best: {best} for [hsize: {params}]"); // TODO: color + println!( + "-> gloabl best: {} for [hsize: {}, ctx: {}, align: 0]", + best[0], params[0].0, params[0].1 + ); Ok(()) } -fn exec(buf: &[u8], huffman_size: u8) -> Result { +fn exec(buf: &[u8], huffman_size: u8, ctx_bits: u8, alignment_bits: u8) -> Result { let timer = Instant::now(); let mut ac = ArithmeticCoder::new_coder(); - let mut model = Order0::new(); - let mut writer = ACStats::new(); // TODO: order n? + let mut model = OrderN::new(ctx_bits, alignment_bits); + let mut writer = ACStats::new(); let counts = histogram(&buf); let code_lens = package_merge(&counts, huffman_size); @@ -50,9 +66,10 @@ fn exec(buf: &[u8], huffman_size: u8) -> Result { let time = timer.elapsed(); println!( - "[ac-over-huff] [hsize: {:02} b{:02}] csize: {} (ratio: {:.3}), ctime: {:?} ({:?} per bit)", + "[ac-over-huff] [hsize: {:2} ctx: {:2} align: {}] csize: {} (ratio: {:.3}), ctime: {:?} ({:?} per bit)", huffman_size, - 8, // bits in context + ctx_bits, + alignment_bits, writer.result(), writer.result() as f64 / buf.len() as f64, time, diff --git a/src/bin/ordern/book1.log b/src/bin/ordern/book1.log new file mode 100644 index 0000000..94774c6 --- /dev/null +++ b/src/bin/ordern/book1.log @@ -0,0 +1,163 @@ +[ordern] [ctx: 8 align: 0] csize: 508907 (ratio: 0.662), ctime: 106.565458ms (17ns per bit) +[ordern] [ctx: 8 align: 1] csize: 470588 (ratio: 0.612), ctime: 63.298333ms (10ns per bit) +[ordern] [ctx: 8 align: 2] csize: 461984 (ratio: 0.601), ctime: 60.61575ms (10ns per bit) +[ordern] [ctx: 8 align: 3] csize: 444793 (ratio: 0.579), ctime: 57.451ms (9ns per bit) +[ordern] [ctx: 8 align: 4] csize: 458117 (ratio: 0.596), ctime: 57.72275ms (9ns per bit) +-> best: 444793 for [ctx: 8, align: 3] +[ordern] [ctx: 9 align: 0] csize: 473541 (ratio: 0.616), ctime: 64.7675ms (11ns per bit) +[ordern] [ctx: 9 align: 1] csize: 430556 (ratio: 0.560), ctime: 60.202625ms (10ns per bit) +[ordern] [ctx: 9 align: 2] csize: 439248 (ratio: 0.571), ctime: 60.108083ms (10ns per bit) +[ordern] [ctx: 9 align: 3] csize: 415367 (ratio: 0.540), ctime: 56.416042ms (9ns per bit) +[ordern] [ctx: 9 align: 4] csize: 444942 (ratio: 0.579), ctime: 57.269291ms (9ns per bit) +-> best: 415367 for [ctx: 9, align: 3] +[ordern] [ctx: 10 align: 0] csize: 430896 (ratio: 0.560), ctime: 60.900209ms (10ns per bit) +[ordern] [ctx: 10 align: 1] csize: 406348 (ratio: 0.529), ctime: 57.991583ms (9ns per bit) +[ordern] [ctx: 10 align: 2] csize: 418069 (ratio: 0.544), ctime: 59.085125ms (10ns per bit) +[ordern] [ctx: 10 align: 3] csize: 404338 (ratio: 0.526), ctime: 56.469ms (9ns per bit) +[ordern] [ctx: 10 align: 4] csize: 415594 (ratio: 0.541), ctime: 56.442042ms (9ns per bit) +-> best: 404338 for [ctx: 10, align: 3] +[ordern] [ctx: 11 align: 0] csize: 396781 (ratio: 0.516), ctime: 57.665209ms (9ns per bit) +[ordern] [ctx: 11 align: 1] csize: 384586 (ratio: 0.500), ctime: 56.706791ms (9ns per bit) +[ordern] [ctx: 11 align: 2] csize: 397939 (ratio: 0.518), ctime: 57.616167ms (9ns per bit) +[ordern] [ctx: 11 align: 3] csize: 388051 (ratio: 0.505), ctime: 55.930542ms (9ns per bit) +[ordern] [ctx: 11 align: 4] csize: 404669 (ratio: 0.526), ctime: 56.563458ms (9ns per bit) +-> best: 384586 for [ctx: 11, align: 1] +[ordern] [ctx: 12 align: 0] csize: 370391 (ratio: 0.482), ctime: 55.195833ms (9ns per bit) +[ordern] [ctx: 12 align: 1] csize: 360992 (ratio: 0.470), ctime: 54.014208ms (9ns per bit) +[ordern] [ctx: 12 align: 2] csize: 378595 (ratio: 0.492), ctime: 55.700125ms (9ns per bit) +[ordern] [ctx: 12 align: 3] csize: 374241 (ratio: 0.487), ctime: 54.807584ms (9ns per bit) +[ordern] [ctx: 12 align: 4] csize: 388528 (ratio: 0.505), ctime: 55.782583ms (9ns per bit) +-> best: 360992 for [ctx: 12, align: 1] +[ordern] [ctx: 13 align: 0] csize: 352888 (ratio: 0.459), ctime: 53.610083ms (9ns per bit) +[ordern] [ctx: 13 align: 1] csize: 344833 (ratio: 0.449), ctime: 52.673792ms (9ns per bit) +[ordern] [ctx: 13 align: 2] csize: 356739 (ratio: 0.464), ctime: 53.300917ms (9ns per bit) +[ordern] [ctx: 13 align: 3] csize: 358818 (ratio: 0.467), ctime: 53.314833ms (9ns per bit) +[ordern] [ctx: 13 align: 4] csize: 374943 (ratio: 0.488), ctime: 55.121417ms (9ns per bit) +-> best: 344833 for [ctx: 13, align: 1] +[ordern] [ctx: 14 align: 0] csize: 337972 (ratio: 0.440), ctime: 52.283083ms (9ns per bit) +[ordern] [ctx: 14 align: 1] csize: 334145 (ratio: 0.435), ctime: 51.739708ms (8ns per bit) +[ordern] [ctx: 14 align: 2] csize: 342921 (ratio: 0.446), ctime: 52.470875ms (9ns per bit) +[ordern] [ctx: 14 align: 3] csize: 344993 (ratio: 0.449), ctime: 52.419583ms (9ns per bit) +[ordern] [ctx: 14 align: 4] csize: 359832 (ratio: 0.468), ctime: 53.955625ms (9ns per bit) +-> best: 334145 for [ctx: 14, align: 1] +[ordern] [ctx: 15 align: 0] csize: 327175 (ratio: 0.426), ctime: 51.348125ms (8ns per bit) +[ordern] [ctx: 15 align: 1] csize: 324242 (ratio: 0.422), ctime: 50.587083ms (8ns per bit) +[ordern] [ctx: 15 align: 2] csize: 333578 (ratio: 0.434), ctime: 51.444542ms (8ns per bit) +[ordern] [ctx: 15 align: 3] csize: 335510 (ratio: 0.436), ctime: 51.379625ms (8ns per bit) +[ordern] [ctx: 15 align: 4] csize: 346436 (ratio: 0.451), ctime: 52.338625ms (9ns per bit) +-> best: 324242 for [ctx: 15, align: 1] +[ordern] [ctx: 16 align: 0] csize: 313698 (ratio: 0.408), ctime: 50.647292ms (8ns per bit) +[ordern] [ctx: 16 align: 1] csize: 316104 (ratio: 0.411), ctime: 50.571208ms (8ns per bit) +[ordern] [ctx: 16 align: 2] csize: 324041 (ratio: 0.422), ctime: 51.373709ms (8ns per bit) +[ordern] [ctx: 16 align: 3] csize: 328304 (ratio: 0.427), ctime: 51.366625ms (8ns per bit) +[ordern] [ctx: 16 align: 4] csize: 337482 (ratio: 0.439), ctime: 52.432708ms (9ns per bit) +-> best: 313698 for [ctx: 16, align: 0] +[ordern] [ctx: 17 align: 0] csize: 301753 (ratio: 0.393), ctime: 49.41025ms (8ns per bit) +[ordern] [ctx: 17 align: 1] csize: 305318 (ratio: 0.397), ctime: 49.929125ms (8ns per bit) +[ordern] [ctx: 17 align: 2] csize: 316004 (ratio: 0.411), ctime: 50.893584ms (8ns per bit) +[ordern] [ctx: 17 align: 3] csize: 321466 (ratio: 0.418), ctime: 51.334208ms (8ns per bit) +[ordern] [ctx: 17 align: 4] csize: 330863 (ratio: 0.430), ctime: 51.869041ms (8ns per bit) +-> best: 301753 for [ctx: 17, align: 0] +[ordern] [ctx: 18 align: 0] csize: 291328 (ratio: 0.379), ctime: 49.068166ms (8ns per bit) +[ordern] [ctx: 18 align: 1] csize: 296381 (ratio: 0.386), ctime: 49.263208ms (8ns per bit) +[ordern] [ctx: 18 align: 2] csize: 305261 (ratio: 0.397), ctime: 50.159417ms (8ns per bit) +[ordern] [ctx: 18 align: 3] csize: 314107 (ratio: 0.409), ctime: 64.839375ms (11ns per bit) +[ordern] [ctx: 18 align: 4] csize: 324624 (ratio: 0.422), ctime: 52.400125ms (9ns per bit) +-> best: 291328 for [ctx: 18, align: 0] +[ordern] [ctx: 19 align: 0] csize: 286797 (ratio: 0.373), ctime: 49.414959ms (8ns per bit) +[ordern] [ctx: 19 align: 1] csize: 287919 (ratio: 0.375), ctime: 48.831125ms (8ns per bit) +[ordern] [ctx: 19 align: 2] csize: 296347 (ratio: 0.385), ctime: 50.166083ms (8ns per bit) +[ordern] [ctx: 19 align: 3] csize: 303951 (ratio: 0.395), ctime: 51.08025ms (8ns per bit) +[ordern] [ctx: 19 align: 4] csize: 317975 (ratio: 0.414), ctime: 52.7045ms (9ns per bit) +-> best: 286797 for [ctx: 19, align: 0] +[ordern] [ctx: 20 align: 0] csize: 282894 (ratio: 0.368), ctime: 51.690417ms (8ns per bit) +[ordern] [ctx: 20 align: 1] csize: 284630 (ratio: 0.370), ctime: 50.853458ms (8ns per bit) +[ordern] [ctx: 20 align: 2] csize: 287901 (ratio: 0.374), ctime: 50.333292ms (8ns per bit) +[ordern] [ctx: 20 align: 3] csize: 295973 (ratio: 0.385), ctime: 50.477417ms (8ns per bit) +[ordern] [ctx: 20 align: 4] csize: 308699 (ratio: 0.402), ctime: 51.521459ms (8ns per bit) +-> best: 282894 for [ctx: 20, align: 0] +[ordern] [ctx: 21 align: 0] csize: 279919 (ratio: 0.364), ctime: 51.809916ms (8ns per bit) +[ordern] [ctx: 21 align: 1] csize: 281377 (ratio: 0.366), ctime: 51.945292ms (8ns per bit) +[ordern] [ctx: 21 align: 2] csize: 284622 (ratio: 0.370), ctime: 52.338083ms (9ns per bit) +[ordern] [ctx: 21 align: 3] csize: 287653 (ratio: 0.374), ctime: 52.744333ms (9ns per bit) +[ordern] [ctx: 21 align: 4] csize: 301899 (ratio: 0.393), ctime: 53.56075ms (9ns per bit) +-> best: 279919 for [ctx: 21, align: 0] +[ordern] [ctx: 22 align: 0] csize: 276948 (ratio: 0.360), ctime: 54.462583ms (9ns per bit) +[ordern] [ctx: 22 align: 1] csize: 279002 (ratio: 0.363), ctime: 51.988208ms (8ns per bit) +[ordern] [ctx: 22 align: 2] csize: 281373 (ratio: 0.366), ctime: 52.174917ms (8ns per bit) +[ordern] [ctx: 22 align: 3] csize: 284531 (ratio: 0.370), ctime: 52.17375ms (8ns per bit) +[ordern] [ctx: 22 align: 4] csize: 295016 (ratio: 0.384), ctime: 52.8055ms (9ns per bit) +-> best: 276948 for [ctx: 22, align: 0] +[ordern] [ctx: 23 align: 0] csize: 273424 (ratio: 0.356), ctime: 55.646584ms (9ns per bit) +[ordern] [ctx: 23 align: 1] csize: 276397 (ratio: 0.360), ctime: 53.790541ms (9ns per bit) +[ordern] [ctx: 23 align: 2] csize: 279000 (ratio: 0.363), ctime: 54.642833ms (9ns per bit) +[ordern] [ctx: 23 align: 3] csize: 281316 (ratio: 0.366), ctime: 54.4765ms (9ns per bit) +[ordern] [ctx: 23 align: 4] csize: 293563 (ratio: 0.382), ctime: 55.672708ms (9ns per bit) +-> best: 273424 for [ctx: 23, align: 0] +[ordern] [ctx: 24 align: 0] csize: 270054 (ratio: 0.351), ctime: 59.656666ms (10ns per bit) +[ordern] [ctx: 24 align: 1] csize: 273130 (ratio: 0.355), ctime: 54.47025ms (9ns per bit) +[ordern] [ctx: 24 align: 2] csize: 276397 (ratio: 0.360), ctime: 54.25575ms (9ns per bit) +[ordern] [ctx: 24 align: 3] csize: 278989 (ratio: 0.363), ctime: 55.647417ms (9ns per bit) +[ordern] [ctx: 24 align: 4] csize: 292117 (ratio: 0.380), ctime: 56.39625ms (9ns per bit) +-> best: 270054 for [ctx: 24, align: 0] +[ordern] [ctx: 25 align: 0] csize: 270083 (ratio: 0.351), ctime: 63.665084ms (10ns per bit) +[ordern] [ctx: 25 align: 1] csize: 269890 (ratio: 0.351), ctime: 62.13525ms (10ns per bit) +[ordern] [ctx: 25 align: 2] csize: 273129 (ratio: 0.355), ctime: 61.892792ms (10ns per bit) +[ordern] [ctx: 25 align: 3] csize: 276390 (ratio: 0.360), ctime: 62.332792ms (10ns per bit) +[ordern] [ctx: 25 align: 4] csize: 291558 (ratio: 0.379), ctime: 62.744958ms (10ns per bit) +-> best: 269890 for [ctx: 25, align: 1] +[ordern] [ctx: 26 align: 0] csize: 271357 (ratio: 0.353), ctime: 75.6205ms (19ns per bit) +[ordern] [ctx: 26 align: 1] csize: 269983 (ratio: 0.351), ctime: 75.545708ms (12ns per bit) +[ordern] [ctx: 26 align: 2] csize: 269890 (ratio: 0.351), ctime: 75.993917ms (12ns per bit) +[ordern] [ctx: 26 align: 3] csize: 273126 (ratio: 0.355), ctime: 76.122292ms (12ns per bit) +[ordern] [ctx: 26 align: 4] csize: 290720 (ratio: 0.378), ctime: 77.322083ms (13ns per bit) +-> best: 269890 for [ctx: 26, align: 2] +[ordern] [ctx: 27 align: 0] csize: 276170 (ratio: 0.359), ctime: 97.3505ms (16ns per bit) +[ordern] [ctx: 27 align: 1] csize: 271294 (ratio: 0.353), ctime: 98.062334ms (16ns per bit) +[ordern] [ctx: 27 align: 2] csize: 269981 (ratio: 0.351), ctime: 98.112375ms (16ns per bit) +[ordern] [ctx: 27 align: 3] csize: 269887 (ratio: 0.351), ctime: 98.470708ms (16ns per bit) +[ordern] [ctx: 27 align: 4] csize: 289369 (ratio: 0.376), ctime: 99.429166ms (16ns per bit) +-> best: 269887 for [ctx: 27, align: 3] +[ordern] [ctx: 28 align: 0] csize: 280325 (ratio: 0.365), ctime: 175.069292ms (28ns per bit) +[ordern] [ctx: 28 align: 1] csize: 276125 (ratio: 0.359), ctime: 170.041125ms (28ns per bit) +[ordern] [ctx: 28 align: 2] csize: 271294 (ratio: 0.353), ctime: 142.0075ms (23ns per bit) +[ordern] [ctx: 28 align: 3] csize: 269982 (ratio: 0.351), ctime: 140.594625ms (23ns per bit) +[ordern] [ctx: 28 align: 4] csize: 288359 (ratio: 0.375), ctime: 157.170917ms (26ns per bit) +-> best: 269982 for [ctx: 28, align: 3] +[ordern] [ctx: 29 align: 0] csize: 284256 (ratio: 0.370), ctime: 268.542125ms (44ns per bit) +[ordern] [ctx: 29 align: 1] csize: 280294 (ratio: 0.365), ctime: 242.637083ms (39ns per bit) +[ordern] [ctx: 29 align: 2] csize: 276125 (ratio: 0.359), ctime: 234.750708ms (38ns per bit) +[ordern] [ctx: 29 align: 3] csize: 271294 (ratio: 0.353), ctime: 228.746667ms (37ns per bit) +[ordern] [ctx: 29 align: 4] csize: 291094 (ratio: 0.379), ctime: 240.08675ms (39ns per bit) +-> best: 271294 for [ctx: 29, align: 3] +[ordern] [ctx: 30 align: 0] csize: 287290 (ratio: 0.374), ctime: 615.868208ms (100ns per bit) +[ordern] [ctx: 30 align: 1] csize: 284243 (ratio: 0.370), ctime: 589.437375ms (96ns per bit) +[ordern] [ctx: 30 align: 2] csize: 280294 (ratio: 0.365), ctime: 565.716417ms (92ns per bit) +[ordern] [ctx: 30 align: 3] csize: 276125 (ratio: 0.359), ctime: 537.381666ms (87ns per bit) +[ordern] [ctx: 30 align: 4] csize: 295267 (ratio: 0.384), ctime: 545.401875ms (89ns per bit) +-> best: 276125 for [ctx: 30, align: 3] +[ordern] [ctx: 31 align: 0] csize: 291164 (ratio: 0.379), ctime: 1.167221416s (190ns per bit) +[ordern] [ctx: 31 align: 1] csize: 287287 (ratio: 0.374), ctime: 1.1819365s (192ns per bit) +[ordern] [ctx: 31 align: 2] csize: 284243 (ratio: 0.370), ctime: 1.186969625s (193ns per bit) +[ordern] [ctx: 31 align: 3] csize: 280294 (ratio: 0.365), ctime: 1.170921792s (190ns per bit) +[ordern] [ctx: 31 align: 4] csize: 303018 (ratio: 0.394), ctime: 1.178634708s (192ns per bit) +-> best: 280294 for [ctx: 31, align: 3] +[ordern] [ctx: 32 align: 0] csize: 763150 (ratio: 0.993), ctime: 2.204640666s (358ns per bit) +[ordern] [ctx: 32 align: 1] csize: 291164 (ratio: 0.379), ctime: 2.407468959s (391ns per bit) +[ordern] [ctx: 32 align: 2] csize: 287287 (ratio: 0.374), ctime: 2.396257875s (390ns per bit) +[ordern] [ctx: 32 align: 3] csize: 284243 (ratio: 0.370), ctime: 2.421410834s (394ns per bit) +[ordern] [ctx: 32 align: 4] csize: 309942 (ratio: 0.403), ctime: 2.415840958s (393ns per bit) +-> best: 284243 for [ctx: 32, align: 3] +[ordern] [ctx: 33 align: 0] csize: 762835 (ratio: 0.992), ctime: 4.5429785s (739ns per bit) +[ordern] [ctx: 33 align: 1] csize: 760136 (ratio: 0.989), ctime: 4.556036875s (741ns per bit) +[ordern] [ctx: 33 align: 2] csize: 287287 (ratio: 0.374), ctime: 4.752683708s (773ns per bit) +[ordern] [ctx: 33 align: 3] csize: 284243 (ratio: 0.370), ctime: 4.724519625s (768ns per bit) +[ordern] [ctx: 33 align: 4] csize: 309942 (ratio: 0.403), ctime: 4.797194083s (780ns per bit) +-> best: 284243 for [ctx: 33, align: 3] +[ordern] [ctx: 34 align: 0] csize: 749675 (ratio: 0.975), ctime: 9.180505416s (1.493µs per bit) +[ordern] [ctx: 34 align: 1] csize: 742186 (ratio: 0.965), ctime: 9.217267125s (1.499µs per bit) +[ordern] [ctx: 34 align: 2] csize: 669005 (ratio: 0.870), ctime: 8.925060583s (1.451µs per bit) +[ordern] [ctx: 34 align: 3] csize: 284243 (ratio: 0.370), ctime: 9.14236975s (1.487µs per bit) +[ordern] [ctx: 34 align: 4] csize: 309942 (ratio: 0.403), ctime: 9.189197875s (1.494µs per bit) +-> best: 284243 for [ctx: 34, align: 3] +-> gloabl best: 269887 for [ctx: 27, align: 3] diff --git a/src/bin/ordern/enwik7.log b/src/bin/ordern/enwik7.log new file mode 100644 index 0000000..ee22a36 --- /dev/null +++ b/src/bin/ordern/enwik7.log @@ -0,0 +1,163 @@ +[ordern] [ctx: 8 align: 0] csize: 7235030 (ratio: 0.724), ctime: 984.832ms (12ns per bit) +[ordern] [ctx: 8 align: 1] csize: 6995108 (ratio: 0.700), ctime: 916.063583ms (11ns per bit) +[ordern] [ctx: 8 align: 2] csize: 6699275 (ratio: 0.670), ctime: 870.366666ms (11ns per bit) +[ordern] [ctx: 8 align: 3] csize: 6476410 (ratio: 0.648), ctime: 824.402125ms (10ns per bit) +[ordern] [ctx: 8 align: 4] csize: 6741661 (ratio: 0.674), ctime: 828.500416ms (10ns per bit) +-> best: 6476410 for [ctx: 8, align: 3] +[ordern] [ctx: 9 align: 0] csize: 6875800 (ratio: 0.688), ctime: 917.379166ms (11ns per bit) +[ordern] [ctx: 9 align: 1] csize: 6318759 (ratio: 0.632), ctime: 902.400542ms (11ns per bit) +[ordern] [ctx: 9 align: 2] csize: 6345152 (ratio: 0.635), ctime: 863.556958ms (11ns per bit) +[ordern] [ctx: 9 align: 3] csize: 6009278 (ratio: 0.601), ctime: 817.263083ms (10ns per bit) +[ordern] [ctx: 9 align: 4] csize: 6478268 (ratio: 0.648), ctime: 861.023708ms (11ns per bit) +-> best: 6009278 for [ctx: 9, align: 3] +[ordern] [ctx: 10 align: 0] csize: 6410251 (ratio: 0.641), ctime: 909.295041ms (11ns per bit) +[ordern] [ctx: 10 align: 1] csize: 6000372 (ratio: 0.600), ctime: 846.275417ms (11ns per bit) +[ordern] [ctx: 10 align: 2] csize: 5926635 (ratio: 0.593), ctime: 829.669417ms (10ns per bit) +[ordern] [ctx: 10 align: 3] csize: 5812716 (ratio: 0.581), ctime: 805.940333ms (10ns per bit) +[ordern] [ctx: 10 align: 4] csize: 6010929 (ratio: 0.601), ctime: 810.20675ms (10ns per bit) +-> best: 5812716 for [ctx: 10, align: 3] +[ordern] [ctx: 11 align: 0] csize: 5995694 (ratio: 0.600), ctime: 858.378625ms (11ns per bit) +[ordern] [ctx: 11 align: 1] csize: 5697693 (ratio: 0.570), ctime: 812.479375ms (10ns per bit) +[ordern] [ctx: 11 align: 2] csize: 5637113 (ratio: 0.564), ctime: 804.4365ms (10ns per bit) +[ordern] [ctx: 11 align: 3] csize: 5491079 (ratio: 0.549), ctime: 809.08075ms (10ns per bit) +[ordern] [ctx: 11 align: 4] csize: 5814473 (ratio: 0.581), ctime: 810.530334ms (10ns per bit) +-> best: 5491079 for [ctx: 11, align: 3] +[ordern] [ctx: 12 align: 0] csize: 5635127 (ratio: 0.564), ctime: 799.485625ms (10ns per bit) +[ordern] [ctx: 12 align: 1] csize: 5379613 (ratio: 0.538), ctime: 775.018375ms (10ns per bit) +[ordern] [ctx: 12 align: 2] csize: 5376278 (ratio: 0.538), ctime: 772.551209ms (10ns per bit) +[ordern] [ctx: 12 align: 3] csize: 5274629 (ratio: 0.527), ctime: 765.101625ms (10ns per bit) +[ordern] [ctx: 12 align: 4] csize: 5493094 (ratio: 0.549), ctime: 786.04ms (10ns per bit) +-> best: 5274629 for [ctx: 12, align: 3] +[ordern] [ctx: 13 align: 0] csize: 5304530 (ratio: 0.530), ctime: 774.648209ms (10ns per bit) +[ordern] [ctx: 13 align: 1] csize: 5114040 (ratio: 0.511), ctime: 746.759417ms (9ns per bit) +[ordern] [ctx: 13 align: 2] csize: 5113856 (ratio: 0.511), ctime: 757.245917ms (9ns per bit) +[ordern] [ctx: 13 align: 3] csize: 5071030 (ratio: 0.507), ctime: 741.884375ms (9ns per bit) +[ordern] [ctx: 13 align: 4] csize: 5277164 (ratio: 0.528), ctime: 758.682125ms (9ns per bit) +-> best: 5071030 for [ctx: 13, align: 3] +[ordern] [ctx: 14 align: 0] csize: 5009144 (ratio: 0.501), ctime: 740.450917ms (9ns per bit) +[ordern] [ctx: 14 align: 1] csize: 4864586 (ratio: 0.486), ctime: 726.026458ms (9ns per bit) +[ordern] [ctx: 14 align: 2] csize: 4892090 (ratio: 0.489), ctime: 726.684375ms (9ns per bit) +[ordern] [ctx: 14 align: 3] csize: 4887067 (ratio: 0.489), ctime: 724.88725ms (9ns per bit) +[ordern] [ctx: 14 align: 4] csize: 5074450 (ratio: 0.507), ctime: 740.506125ms (9ns per bit) +-> best: 4864586 for [ctx: 14, align: 1] +[ordern] [ctx: 15 align: 0] csize: 4777370 (ratio: 0.478), ctime: 716.539417ms (9ns per bit) +[ordern] [ctx: 15 align: 1] csize: 4664996 (ratio: 0.466), ctime: 706.028042ms (9ns per bit) +[ordern] [ctx: 15 align: 2] csize: 4700912 (ratio: 0.470), ctime: 709.373417ms (9ns per bit) +[ordern] [ctx: 15 align: 3] csize: 4720628 (ratio: 0.472), ctime: 712.06675ms (9ns per bit) +[ordern] [ctx: 15 align: 4] csize: 4891768 (ratio: 0.489), ctime: 724.264958ms (9ns per bit) +-> best: 4664996 for [ctx: 15, align: 1] +[ordern] [ctx: 16 align: 0] csize: 4541655 (ratio: 0.454), ctime: 700.521167ms (9ns per bit) +[ordern] [ctx: 16 align: 1] csize: 4493623 (ratio: 0.449), ctime: 697.37725ms (9ns per bit) +[ordern] [ctx: 16 align: 2] csize: 4538990 (ratio: 0.454), ctime: 702.281417ms (9ns per bit) +[ordern] [ctx: 16 align: 3] csize: 4578834 (ratio: 0.458), ctime: 703.463416ms (9ns per bit) +[ordern] [ctx: 16 align: 4] csize: 4727300 (ratio: 0.473), ctime: 712.845583ms (9ns per bit) +-> best: 4493623 for [ctx: 16, align: 1] +[ordern] [ctx: 17 align: 0] csize: 4339374 (ratio: 0.434), ctime: 681.516292ms (9ns per bit) +[ordern] [ctx: 17 align: 1] csize: 4325468 (ratio: 0.433), ctime: 683.839459ms (9ns per bit) +[ordern] [ctx: 17 align: 2] csize: 4404578 (ratio: 0.440), ctime: 693.654375ms (9ns per bit) +[ordern] [ctx: 17 align: 3] csize: 4456585 (ratio: 0.446), ctime: 697.856708ms (9ns per bit) +[ordern] [ctx: 17 align: 4] csize: 4588143 (ratio: 0.459), ctime: 706.066875ms (9ns per bit) +-> best: 4325468 for [ctx: 17, align: 1] +[ordern] [ctx: 18 align: 0] csize: 4160347 (ratio: 0.416), ctime: 667.235667ms (8ns per bit) +[ordern] [ctx: 18 align: 1] csize: 4185121 (ratio: 0.419), ctime: 672.042459ms (8ns per bit) +[ordern] [ctx: 18 align: 2] csize: 4249493 (ratio: 0.425), ctime: 680.422792ms (9ns per bit) +[ordern] [ctx: 18 align: 3] csize: 4341215 (ratio: 0.434), ctime: 690.007917ms (9ns per bit) +[ordern] [ctx: 18 align: 4] csize: 4468889 (ratio: 0.447), ctime: 701.015375ms (9ns per bit) +-> best: 4160347 for [ctx: 18, align: 0] +[ordern] [ctx: 19 align: 0] csize: 4026152 (ratio: 0.403), ctime: 658.743291ms (8ns per bit) +[ordern] [ctx: 19 align: 1] csize: 4042386 (ratio: 0.404), ctime: 662.03125ms (8ns per bit) +[ordern] [ctx: 19 align: 2] csize: 4126923 (ratio: 0.413), ctime: 670.970334ms (8ns per bit) +[ordern] [ctx: 19 align: 3] csize: 4203434 (ratio: 0.420), ctime: 707.641291ms (9ns per bit) +[ordern] [ctx: 19 align: 4] csize: 4357216 (ratio: 0.436), ctime: 693.229167ms (9ns per bit) +-> best: 4026152 for [ctx: 19, align: 0] +[ordern] [ctx: 20 align: 0] csize: 3908386 (ratio: 0.391), ctime: 659.432583ms (8ns per bit) +[ordern] [ctx: 20 align: 1] csize: 3938455 (ratio: 0.394), ctime: 668.569042ms (8ns per bit) +[ordern] [ctx: 20 align: 2] csize: 4000290 (ratio: 0.400), ctime: 679.282083ms (8ns per bit) +[ordern] [ctx: 20 align: 3] csize: 4096593 (ratio: 0.410), ctime: 685.175334ms (9ns per bit) +[ordern] [ctx: 20 align: 4] csize: 4223831 (ratio: 0.422), ctime: 686.081041ms (9ns per bit) +-> best: 3908386 for [ctx: 20, align: 0] +[ordern] [ctx: 21 align: 0] csize: 3817900 (ratio: 0.382), ctime: 663.114ms (8ns per bit) +[ordern] [ctx: 21 align: 1] csize: 3842829 (ratio: 0.384), ctime: 664.490625ms (8ns per bit) +[ordern] [ctx: 21 align: 2] csize: 3912673 (ratio: 0.391), ctime: 667.623875ms (8ns per bit) +[ordern] [ctx: 21 align: 3] csize: 3980184 (ratio: 0.398), ctime: 673.647375ms (8ns per bit) +[ordern] [ctx: 21 align: 4] csize: 4122805 (ratio: 0.412), ctime: 685.612208ms (9ns per bit) +-> best: 3817900 for [ctx: 21, align: 0] +[ordern] [ctx: 22 align: 0] csize: 3720199 (ratio: 0.372), ctime: 676.320333ms (8ns per bit) +[ordern] [ctx: 22 align: 1] csize: 3771366 (ratio: 0.377), ctime: 678.528709ms (8ns per bit) +[ordern] [ctx: 22 align: 2] csize: 3824930 (ratio: 0.382), ctime: 676.43925ms (8ns per bit) +[ordern] [ctx: 22 align: 3] csize: 3900091 (ratio: 0.390), ctime: 707.444333ms (9ns per bit) +[ordern] [ctx: 22 align: 4] csize: 4013436 (ratio: 0.401), ctime: 690.402875ms (9ns per bit) +-> best: 3720199 for [ctx: 22, align: 0] +[ordern] [ctx: 23 align: 0] csize: 3620969 (ratio: 0.362), ctime: 670.924208ms (8ns per bit) +[ordern] [ctx: 23 align: 1] csize: 3685668 (ratio: 0.369), ctime: 676.843083ms (8ns per bit) +[ordern] [ctx: 23 align: 2] csize: 3759754 (ratio: 0.376), ctime: 678.129167ms (8ns per bit) +[ordern] [ctx: 23 align: 3] csize: 3816737 (ratio: 0.382), ctime: 681.997333ms (9ns per bit) +[ordern] [ctx: 23 align: 4] csize: 3941953 (ratio: 0.394), ctime: 691.062125ms (9ns per bit) +-> best: 3620969 for [ctx: 23, align: 0] +[ordern] [ctx: 24 align: 0] csize: 3510454 (ratio: 0.351), ctime: 677.572167ms (8ns per bit) +[ordern] [ctx: 24 align: 1] csize: 3595013 (ratio: 0.360), ctime: 682.491209ms (9ns per bit) +[ordern] [ctx: 24 align: 2] csize: 3678309 (ratio: 0.368), ctime: 700.251292ms (9ns per bit) +[ordern] [ctx: 24 align: 3] csize: 3753687 (ratio: 0.375), ctime: 695.668334ms (9ns per bit) +[ordern] [ctx: 24 align: 4] csize: 3868248 (ratio: 0.387), ctime: 702.630958ms (9ns per bit) +-> best: 3510454 for [ctx: 24, align: 0] +[ordern] [ctx: 25 align: 0] csize: 3435652 (ratio: 0.344), ctime: 711.544291ms (9ns per bit) +[ordern] [ctx: 25 align: 1] csize: 3496181 (ratio: 0.350), ctime: 704.831417ms (9ns per bit) +[ordern] [ctx: 25 align: 2] csize: 3589653 (ratio: 0.359), ctime: 713.274875ms (9ns per bit) +[ordern] [ctx: 25 align: 3] csize: 3674209 (ratio: 0.367), ctime: 719.068833ms (9ns per bit) +[ordern] [ctx: 25 align: 4] csize: 3815523 (ratio: 0.382), ctime: 728.003958ms (9ns per bit) +-> best: 3435652 for [ctx: 25, align: 0] +[ordern] [ctx: 26 align: 0] csize: 3375838 (ratio: 0.338), ctime: 737.191333ms (9ns per bit) +[ordern] [ctx: 26 align: 1] csize: 3425883 (ratio: 0.343), ctime: 742.894125ms (9ns per bit) +[ordern] [ctx: 26 align: 2] csize: 3493071 (ratio: 0.349), ctime: 747.576042ms (9ns per bit) +[ordern] [ctx: 26 align: 3] csize: 3587000 (ratio: 0.359), ctime: 755.503584ms (9ns per bit) +[ordern] [ctx: 26 align: 4] csize: 3746875 (ratio: 0.375), ctime: 766.85225ms (10ns per bit) +-> best: 3375838 for [ctx: 26, align: 0] +[ordern] [ctx: 27 align: 0] csize: 3354736 (ratio: 0.335), ctime: 887.878875ms (11ns per bit) +[ordern] [ctx: 27 align: 1] csize: 3369024 (ratio: 0.337), ctime: 824.972959ms (10ns per bit) +[ordern] [ctx: 27 align: 2] csize: 3424212 (ratio: 0.342), ctime: 802.418875ms (10ns per bit) +[ordern] [ctx: 27 align: 3] csize: 3491090 (ratio: 0.349), ctime: 862.837709ms (11ns per bit) +[ordern] [ctx: 27 align: 4] csize: 3671468 (ratio: 0.367), ctime: 833.505875ms (10ns per bit) +-> best: 3354736 for [ctx: 27, align: 0] +[ordern] [ctx: 28 align: 0] csize: 3330989 (ratio: 0.333), ctime: 959.633416ms (12ns per bit) +[ordern] [ctx: 28 align: 1] csize: 3350203 (ratio: 0.335), ctime: 963.378625ms (12ns per bit) +[ordern] [ctx: 28 align: 2] csize: 3367900 (ratio: 0.337), ctime: 982.244375ms (12ns per bit) +[ordern] [ctx: 28 align: 3] csize: 3423544 (ratio: 0.342), ctime: 916.236875ms (11ns per bit) +[ordern] [ctx: 28 align: 4] csize: 3588857 (ratio: 0.359), ctime: 962.687125ms (12ns per bit) +-> best: 3330989 for [ctx: 28, align: 0] +[ordern] [ctx: 29 align: 0] csize: 3307637 (ratio: 0.331), ctime: 1.303072583s (16ns per bit) +[ordern] [ctx: 29 align: 1] csize: 3328170 (ratio: 0.333), ctime: 1.140176916s (14ns per bit) +[ordern] [ctx: 29 align: 2] csize: 3349376 (ratio: 0.335), ctime: 1.0851435s (14ns per bit) +[ordern] [ctx: 29 align: 3] csize: 3367494 (ratio: 0.337), ctime: 1.080641292s (14ns per bit) +[ordern] [ctx: 29 align: 4] csize: 3537714 (ratio: 0.354), ctime: 1.169419584s (15ns per bit) +-> best: 3307637 for [ctx: 29, align: 0] +[ordern] [ctx: 30 align: 0] csize: 3273290 (ratio: 0.327), ctime: 1.869218208s (23ns per bit) +[ordern] [ctx: 30 align: 1] csize: 3305969 (ratio: 0.331), ctime: 1.751889792s (22ns per bit) +[ordern] [ctx: 30 align: 2] csize: 3327645 (ratio: 0.333), ctime: 1.7714805s (22ns per bit) +[ordern] [ctx: 30 align: 3] csize: 3349136 (ratio: 0.335), ctime: 1.691422791s (21ns per bit) +[ordern] [ctx: 30 align: 4] csize: 3500028 (ratio: 0.350), ctime: 1.63385975s (20ns per bit) +-> best: 3273290 for [ctx: 30, align: 0] +[ordern] [ctx: 31 align: 0] csize: 3245799 (ratio: 0.325), ctime: 2.637334041s (33ns per bit) +[ordern] [ctx: 31 align: 1] csize: 3272198 (ratio: 0.327), ctime: 2.610394792s (33ns per bit) +[ordern] [ctx: 31 align: 2] csize: 3305576 (ratio: 0.331), ctime: 2.501505125s (31ns per bit) +[ordern] [ctx: 31 align: 3] csize: 3327510 (ratio: 0.333), ctime: 2.499990042s (31ns per bit) +[ordern] [ctx: 31 align: 4] csize: 3501766 (ratio: 0.350), ctime: 2.562630458s (32ns per bit) +-> best: 3245799 for [ctx: 31, align: 0] +[ordern] [ctx: 32 align: 0] csize: 9962097 (ratio: 0.996), ctime: 3.028083583s (38ns per bit) +[ordern] [ctx: 32 align: 1] csize: 3245067 (ratio: 0.325), ctime: 4.365720208s (55ns per bit) +[ordern] [ctx: 32 align: 2] csize: 3271986 (ratio: 0.327), ctime: 4.303917042s (54ns per bit) +[ordern] [ctx: 32 align: 3] csize: 3305499 (ratio: 0.331), ctime: 4.330563583s (54ns per bit) +[ordern] [ctx: 32 align: 4] csize: 3499664 (ratio: 0.350), ctime: 4.330746083s (54ns per bit) +-> best: 3245067 for [ctx: 32, align: 1] +[ordern] [ctx: 33 align: 0] csize: 9946848 (ratio: 0.995), ctime: 5.342357583s (67ns per bit) +[ordern] [ctx: 33 align: 1] csize: 9889999 (ratio: 0.989), ctime: 5.345558667s (67ns per bit) +[ordern] [ctx: 33 align: 2] csize: 3271986 (ratio: 0.327), ctime: 6.710239291s (84ns per bit) +[ordern] [ctx: 33 align: 3] csize: 3305499 (ratio: 0.331), ctime: 6.621339333s (83ns per bit) +[ordern] [ctx: 33 align: 4] csize: 3499664 (ratio: 0.350), ctime: 6.595135917s (82ns per bit) +-> best: 3271986 for [ctx: 33, align: 2] +[ordern] [ctx: 34 align: 0] csize: 9778102 (ratio: 0.978), ctime: 10.02643075s (125ns per bit) +[ordern] [ctx: 34 align: 1] csize: 9748212 (ratio: 0.975), ctime: 9.933263s (124ns per bit) +[ordern] [ctx: 34 align: 2] csize: 8977625 (ratio: 0.898), ctime: 9.904517917s (124ns per bit) +[ordern] [ctx: 34 align: 3] csize: 3305499 (ratio: 0.331), ctime: 11.432814875s (143ns per bit) +[ordern] [ctx: 34 align: 4] csize: 3499664 (ratio: 0.350), ctime: 11.291264917s (141ns per bit) +-> best: 3305499 for [ctx: 34, align: 3] +-> global best: 3245067 for [ctx: 32, align: 1]