tisonkun commented on PR #329: URL: https://github.com/apache/datasketches-rust/pull/329#issuecomment-6662110354
Before: `12dbf18`, the previous PR head. After: `c294258`, with the builder and item-count removal. All 45 workloads were run in optimized release and ThinLTO builds, with three samples each. Median changes range from -3.4% to +2.6% in release and -9.5% to +1.7% with ThinLTO. No workload shows a median slowdown above 3%. Apple M4 Max, 36 GiB, macOS 26.6.2; rustc 1.101.0-nightly (8006091eb). Commands: `cargo bench -p benchmarks --bench benchmarks -- xor:: --repeat 3 --raw --baseline-only`, repeated with `CARGO_PROFILE_BENCH_LTO=thin`. Input sets, fixed round counts, and timing boundaries are unchanged. Deduplication workloads use caller sorting before the change and the builder batch API after it. Benchmark binaries ran sequentially. <details> <summary>All measurements (milliseconds; three samples in measurement order)</summary> | Workload | Release before | Release after | ThinLTO before | ThinLTO after | | :------------------------------- | -------------: | ------------: | -------------: | ------------: | | `build::8_distinct/1000` | 313, 290, 294 | 316, 294, 297 | 318, 295, 294 | 324, 297, 297 | | `build::8_deduplicate/1000` | 335, 338, 334 | 344, 342, 341 | 343, 349, 345 | 347, 343, 347 | | `build::16_distinct/1000` | 295, 294, 295 | 292, 291, 290 | 296, 297, 296 | 301, 301, 300 | | `build::16_deduplicate/1000` | 335, 333, 339 | 341, 343, 342 | 344, 343, 344 | 348, 348, 347 | | `build::32_distinct/1000` | 298, 296, 296 | 296, 296, 295 | 294, 293, 294 | 297, 300, 294 | | `build::32_deduplicate/1000` | 342, 338, 338 | 342, 344, 341 | 344, 344, 343 | 349, 348, 347 | | `build::8_distinct/16384` | 341, 343, 339 | 343, 345, 344 | 346, 347, 347 | 349, 347, 348 | | `build::8_deduplicate/16384` | 240, 244, 239 | 240, 238, 239 | 242, 244, 244 | 241, 242, 244 | | `build::16_distinct/16384` | 371, 344, 344 | 345, 345, 346 | 349, 349, 348 | 347, 348, 346 | | `build::16_deduplicate/16384` | 234, 236, 233 | 240, 240, 239 | 243, 242, 243 | 241, 242, 240 | | `build::32_distinct/16384` | 346, 346, 348 | 348, 348, 349 | 351, 353, 349 | 350, 355, 350 | | `build::32_deduplicate/16384` | 235, 235, 235 | 240, 241, 239 | 243, 243, 242 | 242, 242, 241 | | `build::8_distinct/1000000` | 141, 141, 141 | 142, 142, 143 | 144, 142, 142 | 145, 140, 140 | | `build::8_deduplicate/1000000` | 142, 148, 144 | 142, 142, 142 | 143, 147, 143 | 143, 143, 144 | | `build::16_distinct/1000000` | 146, 142, 143 | 141, 143, 143 | 142, 142, 142 | 146, 143, 141 | | `build::16_deduplicate/1000000` | 142, 141, 140 | 143, 143, 142 | 143, 144, 144 | 144, 144, 145 | | `build::32_distinct/1000000` | 143, 142, 143 | 144, 142, 143 | 143, 142, 144 | 143, 143, 143 | | `build::32_deduplicate/1000000` | 146, 147, 145 | 143, 143, 144 | 144, 144, 145 | 145, 145, 145 | | `build_batches::8/128` | 260, 252, 256 | 260, 261, 265 | 251, 249, 250 | 253, 254, 252 | | `build_batches::8/16384` | 134, 134, 132 | 135, 132, 133 | 134, 133, 134 | 135, 135, 135 | | `build_batches::8/50000` | 159, 158, 157 | 159, 159, 158 | 160, 159, 158 | 160, 158, 158 | | `query::8_present/16384` | 250, 253, 253 | 252, 250, 251 | 250, 250, 245 | 248, 249, 249 | | `query::8_present/50000` | 226, 226, 226 | 226, 230, 225 | 226, 225, 220 | 227, 226, 226 | | `query::8_absent/16384` | 242, 241, 241 | 243, 246, 247 | 242, 244, 241 | 241, 242, 241 | | `query::8_absent/50000` | 219, 219, 219 | 221, 222, 221 | 219, 219, 218 | 219, 219, 219 | | `query::16_present/16384` | 249, 251, 252 | 255, 254, 255 | 252, 253, 253 | 253, 252, 254 | | `query::16_present/50000` | 241, 241, 240 | 242, 240, 242 | 240, 241, 241 | 243, 240, 239 | | `query::16_absent/16384` | 247, 249, 247 | 247, 247, 248 | 247, 246, 245 | 246, 248, 246 | | `query::16_absent/50000` | 237, 237, 237 | 239, 239, 239 | 238, 237, 238 | 237, 238, 237 | | `query::32_present/16384` | 252, 242, 240 | 243, 243, 243 | 243, 243, 243 | 242, 242, 241 | | `query::32_present/50000` | 251, 253, 253 | 251, 251, 252 | 254, 253, 253 | 251, 251, 250 | | `query::32_absent/16384` | 243, 241, 242 | 241, 242, 242 | 243, 242, 242 | 248, 242, 241 | | `query::32_absent/50000` | 258, 258, 259 | 255, 256, 255 | 255, 258, 255 | 255, 255, 255 | | `query_shards::8_present/128` | 265, 267, 261 | 262, 262, 264 | 261, 261, 261 | 263, 261, 262 | | `query_shards::8_absent/128` | 262, 263, 262 | 261, 264, 262 | 262, 262, 262 | 262, 261, 262 | | `query_shards::8_present/16384` | 329, 331, 329 | 323, 319, 323 | 332, 329, 332 | 326, 322, 326 | | `query_shards::8_absent/16384` | 324, 320, 326 | 324, 325, 325 | 328, 329, 330 | 324, 322, 324 | | `query_shards::16_present/128` | 269, 268, 268 | 266, 266, 265 | 267, 265, 266 | 267, 267, 267 | | `query_shards::16_absent/128` | 267, 266, 267 | 266, 266, 265 | 266, 266, 266 | 267, 267, 271 | | `query_shards::16_present/16384` | 341, 340, 339 | 333, 330, 332 | 341, 339, 339 | 336, 334, 336 | | `query_shards::16_absent/16384` | 337, 333, 337 | 342, 343, 341 | 338, 339, 337 | 334, 332, 334 | | `query_shards::32_present/128` | 264, 268, 268 | 260, 259, 259 | 263, 266, 265 | 263, 261, 260 | | `query_shards::32_absent/128` | 264, 264, 262 | 259, 260, 259 | 263, 262, 263 | 260, 261, 260 | | `query_shards::32_present/16384` | 343, 342, 344 | 335, 335, 336 | 362, 373, 368 | 339, 333, 333 | | `query_shards::32_absent/16384` | 336, 335, 339 | 336, 336, 339 | 349, 341, 342 | 337, 334, 337 | </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
