diff options
Diffstat (limited to 'research/experiments')
7 files changed, 549 insertions, 0 deletions
diff --git a/research/experiments/041-batches/2026-10-06-counts.jsonl b/research/experiments/041-batches/2026-10-06-counts.jsonl index 067618f..683e16f 100644 --- a/research/experiments/041-batches/2026-10-06-counts.jsonl +++ b/research/experiments/041-batches/2026-10-06-counts.jsonl @@ -40,3 +40,17 @@ {"version":"b6","way":"rounds","work":"join","instructions":7669659961,"cycles":3265779994} {"version":"b6","way":"batches","work":"sort","instructions":1012520678,"cycles":579574531} {"version":"b6","way":"rounds","work":"sort","instructions":1502633408,"cycles":736511375} +{"version":"b7","way":"batches","work":"roots","instructions":169350478,"cycles":114032367} +{"version":"b7","way":"rounds","work":"roots","instructions":2755944164,"cycles":987839241} +{"version":"b7","way":"batches","work":"knapsack","instructions":380683114,"cycles":120261666} +{"version":"b7","way":"rounds","work":"knapsack","instructions":21688101783,"cycles":7519464793} +{"version":"b7","way":"batches","work":"matmul","instructions":929263038,"cycles":317078886} +{"version":"b7","way":"rounds","work":"matmul","instructions":21436715109,"cycles":6629850240} +{"version":"b7","way":"batches","work":"join","instructions":1897442210,"cycles":1102069457} +{"version":"b7","way":"rounds","work":"join","instructions":7669660742,"cycles":3302375601} +{"version":"b7","way":"batches","work":"sort","instructions":1009608055,"cycles":588290683} +{"version":"b7","way":"rounds","work":"sort","instructions":1502633857,"cycles":739932121} +{"version":"b7","way":"batches","work":"bfs","instructions":3764405096,"cycles":1834592198} +{"version":"b7","way":"rounds","work":"bfs","instructions":4711632368,"cycles":2099255630} +{"version":"b7","way":"batches","work":"words","instructions":3977094950,"cycles":1820903707} +{"version":"b7","way":"rounds","work":"words","instructions":3934433128,"cycles":1752897865} diff --git a/research/experiments/041-batches/2026-10-06-load.txt b/research/experiments/041-batches/2026-10-06-load.txt index f614602..691299a 100644 --- a/research/experiments/041-batches/2026-10-06-load.txt +++ b/research/experiments/041-batches/2026-10-06-load.txt @@ -10,3 +10,6 @@ b5 rounds 10:01:30 up 2 days, 6:22, 2 users, load average: 1.20, 0.98, 0.55 b6 jit 10:13:09 up 2 days, 6:34, 2 users, load average: 0.90, 0.84, 0.68 b6 batches 10:13:17 up 2 days, 6:34, 2 users, load average: 0.91, 0.84, 0.68 b6 rounds 10:13:26 up 2 days, 6:34, 2 users, load average: 0.92, 0.85, 0.68 +b7 jit 11:48:22 up 2 days, 8:09, 2 users, load average: 1.15, 0.95, 0.88 +b7 batches 11:48:29 up 2 days, 8:09, 2 users, load average: 1.22, 0.97, 0.88 +b7 rounds 11:48:38 up 2 days, 8:10, 2 users, load average: 1.18, 0.97, 0.89 diff --git a/research/experiments/041-batches/2026-10-06-suite.jsonl b/research/experiments/041-batches/2026-10-06-suite.jsonl index 5963b36..8c5dfa2 100644 --- a/research/experiments/041-batches/2026-10-06-suite.jsonl +++ b/research/experiments/041-batches/2026-10-06-suite.jsonl @@ -1150,3 +1150,291 @@ {"version":"b6","way":"rounds","work":"bfs_ahead","round":9,"pure_ms":92.391,"c_ms":7.536,"same":true,"answers":[5,99998],"c":[5,99998]} {"version":"b6","way":"rounds","work":"bfs_ahead","round":10,"pure_ms":92.081,"c_ms":7.234,"same":true,"answers":[6,99998],"c":[6,99998]} {"version":"b6","way":"rounds","work":"bfs_ahead","pure_median_ms":92.639,"c_median_ms":7.291,"ratio":12.705,"agree":true} +{"version":"b7","way":"jit","work":"roots","round":0,"pure_ms":9.613,"c_ms":6.859,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"jit","work":"roots","round":1,"pure_ms":9.594,"c_ms":6.862,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"jit","work":"roots","round":2,"pure_ms":9.634,"c_ms":6.875,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"jit","work":"roots","round":3,"pure_ms":9.571,"c_ms":6.868,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"jit","work":"roots","round":4,"pure_ms":9.568,"c_ms":6.871,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"jit","work":"roots","round":5,"pure_ms":9.567,"c_ms":6.863,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"jit","work":"roots","round":6,"pure_ms":9.570,"c_ms":6.845,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"jit","work":"roots","round":7,"pure_ms":9.573,"c_ms":6.859,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"jit","work":"roots","round":8,"pure_ms":9.572,"c_ms":6.859,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"jit","work":"roots","round":9,"pure_ms":9.572,"c_ms":6.860,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"jit","work":"roots","round":10,"pure_ms":9.574,"c_ms":6.874,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"jit","work":"roots","pure_median_ms":9.572,"c_median_ms":6.862,"ratio":1.395,"agree":true} +{"version":"b7","way":"jit","work":"knapsack","round":0,"pure_ms":7.966,"c_ms":6.243,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"jit","work":"knapsack","round":1,"pure_ms":7.963,"c_ms":6.330,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"jit","work":"knapsack","round":2,"pure_ms":7.990,"c_ms":6.251,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"jit","work":"knapsack","round":3,"pure_ms":7.939,"c_ms":6.229,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"jit","work":"knapsack","round":4,"pure_ms":7.934,"c_ms":6.230,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"jit","work":"knapsack","round":5,"pure_ms":7.944,"c_ms":6.232,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"jit","work":"knapsack","round":6,"pure_ms":7.932,"c_ms":6.224,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"jit","work":"knapsack","round":7,"pure_ms":7.972,"c_ms":6.240,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"jit","work":"knapsack","round":8,"pure_ms":7.943,"c_ms":6.234,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"jit","work":"knapsack","round":9,"pure_ms":7.935,"c_ms":6.224,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"jit","work":"knapsack","round":10,"pure_ms":7.929,"c_ms":6.226,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"jit","work":"knapsack","pure_median_ms":7.943,"c_median_ms":6.232,"ratio":1.275,"agree":true} +{"version":"b7","way":"jit","work":"sort","round":0,"pure_ms":35.649,"c_ms":27.040,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"jit","work":"sort","round":1,"pure_ms":34.946,"c_ms":26.868,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"jit","work":"sort","round":2,"pure_ms":36.258,"c_ms":26.861,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"jit","work":"sort","round":3,"pure_ms":35.257,"c_ms":26.838,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"jit","work":"sort","round":4,"pure_ms":35.642,"c_ms":26.860,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"jit","work":"sort","round":5,"pure_ms":35.290,"c_ms":26.892,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"jit","work":"sort","round":6,"pure_ms":35.371,"c_ms":26.867,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"jit","work":"sort","round":7,"pure_ms":39.407,"c_ms":26.915,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"jit","work":"sort","round":8,"pure_ms":35.457,"c_ms":26.937,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"jit","work":"sort","round":9,"pure_ms":36.601,"c_ms":27.032,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"jit","work":"sort","round":10,"pure_ms":35.318,"c_ms":26.938,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"jit","work":"sort","pure_median_ms":35.457,"c_median_ms":26.892,"ratio":1.319,"agree":true} +{"version":"b7","way":"jit","work":"join","round":0,"pure_ms":88.285,"c_ms":34.186,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"jit","work":"join","round":1,"pure_ms":87.448,"c_ms":34.640,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"jit","work":"join","round":2,"pure_ms":79.245,"c_ms":34.444,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"jit","work":"join","round":3,"pure_ms":76.379,"c_ms":34.695,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"jit","work":"join","round":4,"pure_ms":78.754,"c_ms":34.330,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"jit","work":"join","round":5,"pure_ms":77.323,"c_ms":34.296,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"jit","work":"join","round":6,"pure_ms":83.149,"c_ms":35.288,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"jit","work":"join","round":7,"pure_ms":77.646,"c_ms":34.866,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"jit","work":"join","round":8,"pure_ms":77.521,"c_ms":35.014,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"jit","work":"join","round":9,"pure_ms":76.827,"c_ms":34.647,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"jit","work":"join","round":10,"pure_ms":85.450,"c_ms":36.452,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"jit","work":"join","pure_median_ms":78.754,"c_median_ms":34.647,"ratio":2.273,"agree":true} +{"version":"b7","way":"jit","work":"words","round":0,"pure_ms":214.198,"c_ms":37.498,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"jit","work":"words","round":1,"pure_ms":214.486,"c_ms":41.176,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"jit","work":"words","round":2,"pure_ms":221.079,"c_ms":37.987,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"jit","work":"words","round":3,"pure_ms":219.282,"c_ms":40.866,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"jit","work":"words","round":4,"pure_ms":213.720,"c_ms":37.313,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"jit","work":"words","round":5,"pure_ms":215.652,"c_ms":43.567,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"jit","work":"words","round":6,"pure_ms":216.432,"c_ms":38.166,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"jit","work":"words","round":7,"pure_ms":220.503,"c_ms":38.012,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"jit","work":"words","round":8,"pure_ms":214.211,"c_ms":37.132,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"jit","work":"words","round":9,"pure_ms":218.162,"c_ms":38.402,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"jit","work":"words","round":10,"pure_ms":216.748,"c_ms":39.734,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"jit","work":"words","pure_median_ms":216.432,"c_median_ms":38.166,"ratio":5.671,"agree":true} +{"version":"b7","way":"jit","work":"matmul","round":0,"pure_ms":14.886,"c_ms":7.811,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"jit","work":"matmul","round":1,"pure_ms":14.762,"c_ms":7.762,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"jit","work":"matmul","round":2,"pure_ms":14.919,"c_ms":7.832,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"jit","work":"matmul","round":3,"pure_ms":14.841,"c_ms":8.185,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"jit","work":"matmul","round":4,"pure_ms":15.172,"c_ms":7.827,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"jit","work":"matmul","round":5,"pure_ms":14.548,"c_ms":7.770,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"jit","work":"matmul","round":6,"pure_ms":14.821,"c_ms":7.765,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"jit","work":"matmul","round":7,"pure_ms":14.812,"c_ms":8.659,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"jit","work":"matmul","round":8,"pure_ms":14.990,"c_ms":7.851,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"jit","work":"matmul","round":9,"pure_ms":14.904,"c_ms":7.819,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"jit","work":"matmul","round":10,"pure_ms":14.910,"c_ms":7.789,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"jit","work":"matmul","pure_median_ms":14.886,"c_median_ms":7.819,"ratio":1.904,"agree":true} +{"version":"b7","way":"jit","work":"bfs","round":0,"pure_ms":114.564,"c_ms":10.676,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"jit","work":"bfs","round":1,"pure_ms":7.665,"c_ms":10.042,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"jit","work":"bfs","round":2,"pure_ms":7.655,"c_ms":10.206,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"jit","work":"bfs","round":3,"pure_ms":7.665,"c_ms":10.134,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"jit","work":"bfs","round":4,"pure_ms":7.695,"c_ms":10.095,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"jit","work":"bfs","round":5,"pure_ms":7.646,"c_ms":10.381,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"jit","work":"bfs","round":6,"pure_ms":7.654,"c_ms":9.975,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"jit","work":"bfs","round":7,"pure_ms":7.668,"c_ms":10.041,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"jit","work":"bfs","round":8,"pure_ms":7.639,"c_ms":10.011,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"jit","work":"bfs","round":9,"pure_ms":7.664,"c_ms":9.959,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"jit","work":"bfs","round":10,"pure_ms":7.656,"c_ms":10.207,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"jit","work":"bfs","pure_median_ms":7.664,"c_median_ms":10.095,"ratio":0.759,"agree":true} +{"version":"b7","way":"jit","work":"bfs_ahead","round":0,"pure_ms":114.238,"c_ms":9.345,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"jit","work":"bfs_ahead","round":1,"pure_ms":7.935,"c_ms":8.223,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"jit","work":"bfs_ahead","round":2,"pure_ms":7.689,"c_ms":7.366,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"jit","work":"bfs_ahead","round":3,"pure_ms":7.693,"c_ms":7.307,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"jit","work":"bfs_ahead","round":4,"pure_ms":7.665,"c_ms":7.336,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"jit","work":"bfs_ahead","round":5,"pure_ms":7.695,"c_ms":7.499,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"jit","work":"bfs_ahead","round":6,"pure_ms":7.670,"c_ms":7.334,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"jit","work":"bfs_ahead","round":7,"pure_ms":7.673,"c_ms":7.418,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"jit","work":"bfs_ahead","round":8,"pure_ms":7.660,"c_ms":7.561,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"jit","work":"bfs_ahead","round":9,"pure_ms":7.668,"c_ms":7.484,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"jit","work":"bfs_ahead","round":10,"pure_ms":7.695,"c_ms":7.382,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"jit","work":"bfs_ahead","pure_median_ms":7.689,"c_median_ms":7.418,"ratio":1.037,"agree":true} +{"version":"b7","way":"batches","work":"roots","round":0,"pure_ms":9.029,"c_ms":6.847,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"batches","work":"roots","round":1,"pure_ms":8.993,"c_ms":6.861,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"batches","work":"roots","round":2,"pure_ms":8.964,"c_ms":6.880,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"batches","work":"roots","round":3,"pure_ms":8.963,"c_ms":6.863,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"batches","work":"roots","round":4,"pure_ms":8.945,"c_ms":6.863,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"batches","work":"roots","round":5,"pure_ms":8.942,"c_ms":6.872,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"batches","work":"roots","round":6,"pure_ms":8.940,"c_ms":6.861,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"batches","work":"roots","round":7,"pure_ms":8.942,"c_ms":6.863,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"batches","work":"roots","round":8,"pure_ms":8.969,"c_ms":6.876,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"batches","work":"roots","round":9,"pure_ms":8.950,"c_ms":6.871,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"batches","work":"roots","round":10,"pure_ms":8.941,"c_ms":6.874,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"batches","work":"roots","pure_median_ms":8.950,"c_median_ms":6.863,"ratio":1.304,"agree":true} +{"version":"b7","way":"batches","work":"knapsack","round":0,"pure_ms":10.447,"c_ms":6.290,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"batches","work":"knapsack","round":1,"pure_ms":10.355,"c_ms":6.242,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"batches","work":"knapsack","round":2,"pure_ms":10.338,"c_ms":6.227,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"batches","work":"knapsack","round":3,"pure_ms":10.325,"c_ms":6.234,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"batches","work":"knapsack","round":4,"pure_ms":10.350,"c_ms":6.239,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"batches","work":"knapsack","round":5,"pure_ms":10.334,"c_ms":6.232,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"batches","work":"knapsack","round":6,"pure_ms":10.325,"c_ms":6.230,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"batches","work":"knapsack","round":7,"pure_ms":10.315,"c_ms":6.226,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"batches","work":"knapsack","round":8,"pure_ms":10.315,"c_ms":6.226,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"batches","work":"knapsack","round":9,"pure_ms":10.312,"c_ms":6.227,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"batches","work":"knapsack","round":10,"pure_ms":10.317,"c_ms":6.226,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"batches","work":"knapsack","pure_median_ms":10.325,"c_median_ms":6.230,"ratio":1.657,"agree":true} +{"version":"b7","way":"batches","work":"sort","round":0,"pure_ms":57.202,"c_ms":26.938,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"batches","work":"sort","round":1,"pure_ms":56.386,"c_ms":26.880,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"batches","work":"sort","round":2,"pure_ms":55.876,"c_ms":26.876,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"batches","work":"sort","round":3,"pure_ms":57.917,"c_ms":26.896,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"batches","work":"sort","round":4,"pure_ms":56.807,"c_ms":26.882,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"batches","work":"sort","round":5,"pure_ms":56.809,"c_ms":26.832,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"batches","work":"sort","round":6,"pure_ms":56.153,"c_ms":26.859,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"batches","work":"sort","round":7,"pure_ms":56.276,"c_ms":26.860,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"batches","work":"sort","round":8,"pure_ms":63.739,"c_ms":26.929,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"batches","work":"sort","round":9,"pure_ms":58.039,"c_ms":26.940,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"batches","work":"sort","round":10,"pure_ms":63.988,"c_ms":27.287,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"batches","work":"sort","pure_median_ms":56.809,"c_median_ms":26.882,"ratio":2.113,"agree":true} +{"version":"b7","way":"batches","work":"join","round":0,"pure_ms":128.057,"c_ms":33.614,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"batches","work":"join","round":1,"pure_ms":119.390,"c_ms":31.877,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"batches","work":"join","round":2,"pure_ms":122.014,"c_ms":53.012,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"batches","work":"join","round":3,"pure_ms":165.155,"c_ms":33.898,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"batches","work":"join","round":4,"pure_ms":122.248,"c_ms":32.908,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"batches","work":"join","round":5,"pure_ms":116.818,"c_ms":31.431,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"batches","work":"join","round":6,"pure_ms":116.453,"c_ms":30.533,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"batches","work":"join","round":7,"pure_ms":116.843,"c_ms":31.571,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"batches","work":"join","round":8,"pure_ms":117.771,"c_ms":31.260,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"batches","work":"join","round":9,"pure_ms":116.764,"c_ms":30.886,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"batches","work":"join","round":10,"pure_ms":116.957,"c_ms":31.475,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"batches","work":"join","pure_median_ms":117.771,"c_median_ms":31.571,"ratio":3.730,"agree":true} +{"version":"b7","way":"batches","work":"words","round":0,"pure_ms":221.094,"c_ms":37.912,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"batches","work":"words","round":1,"pure_ms":211.425,"c_ms":38.068,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"batches","work":"words","round":2,"pure_ms":212.842,"c_ms":35.210,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"batches","work":"words","round":3,"pure_ms":214.264,"c_ms":38.181,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"batches","work":"words","round":4,"pure_ms":215.720,"c_ms":37.204,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"batches","work":"words","round":5,"pure_ms":214.867,"c_ms":38.312,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"batches","work":"words","round":6,"pure_ms":213.458,"c_ms":36.444,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"batches","work":"words","round":7,"pure_ms":214.767,"c_ms":41.367,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"batches","work":"words","round":8,"pure_ms":215.396,"c_ms":36.750,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"batches","work":"words","round":9,"pure_ms":212.237,"c_ms":38.329,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"batches","work":"words","round":10,"pure_ms":212.649,"c_ms":37.224,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"batches","work":"words","pure_median_ms":214.264,"c_median_ms":37.912,"ratio":5.652,"agree":true} +{"version":"b7","way":"batches","work":"matmul","round":0,"pure_ms":36.574,"c_ms":7.527,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"batches","work":"matmul","round":1,"pure_ms":36.588,"c_ms":7.523,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"batches","work":"matmul","round":2,"pure_ms":36.463,"c_ms":7.492,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"batches","work":"matmul","round":3,"pure_ms":36.508,"c_ms":7.530,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"batches","work":"matmul","round":4,"pure_ms":36.489,"c_ms":7.538,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"batches","work":"matmul","round":5,"pure_ms":36.641,"c_ms":7.576,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"batches","work":"matmul","round":6,"pure_ms":37.046,"c_ms":7.557,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"batches","work":"matmul","round":7,"pure_ms":36.521,"c_ms":7.530,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"batches","work":"matmul","round":8,"pure_ms":36.468,"c_ms":7.524,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"batches","work":"matmul","round":9,"pure_ms":36.508,"c_ms":7.512,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"batches","work":"matmul","round":10,"pure_ms":36.432,"c_ms":7.486,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"batches","work":"matmul","pure_median_ms":36.508,"c_median_ms":7.527,"ratio":4.850,"agree":true} +{"version":"b7","way":"batches","work":"bfs","round":0,"pure_ms":160.304,"c_ms":10.239,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"batches","work":"bfs","round":1,"pure_ms":41.437,"c_ms":10.053,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"batches","work":"bfs","round":2,"pure_ms":44.163,"c_ms":10.167,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"batches","work":"bfs","round":3,"pure_ms":41.381,"c_ms":9.892,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"batches","work":"bfs","round":4,"pure_ms":41.527,"c_ms":9.969,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"batches","work":"bfs","round":5,"pure_ms":40.666,"c_ms":10.356,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"batches","work":"bfs","round":6,"pure_ms":40.974,"c_ms":9.856,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"batches","work":"bfs","round":7,"pure_ms":40.555,"c_ms":10.209,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"batches","work":"bfs","round":8,"pure_ms":40.341,"c_ms":9.921,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"batches","work":"bfs","round":9,"pure_ms":41.055,"c_ms":9.843,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"batches","work":"bfs","round":10,"pure_ms":40.800,"c_ms":9.848,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"batches","work":"bfs","pure_median_ms":41.055,"c_median_ms":9.969,"ratio":4.118,"agree":true} +{"version":"b7","way":"batches","work":"bfs_ahead","round":0,"pure_ms":163.264,"c_ms":8.324,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"batches","work":"bfs_ahead","round":1,"pure_ms":42.558,"c_ms":7.350,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"batches","work":"bfs_ahead","round":2,"pure_ms":41.983,"c_ms":7.396,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"batches","work":"bfs_ahead","round":3,"pure_ms":41.383,"c_ms":7.460,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"batches","work":"bfs_ahead","round":4,"pure_ms":41.505,"c_ms":7.338,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"batches","work":"bfs_ahead","round":5,"pure_ms":41.047,"c_ms":7.446,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"batches","work":"bfs_ahead","round":6,"pure_ms":41.798,"c_ms":7.297,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"batches","work":"bfs_ahead","round":7,"pure_ms":42.133,"c_ms":7.492,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"batches","work":"bfs_ahead","round":8,"pure_ms":40.938,"c_ms":7.348,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"batches","work":"bfs_ahead","round":9,"pure_ms":41.708,"c_ms":7.385,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"batches","work":"bfs_ahead","round":10,"pure_ms":41.153,"c_ms":7.307,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"batches","work":"bfs_ahead","pure_median_ms":41.708,"c_median_ms":7.385,"ratio":5.648,"agree":true} +{"version":"b7","way":"rounds","work":"roots","round":0,"pure_ms":130.099,"c_ms":6.860,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"rounds","work":"roots","round":1,"pure_ms":130.546,"c_ms":6.864,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"rounds","work":"roots","round":2,"pure_ms":130.340,"c_ms":6.863,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"rounds","work":"roots","round":3,"pure_ms":130.551,"c_ms":6.855,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"rounds","work":"roots","round":4,"pure_ms":130.548,"c_ms":6.859,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"rounds","work":"roots","round":5,"pure_ms":130.535,"c_ms":6.860,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"rounds","work":"roots","round":6,"pure_ms":130.526,"c_ms":6.862,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"rounds","work":"roots","round":7,"pure_ms":130.542,"c_ms":6.859,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"rounds","work":"roots","round":8,"pure_ms":130.553,"c_ms":6.859,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"rounds","work":"roots","round":9,"pure_ms":130.536,"c_ms":6.848,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"rounds","work":"roots","round":10,"pure_ms":130.612,"c_ms":6.870,"same":true,"answers":[21082008.973917928,1238280],"c":[21082008.973917928,1238280]} +{"version":"b7","way":"rounds","work":"roots","pure_median_ms":130.542,"c_median_ms":6.860,"ratio":19.030,"agree":true} +{"version":"b7","way":"rounds","work":"knapsack","round":0,"pure_ms":1054.962,"c_ms":6.301,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"rounds","work":"knapsack","round":1,"pure_ms":1051.934,"c_ms":6.251,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"rounds","work":"knapsack","round":2,"pure_ms":1053.210,"c_ms":6.251,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"rounds","work":"knapsack","round":3,"pure_ms":1055.498,"c_ms":6.248,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"rounds","work":"knapsack","round":4,"pure_ms":1054.551,"c_ms":6.246,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"rounds","work":"knapsack","round":5,"pure_ms":1054.104,"c_ms":6.248,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"rounds","work":"knapsack","round":6,"pure_ms":1052.540,"c_ms":6.247,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"rounds","work":"knapsack","round":7,"pure_ms":1053.061,"c_ms":6.246,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"rounds","work":"knapsack","round":8,"pure_ms":1053.873,"c_ms":6.245,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"rounds","work":"knapsack","round":9,"pure_ms":1053.381,"c_ms":6.245,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"rounds","work":"knapsack","round":10,"pure_ms":1054.331,"c_ms":6.245,"same":true,"answers":[49720],"c":[49720]} +{"version":"b7","way":"rounds","work":"knapsack","pure_median_ms":1053.873,"c_median_ms":6.247,"ratio":168.701,"agree":true} +{"version":"b7","way":"rounds","work":"sort","round":0,"pure_ms":77.413,"c_ms":27.077,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"rounds","work":"sort","round":1,"pure_ms":77.785,"c_ms":26.890,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"rounds","work":"sort","round":2,"pure_ms":78.223,"c_ms":26.884,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"rounds","work":"sort","round":3,"pure_ms":78.850,"c_ms":26.817,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"rounds","work":"sort","round":4,"pure_ms":77.746,"c_ms":26.798,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"rounds","work":"sort","round":5,"pure_ms":78.296,"c_ms":26.908,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"rounds","work":"sort","round":6,"pure_ms":78.504,"c_ms":26.783,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"rounds","work":"sort","round":7,"pure_ms":78.308,"c_ms":26.874,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"rounds","work":"sort","round":8,"pure_ms":79.374,"c_ms":26.814,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"rounds","work":"sort","round":9,"pure_ms":77.564,"c_ms":26.827,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"rounds","work":"sort","round":10,"pure_ms":79.044,"c_ms":26.816,"same":true,"answers":[6551,1075217194,2147477497,0],"c":[6551,1075217194,2147477497,0]} +{"version":"b7","way":"rounds","work":"sort","pure_median_ms":78.296,"c_median_ms":26.827,"ratio":2.919,"agree":true} +{"version":"b7","way":"rounds","work":"join","round":0,"pure_ms":426.871,"c_ms":34.852,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"rounds","work":"join","round":1,"pure_ms":424.471,"c_ms":34.849,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"rounds","work":"join","round":2,"pure_ms":428.754,"c_ms":34.674,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"rounds","work":"join","round":3,"pure_ms":423.416,"c_ms":35.146,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"rounds","work":"join","round":4,"pure_ms":430.776,"c_ms":34.842,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"rounds","work":"join","round":5,"pure_ms":427.556,"c_ms":35.394,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"rounds","work":"join","round":6,"pure_ms":434.437,"c_ms":35.498,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"rounds","work":"join","round":7,"pure_ms":423.780,"c_ms":35.994,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"rounds","work":"join","round":8,"pure_ms":435.826,"c_ms":34.206,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"rounds","work":"join","round":9,"pure_ms":425.572,"c_ms":35.453,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"rounds","work":"join","round":10,"pure_ms":430.747,"c_ms":34.886,"same":true,"answers":[31610389,499378646],"c":[31610389,499378646]} +{"version":"b7","way":"rounds","work":"join","pure_median_ms":427.556,"c_median_ms":34.886,"ratio":12.256,"agree":true} +{"version":"b7","way":"rounds","work":"words","round":0,"pure_ms":212.479,"c_ms":37.981,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"rounds","work":"words","round":1,"pure_ms":208.034,"c_ms":39.371,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"rounds","work":"words","round":2,"pure_ms":209.696,"c_ms":37.869,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"rounds","work":"words","round":3,"pure_ms":214.041,"c_ms":36.688,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"rounds","work":"words","round":4,"pure_ms":211.974,"c_ms":38.290,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"rounds","work":"words","round":5,"pure_ms":209.146,"c_ms":38.848,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"rounds","work":"words","round":6,"pure_ms":207.908,"c_ms":39.887,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"rounds","work":"words","round":7,"pure_ms":212.012,"c_ms":36.829,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"rounds","work":"words","round":8,"pure_ms":209.614,"c_ms":38.084,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"rounds","work":"words","round":9,"pure_ms":207.367,"c_ms":39.389,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"rounds","work":"words","round":10,"pure_ms":212.872,"c_ms":39.508,"same":true,"answers":[49883,18],"c":[49883,18]} +{"version":"b7","way":"rounds","work":"words","pure_median_ms":209.696,"c_median_ms":38.290,"ratio":5.477,"agree":true} +{"version":"b7","way":"rounds","work":"matmul","round":0,"pure_ms":912.711,"c_ms":7.512,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"rounds","work":"matmul","round":1,"pure_ms":915.360,"c_ms":8.427,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"rounds","work":"matmul","round":2,"pure_ms":913.134,"c_ms":7.914,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"rounds","work":"matmul","round":3,"pure_ms":914.867,"c_ms":7.952,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"rounds","work":"matmul","round":4,"pure_ms":914.938,"c_ms":8.036,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"rounds","work":"matmul","round":5,"pure_ms":914.780,"c_ms":7.835,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"rounds","work":"matmul","round":6,"pure_ms":914.793,"c_ms":8.024,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"rounds","work":"matmul","round":7,"pure_ms":914.538,"c_ms":8.083,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"rounds","work":"matmul","round":8,"pure_ms":915.238,"c_ms":8.498,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"rounds","work":"matmul","round":9,"pure_ms":911.789,"c_ms":8.054,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"rounds","work":"matmul","round":10,"pure_ms":911.701,"c_ms":8.149,"same":true,"answers":[19621593062,473429],"c":[19621593062,473429]} +{"version":"b7","way":"rounds","work":"matmul","pure_median_ms":914.780,"c_median_ms":8.036,"ratio":113.837,"agree":true} +{"version":"b7","way":"rounds","work":"bfs","round":0,"pure_ms":143.352,"c_ms":10.601,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"rounds","work":"bfs","round":1,"pure_ms":93.551,"c_ms":9.883,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"rounds","work":"bfs","round":2,"pure_ms":93.261,"c_ms":9.975,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"rounds","work":"bfs","round":3,"pure_ms":93.340,"c_ms":10.299,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"rounds","work":"bfs","round":4,"pure_ms":95.221,"c_ms":10.021,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"rounds","work":"bfs","round":5,"pure_ms":93.278,"c_ms":9.940,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"rounds","work":"bfs","round":6,"pure_ms":93.439,"c_ms":9.894,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"rounds","work":"bfs","round":7,"pure_ms":93.660,"c_ms":9.829,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"rounds","work":"bfs","round":8,"pure_ms":93.173,"c_ms":9.889,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"rounds","work":"bfs","round":9,"pure_ms":93.494,"c_ms":10.209,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"rounds","work":"bfs","round":10,"pure_ms":93.356,"c_ms":9.881,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"rounds","work":"bfs","pure_median_ms":93.439,"c_median_ms":9.940,"ratio":9.400,"agree":true} +{"version":"b7","way":"rounds","work":"bfs_ahead","round":0,"pure_ms":145.634,"c_ms":7.736,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"rounds","work":"bfs_ahead","round":1,"pure_ms":92.753,"c_ms":7.298,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"rounds","work":"bfs_ahead","round":2,"pure_ms":93.862,"c_ms":7.264,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"rounds","work":"bfs_ahead","round":3,"pure_ms":93.456,"c_ms":7.265,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"rounds","work":"bfs_ahead","round":4,"pure_ms":92.909,"c_ms":7.291,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"rounds","work":"bfs_ahead","round":5,"pure_ms":93.238,"c_ms":7.307,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"rounds","work":"bfs_ahead","round":6,"pure_ms":93.268,"c_ms":7.435,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"rounds","work":"bfs_ahead","round":7,"pure_ms":95.176,"c_ms":7.283,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"rounds","work":"bfs_ahead","round":8,"pure_ms":93.944,"c_ms":7.267,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"rounds","work":"bfs_ahead","round":9,"pure_ms":93.163,"c_ms":7.301,"same":true,"answers":[5,99998],"c":[5,99998]} +{"version":"b7","way":"rounds","work":"bfs_ahead","round":10,"pure_ms":93.223,"c_ms":7.624,"same":true,"answers":[6,99998],"c":[6,99998]} +{"version":"b7","way":"rounds","work":"bfs_ahead","pure_median_ms":93.268,"c_median_ms":7.298,"ratio":12.781,"agree":true} diff --git a/research/experiments/041-batches/2026-10-08-search-counts.jsonl b/research/experiments/041-batches/2026-10-08-search-counts.jsonl new file mode 100644 index 0000000..b407d99 --- /dev/null +++ b/research/experiments/041-batches/2026-10-08-search-counts.jsonl @@ -0,0 +1,8 @@ +{"version":"b7","program":"frontier-run","way":"batches","rounds":1,"out":"{\"round\":0,\"ms\":50.600,\"sum\":50015135477,\"work\":7899722} {\"round\":1,\"ms\":10.668,\"sum\":50015135477,\"work\":7899722} {\"instructions\":3044776954,\"cycles\":1351012989} "} +{"version":"b7","program":"frontier-run","way":"batches","rounds":11,"out":"{\"round\":0,\"ms\":51.385,\"sum\":50015135477,\"work\":7899722} {\"round\":1,\"ms\":10.681,\"sum\":50015135477,\"work\":7899722} {\"round\":2,\"ms\":10.600,\"sum\":50015135477,\"work\":7899722} {\"round\":3,\"ms\":10.657,\"sum\":50015135477,\"work\":7899722} {\"round\":4,\"ms\":10.655,\"sum\":50015135477,\"work\":7899722} {\"round\":5,\"ms\":10.582,\"sum\":50015135477,\"work\":7899722} {\"round\":6,\"ms\":10.758,\"sum\":50015135477,\"work\":7899722} {\"round\":7,\"ms\":10.591,\"sum\":50015135477,\"work\":7899722} {\"round\":8,\"ms\":10.606,\"sum\":50015135477,\"work\":7899722} {\"round\":9,\"ms\":10.632,\"sum\":50015135477,\"work\":7899722} {\"round\":10,\"ms\":10.563,\"sum\":50015135477,\"work\":7899722} {\"round\":11,\"ms\":10.536,\"sum\":50015135477,\"work\":7899722} {\"instructions\":3746780711,\"cycles\":1611695556} "} +{"version":"b7","program":"frontier-run","way":"jit","rounds":1,"out":"{\"round\":0,\"ms\":43.534,\"sum\":50015135477,\"work\":7899722} {\"round\":1,\"ms\":6.253,\"sum\":50015135477,\"work\":7899722} {\"instructions\":2946315636,\"cycles\":1330991791} "} +{"version":"b7","program":"frontier-run","way":"jit","rounds":11,"out":"{\"round\":0,\"ms\":43.096,\"sum\":50015135477,\"work\":7899722} {\"round\":1,\"ms\":6.325,\"sum\":50015135477,\"work\":7899722} {\"round\":2,\"ms\":6.263,\"sum\":50015135477,\"work\":7899722} {\"round\":3,\"ms\":6.245,\"sum\":50015135477,\"work\":7899722} {\"round\":4,\"ms\":6.248,\"sum\":50015135477,\"work\":7899722} {\"round\":5,\"ms\":6.243,\"sum\":50015135477,\"work\":7899722} {\"round\":6,\"ms\":6.292,\"sum\":50015135477,\"work\":7899722} {\"round\":7,\"ms\":6.253,\"sum\":50015135477,\"work\":7899722} {\"round\":8,\"ms\":6.250,\"sum\":50015135477,\"work\":7899722} {\"round\":9,\"ms\":6.246,\"sum\":50015135477,\"work\":7899722} {\"round\":10,\"ms\":6.243,\"sum\":50015135477,\"work\":7899722} {\"round\":11,\"ms\":6.245,\"sum\":50015135477,\"work\":7899722} {\"instructions\":3297368896,\"cycles\":1485430886} "} +{"version":"b7","program":"search-run","way":"batches","rounds":1,"out":"{\"best_ms\":58.750,\"hops\":6,\"reached\":99998} {\"instructions\":3515758375,\"cycles\":1887888655} "} +{"version":"b7","program":"search-run","way":"batches","rounds":11,"out":"{\"best_ms\":40.357,\"hops\":5,\"reached\":99998} {\"instructions\":5628825434,\"cycles\":2693406966} "} +{"version":"b7","program":"search-run","way":"jit","rounds":1,"out":"{\"best_ms\":7.689,\"hops\":6,\"reached\":99998} {\"instructions\":3286404211,\"cycles\":1511607867} "} +{"version":"b7","program":"search-run","way":"jit","rounds":11,"out":"{\"best_ms\":7.516,\"hops\":5,\"reached\":99998} {\"instructions\":3671291036,\"cycles\":1684437538} "} diff --git a/research/experiments/041-batches/search/frontier-run.c b/research/experiments/041-batches/search/frontier-run.c new file mode 100644 index 0000000..2f740ae --- /dev/null +++ b/research/experiments/041-batches/search/frontier-run.c @@ -0,0 +1,78 @@ +/* research 130: the suite's graph (natural.h) loaded as suite-run.c loads it, then one handler run ROUNDS times. + * Built from the repository's root: cc -O2 -std=c17 -Icore -Iresearch/experiments/040-* (natural.h) FILE build/libpure.a -lm. + * frontier-run DIR ROUNDS: frontier.aup's frontier (each node's edges' to summed by a walk in a guarded loop); + * search-run DIR ROUNDS: graph.pmod's route (the suite's BFS), its best ms. Counted with 041's icount (ROUNDS 1 and 11). */ +/* Research 124's suite: kinds of work in one event each, Pure against C in + * this process on the same machine, the same inputs (each program draws them + * by MINSTD, x * 48271 mod 2^31 - 1, from seed 1, as its C does), the same + * answers (checked every round). The C is what one would write for the task: + * the same algorithm, its natural types (whole numbers as integers), qsort, + * a hash table with linear probing, snprintf. + * + * suite-run DIR ROUNDS [NAME...] a JSON line per round of each workload + * (Pure's ms, C's ms), then per workload the medians and Pure / C. DIR holds + * the workloads' modules (NAME.pmod; bfs: 033's graph.aup as graph.pmod; + * bfs_ahead: the same search against bfs.c read ahead, for context). + * Without NAMEs, all of them. PURE_JIT and PURE_AHEAD as the core reads them. */ +#define _POSIX_C_SOURCE 200809L +#include "module.h" +#include <stdbool.h> +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> + +static double now_ms(void) { + struct timespec t; + clock_gettime(CLOCK_MONOTONIC, &t); + return (double)t.tv_sec * 1e3 + (double)t.tv_nsec / 1e6; +} + +static int compare_doubles(const void *a, const void *b) { + double x = *(const double *)a, y = *(const double *)b; + return (x > y) - (x < y); +} + +#include "natural.h" + +/* The graph into the app (size, then the edges as rows) and into C's adjacency. */ +static bool load_graph(PureApp *app, const PureModule *m, uint32_t nodes, size_t edges) { + uint64_t *keys; + size_t unique = graph_build(nodes, edges, &keys); + unsigned char four[4]; + memcpy(four, &nodes, 4); + if (pure_app_message(app, (uint32_t)pure_module_input(m, "size"), NULL, -1, (PureSpan){four, 4}) != PURE_OK) return false; + enum { CHUNK = 65536 }; + double *rows = malloc(CHUNK * 2 * sizeof(*rows)); + for (size_t at = 0; at < unique; at += CHUNK) { + size_t n = unique - at < CHUNK ? unique - at : CHUNK; + for (size_t k = 0; k < n; ++k) rows[2 * k] = (double)keys[at + k], rows[2 * k + 1] = (double)(keys[at + k] & 0xFFFFF); + if (pure_app_message(app, (uint32_t)pure_module_input(m, "load"), NULL, -1, (PureSpan){(unsigned char *)rows, n * 16}) != + PURE_OK) + return false; + } + free(rows), free(keys); + return true; +} + + +/* front-run DIR ROUNDS: the frontier walk (front.pmod) ROUNDS times after the graph's load (the first packs the edges): its ms and sum. */ +int main(int argc, char **argv) { + static PureModule module; + static PureApp app; + char error[200], path[512]; + snprintf(path, sizeof(path), "%s/frontier.pmod", argv[1]); + if (pure_module_read(path, &module, error, sizeof(error)) != PURE_OK) { fprintf(stderr, "%s\n", error); return 1; } + if (pure_app_start(&app, &module, (PureData){0}) != PURE_OK) return 1; + if (!load_graph(&app, &module, 100000, 1000000)) return 1; + int rounds = atoi(argv[2]), input = pure_module_input(&module, "frontier"), sum = pure_module_state(&module, "sum"); + for (int r = 0; r <= rounds; ++r) { + uint32_t args[2] = {0, 0}; + double a = now_ms(); + PureResult result = pure_app_message(&app, (uint32_t)input, NULL, -1, (PureSpan){(unsigned char *)args, 8}); + double ms = now_ms() - a; + if (result != PURE_OK) { fprintf(stderr, "failed %s\n", pure_fault_name(app.fault)); return 1; } + printf("{\"round\":%d,\"ms\":%.3f,\"sum\":%.17g,\"work\":%llu}\n", r, ms, app.values[sum].num, (unsigned long long)app.work); + } +} diff --git a/research/experiments/041-batches/search/frontier.aup b/research/experiments/041-batches/search/frontier.aup new file mode 100644 index 0000000..a9a460a --- /dev/null +++ b/research/experiments/041-batches/search/frontier.aup @@ -0,0 +1,77 @@ +# The graph of research 118 (docs/design/018 stage 2): edges keyed by +# from * 1048576 + to, loaded in bulk as rows; a breadth first search in +# one event, its queue and what it has seen the event's own lists. +record Edge { + link = 0 + to = 0 +} +record Seen { + node = 0 + depth = 0 +} +record Step { + node = 0 +} +state edges: list of Edge by link +state nodes = 0 +state hops = -1 +state reached = 0 +state sum = 0 +input size = message { + nodes: u32 +} +input load = message { + rows: list of Edge +} +input frontier = message { + from: u32 + to: u32 +} +input route = message { + from: u32 + to: u32 +} +on size { + nodes = size.nodes +} +on load { + for r in load.rows { + edges.add(Edge { ..r }) + } +} +on route { + let seen: list of Seen by node + let queue: list of Step + queue.append(Step { node: route.from }) + seen.add(Seen { node: route.from }) + for i in 0 .. nodes { + if i >= queue.count { break } + let q = queue.first + i + for e in edges[q.node * 1048576 .. q.node * 1048576 + 1048576] { + if !seen.has(e.to) { + seen.add(Seen { node: e.to, depth: seen[q.node].depth + 1 }) + queue.append(Step { node: e.to }) + } + } + } + hops = if seen.has(route.to) { seen[route.to].depth } else { -1 } + reached = seen.count +} +view far = hops +view found = reached + +on frontier { + let queue: list of Step + for v in 0 .. nodes { + queue.append(Step { node: v }) + } + let total = 0 + for i in 0 .. nodes { + if i >= queue.count { break } + let q = queue.first + i + for e in edges[q.node * 1048576 .. q.node * 1048576 + 1048576] { + total = total + e.to + } + } + sum = total +} diff --git a/research/experiments/041-batches/search/search-run.c b/research/experiments/041-batches/search/search-run.c new file mode 100644 index 0000000..ea2b9e9 --- /dev/null +++ b/research/experiments/041-batches/search/search-run.c @@ -0,0 +1,81 @@ +/* research 130: the suite's graph (natural.h) loaded as suite-run.c loads it, then one handler run ROUNDS times. + * Built from the repository's root: cc -O2 -std=c17 -Icore -Iresearch/experiments/040-* (natural.h) FILE build/libpure.a -lm. + * frontier-run DIR ROUNDS: frontier.aup's frontier (each node's edges' to summed by a walk in a guarded loop); + * search-run DIR ROUNDS: graph.pmod's route (the suite's BFS), its best ms. Counted with 041's icount (ROUNDS 1 and 11). */ +/* Research 124's suite: kinds of work in one event each, Pure against C in + * this process on the same machine, the same inputs (each program draws them + * by MINSTD, x * 48271 mod 2^31 - 1, from seed 1, as its C does), the same + * answers (checked every round). The C is what one would write for the task: + * the same algorithm, its natural types (whole numbers as integers), qsort, + * a hash table with linear probing, snprintf. + * + * suite-run DIR ROUNDS [NAME...] a JSON line per round of each workload + * (Pure's ms, C's ms), then per workload the medians and Pure / C. DIR holds + * the workloads' modules (NAME.pmod; bfs: 033's graph.aup as graph.pmod; + * bfs_ahead: the same search against bfs.c read ahead, for context). + * Without NAMEs, all of them. PURE_JIT and PURE_AHEAD as the core reads them. */ +#define _POSIX_C_SOURCE 200809L +#include "module.h" +#include <stdbool.h> +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> + +static double now_ms(void) { + struct timespec t; + clock_gettime(CLOCK_MONOTONIC, &t); + return (double)t.tv_sec * 1e3 + (double)t.tv_nsec / 1e6; +} + +static int compare_doubles(const void *a, const void *b) { + double x = *(const double *)a, y = *(const double *)b; + return (x > y) - (x < y); +} + +#include "natural.h" + +/* The graph into the app (size, then the edges as rows) and into C's adjacency. */ +static bool load_graph(PureApp *app, const PureModule *m, uint32_t nodes, size_t edges) { + uint64_t *keys; + size_t unique = graph_build(nodes, edges, &keys); + unsigned char four[4]; + memcpy(four, &nodes, 4); + if (pure_app_message(app, (uint32_t)pure_module_input(m, "size"), NULL, -1, (PureSpan){four, 4}) != PURE_OK) return false; + enum { CHUNK = 65536 }; + double *rows = malloc(CHUNK * 2 * sizeof(*rows)); + for (size_t at = 0; at < unique; at += CHUNK) { + size_t n = unique - at < CHUNK ? unique - at : CHUNK; + for (size_t k = 0; k < n; ++k) rows[2 * k] = (double)keys[at + k], rows[2 * k + 1] = (double)(keys[at + k] & 0xFFFFF); + if (pure_app_message(app, (uint32_t)pure_module_input(m, "load"), NULL, -1, (PureSpan){(unsigned char *)rows, n * 16}) != + PURE_OK) + return false; + } + free(rows), free(keys); + return true; +} + + +/* search-run DIR ROUNDS: the suite's breadth first search (graph.pmod) ROUNDS times after the graph's load and one search + * (it packs the edges), from the nodes suite-run draws: hops and reached of the last. */ +int main(int argc, char **argv) { + static PureModule module; + static PureApp app; + char error[200], path[512]; + snprintf(path, sizeof(path), "%s/graph.pmod", argv[1]); + if (pure_module_read(path, &module, error, sizeof(error)) != PURE_OK) { fprintf(stderr, "%s\n", error); return 1; } + if (pure_app_start(&app, &module, (PureData){0}) != PURE_OK) return 1; + if (!load_graph(&app, &module, 100000, 1000000)) return 1; + int rounds = atoi(argv[2]), input = pure_module_input(&module, "route"), hops = pure_module_state(&module, "hops"), reached = pure_module_state(&module, "reached"); + double best = 1e9; + for (int r = 0; r <= rounds; ++r) { + uint32_t args[2] = {(uint32_t)(graph_next() % 100000), (uint32_t)(graph_next() % 100000)}; + double a = now_ms(); + PureResult result = pure_app_message(&app, (uint32_t)input, NULL, -1, (PureSpan){(unsigned char *)args, 8}); + double ms = now_ms() - a; + if (result != PURE_OK) { fprintf(stderr, "failed %s\n", pure_fault_name(app.fault)); return 1; } + if (r && ms < best) best = ms; + } + printf("{\"best_ms\":%.3f,\"hops\":%.17g,\"reached\":%.17g}\n", best, app.values[hops].num, app.values[reached].num); +} |
