Skip to content

Conversation

@andreranza
Copy link
Contributor

Closes #167.

@andreranza
Copy link
Contributor Author

After #658.

@krlmlr
Copy link
Member

krlmlr commented Mar 26, 2025

Thanks!

  • Would you like to add the translation of other similar functions?
  • Can you please add tests?

@github-actions
Copy link
Contributor

This is how benchmark results would change (along with a 95% confidence interval in relative change) if 0f1854f is merged into main:

  • ✔️001_tpch_01: 25.2ms -> 25.3ms [-4.4%, +5.62%]
  • ✔️001_tpch_02: 74.7ms -> 75.2ms [-1.2%, +2.69%]
  • ✔️001_tpch_03: 37.1ms -> 37.3ms [-1.82%, +2.75%]
  • ✔️001_tpch_04: 23.9ms -> 24.1ms [-1.79%, +3.49%]
  • ✔️001_tpch_05: 63.4ms -> 63.8ms [-1.59%, +2.74%]
  • ✔️001_tpch_06: 12.7ms -> 12.7ms [-2.58%, +2.35%]
  • ✔️001_tpch_07: 79.3ms -> 80.4ms [-0.44%, +3.36%]
  • ✔️001_tpch_08: 103ms -> 102ms [-2.52%, +1.4%]
  • ✔️001_tpch_09: 76.8ms -> 76.9ms [-1.73%, +2.01%]
  • ✔️001_tpch_10: 52.9ms -> 53.8ms [-0.18%, +3.78%]
  • ✔️001_tpch_11: 35.3ms -> 35.3ms [-1.87%, +1.68%]
  • ✔️001_tpch_12: 22ms -> 22ms [-1.99%, +1.9%]
  • ✔️001_tpch_13: 18.5ms -> 19.2ms [-1%, +8.85%]
  • ✔️001_tpch_14: 17.9ms -> 18ms [-2.65%, +2.98%]
  • ✔️001_tpch_15: 32.8ms -> 32.7ms [-1.78%, +0.9%]
  • ✔️001_tpch_16: 31.3ms -> 31.6ms [-0.63%, +2.12%]
  • ✔️001_tpch_17: 30ms -> 29.9ms [-1.76%, +1.01%]
  • ✔️001_tpch_18: 23.5ms -> 23.7ms [-1.15%, +3.1%]
  • ✔️001_tpch_19: 47.5ms -> 47.5ms [-1.81%, +2.06%]
  • ✔️001_tpch_20: 48ms -> 48ms [-1.3%, +1.44%]
  • ✔️001_tpch_21: 86.7ms -> 86.2ms [-2.1%, +0.82%]
  • ✔️001_tpch_22: 52.5ms -> 53.5ms [-1.59%, +5.39%]
  • 🚀010_tpch_01: 94.4ms -> 87.1ms [-12.48%, -3.13%]
  • ✔️010_tpch_02: 127ms -> 126ms [-2.99%, +2.44%]
  • ✔️010_tpch_03: 63ms -> 64.1ms [-0.46%, +4.07%]
  • ✔️010_tpch_04: 45.2ms -> 45.8ms [-0.63%, +3.2%]
  • ✔️010_tpch_05: 140ms -> 141ms [-0.18%, +2.56%]
  • ✔️010_tpch_06: 32.1ms -> 33.5ms [-6.87%, +15.57%]
  • ✔️010_tpch_07: 154ms -> 155ms [-1.91%, +2.61%]
  • ✔️010_tpch_08: 119ms -> 120ms [-1.35%, +2.9%]
  • ✔️010_tpch_09: 166ms -> 166ms [-1.57%, +1.48%]
  • ✔️010_tpch_10: 130ms -> 130ms [-4.09%, +2.78%]
  • ✔️010_tpch_11: 45.8ms -> 45.1ms [-4.63%, +1.69%]
  • ✔️010_tpch_12: 56ms -> 56.3ms [-0.84%, +1.95%]
  • ✔️010_tpch_13: 53.5ms -> 53.8ms [-1.11%, +2.18%]
  • 🚀010_tpch_14: 38.1ms -> 37.3ms [-3.32%, -0.89%]
  • ✔️010_tpch_15: 58.3ms -> 60.8ms [-2.33%, +11.15%]
  • ✔️010_tpch_16: 45.3ms -> 45ms [-3.26%, +1.9%]
  • ✔️010_tpch_17: 62ms -> 61.1ms [-4.44%, +1.5%]
  • ✔️010_tpch_18: 63.5ms -> 60.9ms [-9.87%, +1.6%]
  • ✔️010_tpch_19: 157ms -> 154ms [-6.01%, +2%]
  • ✔️010_tpch_20: 76.2ms -> 74.8ms [-4.53%, +0.89%]
  • ✔️010_tpch_21: 346ms -> 345ms [-2.94%, +2.59%]
  • ✔️010_tpch_22: 65.4ms -> 65.3ms [-1.97%, +1.62%]
  • ✔️100_tpch_01: 352ms -> 317ms [-25.91%, +6.07%]
  • ✔️100_tpch_02: 135ms -> 132ms [-13.54%, +8.1%]
  • ✔️100_tpch_03: 168ms -> 165ms [-11.57%, +7.94%]
  • 🚀100_tpch_04: 159ms -> 144ms [-13.61%, -4.59%]
  • ✔️100_tpch_05: 251ms -> 262ms [-10.19%, +18.76%]
  • ✔️100_tpch_06: 102ms -> 94ms [-29.49%, +14.31%]
  • ✔️100_tpch_07: 225ms -> 240ms [-4.48%, +18.18%]
  • ✔️100_tpch_08: 268ms -> 262ms [-8.25%, +3.88%]
  • ✔️100_tpch_09: 340ms -> 321ms [-15.6%, +4.92%]
  • 🚀100_tpch_10: 215ms -> 201ms [-11.77%, -0.82%]
  • ✔️100_tpch_11: 89.8ms -> 98.2ms [-15.19%, +33.92%]
  • ✔️100_tpch_12: 192ms -> 201ms [-7%, +16.14%]
  • ✔️100_tpch_13: 332ms -> 342ms [-4.05%, +10.1%]
  • ✔️100_tpch_14: 116ms -> 112ms [-10.54%, +4.4%]
  • ✔️100_tpch_15: 209ms -> 199ms [-14.63%, +5.16%]
  • ✔️100_tpch_16: 129ms -> 125ms [-11.71%, +6.17%]
  • ✔️100_tpch_17: 180ms -> 178ms [-11.02%, +8.89%]
  • ✔️100_tpch_18: 204ms -> 215ms [-6.09%, +17%]
  • ✔️100_tpch_19: 267ms -> 276ms [-6.91%, +13.94%]
  • ✔️100_tpch_20: 185ms -> 175ms [-15.74%, +4.45%]
  • 🚀100_tpch_21: 1.5s -> 1.43s [-9.05%, -0.29%]
  • ✔️100_tpch_22: 155ms -> 159ms [-2.2%, +7.24%]

Further explanation regarding interpretation and methodology can be found in the documentation.

@andreranza
Copy link
Contributor Author

Right. The contribution guide mentions that. Will add tests, too.
Happy to add more functions.

@github-actions
Copy link
Contributor

This is how benchmark results would change (along with a 95% confidence interval in relative change) if c346fb5 is merged into main:

  • ✔️001_tpch_01: 24.5ms -> 25.3ms [-1.08%, +7.41%]
  • ✔️001_tpch_02: 69.5ms -> 69.5ms [-1.04%, +1.24%]
  • ✔️001_tpch_03: 35.3ms -> 35.2ms [-1.66%, +1.08%]
  • ✔️001_tpch_04: 22.9ms -> 23.3ms [-0.68%, +3.74%]
  • ✔️001_tpch_05: 60.7ms -> 61ms [-0.54%, +1.63%]
  • ✔️001_tpch_06: 12.1ms -> 12ms [-3.38%, +1.93%]
  • ✔️001_tpch_07: 77.2ms -> 77.3ms [-1.25%, +1.68%]
  • ✔️001_tpch_08: 99.1ms -> 98.3ms [-2.11%, +0.56%]
  • ✔️001_tpch_09: 73.6ms -> 73.3ms [-1.27%, +0.71%]
  • ✔️001_tpch_10: 51.6ms -> 51.3ms [-1.49%, +0.52%]
  • ✔️001_tpch_11: 34.4ms -> 34.6ms [-1.03%, +2.29%]
  • ✔️001_tpch_12: 22.2ms -> 22.3ms [-1.66%, +2.02%]
  • ✔️001_tpch_13: 18.7ms -> 18.9ms [-1.52%, +3.67%]
  • ✔️001_tpch_14: 17.9ms -> 17.7ms [-2.85%, +0.56%]
  • ✔️001_tpch_15: 32.5ms -> 32.3ms [-2.21%, +1.44%]
  • 🚀001_tpch_16: 30.9ms -> 30ms [-4.2%, -1.66%]
  • ✔️001_tpch_17: 27.3ms -> 27.4ms [-1%, +1.57%]
  • ✔️001_tpch_18: 22.5ms -> 22.9ms [-0.77%, +3.73%]
  • ✔️001_tpch_19: 45.7ms -> 45.7ms [-0.92%, +0.88%]
  • ✔️001_tpch_20: 46.8ms -> 46.9ms [-0.47%, +1.23%]
  • ✔️001_tpch_21: 87ms -> 85.8ms [-2.82%, +0.25%]
  • ✔️001_tpch_22: 50.3ms -> 50.5ms [-0.39%, +1.15%]
  • ✔️010_tpch_01: 93.1ms -> 91.5ms [-7.52%, +4.17%]
  • ❗🐌010_tpch_02: 138ms -> 141ms [+0.42%, +3.87%]
  • ✔️010_tpch_03: 66.6ms -> 70.9ms [-4.13%, +16.99%]
  • ✔️010_tpch_04: 50.2ms -> 48.8ms [-5.97%, +0.6%]
  • ✔️010_tpch_05: 156ms -> 155ms [-2.71%, +2.01%]
  • ✔️010_tpch_06: 34.1ms -> 33.7ms [-8.75%, +6.83%]
  • ✔️010_tpch_07: 161ms -> 164ms [-0.87%, +4.55%]
  • ✔️010_tpch_08: 122ms -> 123ms [-0.86%, +3.03%]
  • ✔️010_tpch_09: 176ms -> 177ms [-0.95%, +2.03%]
  • ✔️010_tpch_10: 139ms -> 139ms [-2%, +1.5%]
  • ✔️010_tpch_11: 48.2ms -> 46.9ms [-5.79%, +0.33%]
  • ✔️010_tpch_12: 59.3ms -> 57.8ms [-6.58%, +1.42%]
  • ✔️010_tpch_13: 55.8ms -> 54.6ms [-5.25%, +1.15%]
  • ✔️010_tpch_14: 40.2ms -> 39.5ms [-6.19%, +2.9%]
  • ✔️010_tpch_15: 59ms -> 59.5ms [-6.55%, +8.25%]
  • 🚀010_tpch_16: 50.3ms -> 47.1ms [-9.94%, -2.94%]
  • ✔️010_tpch_17: 62.9ms -> 62.9ms [-3.12%, +3.38%]
  • ✔️010_tpch_18: 61.1ms -> 59.8ms [-7.88%, +3.48%]
  • ✔️010_tpch_19: 151ms -> 151ms [-1.9%, +1.71%]
  • ✔️010_tpch_20: 75.1ms -> 75ms [-5.1%, +4.97%]
  • ✔️010_tpch_21: 331ms -> 331ms [-2.45%, +2.07%]
  • ✔️010_tpch_22: 62.6ms -> 62.7ms [-2.8%, +3.15%]
  • ✔️100_tpch_01: 345ms -> 335ms [-14.59%, +8.84%]
  • ✔️100_tpch_02: 130ms -> 136ms [-11.47%, +20.11%]
  • ✔️100_tpch_03: 177ms -> 179ms [-3.3%, +5.75%]
  • ✔️100_tpch_04: 154ms -> 154ms [-11.46%, +11.4%]
  • ✔️100_tpch_05: 247ms -> 242ms [-12.16%, +7.65%]
  • ✔️100_tpch_06: 97.9ms -> 101ms [-15.87%, +22.3%]
  • 🚀100_tpch_07: 233ms -> 218ms [-10.73%, -2.58%]
  • ✔️100_tpch_08: 260ms -> 262ms [-8.88%, +10.46%]
  • ✔️100_tpch_09: 307ms -> 309ms [-12.01%, +13.43%]
  • ✔️100_tpch_10: 205ms -> 205ms [-13.52%, +13.47%]
  • ✔️100_tpch_11: 89.7ms -> 85.1ms [-29.69%, +19.29%]
  • ✔️100_tpch_12: 192ms -> 200ms [-8.03%, +15.67%]
  • ✔️100_tpch_13: 337ms -> 342ms [-2.16%, +5.44%]
  • ✔️100_tpch_14: 120ms -> 123ms [-12.45%, +17.51%]
  • ✔️100_tpch_15: 218ms -> 216ms [-7.28%, +5.59%]
  • 🚀100_tpch_16: 144ms -> 130ms [-14.51%, -5.64%]
  • ✔️100_tpch_17: 182ms -> 171ms [-13.78%, +1.7%]
  • ✔️100_tpch_18: 209ms -> 210ms [-1.17%, +2.26%]
  • ✔️100_tpch_19: 276ms -> 259ms [-22.9%, +10.56%]
  • ✔️100_tpch_20: 181ms -> 183ms [-4.39%, +6.82%]
  • ✔️100_tpch_21: 1.47s -> 1.48s [-4.63%, +6.29%]
  • ✔️100_tpch_22: 156ms -> 163ms [-5.31%, +14.44%]

Further explanation regarding interpretation and methodology can be found in the documentation.

@andreranza
Copy link
Contributor Author

Thanks, @krlmlr. I added one test and updated the vignette. Is this good enough? Am I missing something?

@github-actions
Copy link
Contributor

This is how benchmark results would change (along with a 95% confidence interval in relative change) if f523905 is merged into main:

  • ✔️001_tpch_01: 24.1ms -> 23.3ms [-7.35%, +0.93%]
  • ✔️001_tpch_02: 69.1ms -> 69.4ms [-0.93%, +1.99%]
  • 🚀001_tpch_03: 36.4ms -> 35.3ms [-5.22%, -0.49%]
  • ✔️001_tpch_04: 22.4ms -> 22.4ms [-1.77%, +1.33%]
  • ✔️001_tpch_05: 59.7ms -> 59.8ms [-0.91%, +1.23%]
  • ✔️001_tpch_06: 11.8ms -> 11.9ms [-1.38%, +3.26%]
  • ✔️001_tpch_07: 75.6ms -> 75.7ms [-1.22%, +1.44%]
  • ✔️001_tpch_08: 96.2ms -> 96.1ms [-0.91%, +0.77%]
  • ✔️001_tpch_09: 71.8ms -> 71.9ms [-1.72%, +2.11%]
  • ✔️001_tpch_10: 50.1ms -> 49.7ms [-2.63%, +1.05%]
  • ✔️001_tpch_11: 33.5ms -> 33.7ms [-0.22%, +1.36%]
  • ✔️001_tpch_12: 21.5ms -> 21.4ms [-0.94%, +0.68%]
  • ✔️001_tpch_13: 18.1ms -> 18ms [-1.97%, +1.04%]
  • ✔️001_tpch_14: 17.2ms -> 17.4ms [-0.23%, +1.75%]
  • ✔️001_tpch_15: 31.3ms -> 31.6ms [-0.62%, +2.58%]
  • ✔️001_tpch_16: 30.1ms -> 30.3ms [-0.26%, +1.35%]
  • ✔️001_tpch_17: 27.4ms -> 27.1ms [-3.22%, +1.1%]
  • ✔️001_tpch_18: 22.6ms -> 22.6ms [-1.91%, +1.52%]
  • ✔️001_tpch_19: 45.6ms -> 45.9ms [-0.56%, +1.91%]
  • ✔️001_tpch_20: 47.1ms -> 46.5ms [-2.52%, +0.15%]
  • ✔️001_tpch_21: 83.6ms -> 84.3ms [-0.49%, +2.08%]
  • ✔️001_tpch_22: 48.5ms -> 48.7ms [-1.83%, +2.37%]
  • ✔️010_tpch_01: 89.5ms -> 88.4ms [-6.28%, +3.88%]
  • ✔️010_tpch_02: 125ms -> 124ms [-2.38%, +0.86%]
  • ✔️010_tpch_03: 63.1ms -> 63.2ms [-1.14%, +1.64%]
  • ✔️010_tpch_04: 45.6ms -> 45.3ms [-2.18%, +1.05%]
  • ✔️010_tpch_05: 140ms -> 140ms [-0.83%, +1.27%]
  • ✔️010_tpch_06: 31.4ms -> 30ms [-9.03%, +0.45%]
  • ✔️010_tpch_07: 153ms -> 152ms [-2.73%, +1.91%]
  • ✔️010_tpch_08: 120ms -> 119ms [-3.44%, +2.42%]
  • ✔️010_tpch_09: 163ms -> 163ms [-0.73%, +1.35%]
  • ✔️010_tpch_10: 128ms -> 128ms [-2.11%, +1%]
  • ✔️010_tpch_11: 44.1ms -> 44ms [-2.24%, +1.96%]
  • ✔️010_tpch_12: 56.1ms -> 54.7ms [-6.13%, +1.39%]
  • ✔️010_tpch_13: 51.8ms -> 51.6ms [-1.59%, +0.84%]
  • ✔️010_tpch_14: 36.8ms -> 36.4ms [-2.89%, +1.03%]
  • ✔️010_tpch_15: 58.4ms -> 57.5ms [-8.77%, +5.66%]
  • ✔️010_tpch_16: 46.3ms -> 45.5ms [-4.76%, +1.22%]
  • ✔️010_tpch_17: 59.7ms -> 59.6ms [-4.33%, +3.98%]
  • ✔️010_tpch_18: 58.7ms -> 59.1ms [-6.25%, +7.78%]
  • ✔️010_tpch_19: 146ms -> 146ms [-1.06%, +1.49%]
  • ✔️010_tpch_20: 73.1ms -> 72.2ms [-6.06%, +3.5%]
  • ✔️010_tpch_21: 334ms -> 333ms [-2.01%, +1.67%]
  • ✔️010_tpch_22: 61ms -> 62.5ms [-2.3%, +7.21%]
  • ✔️100_tpch_01: 379ms -> 362ms [-16.5%, +7.36%]
  • ✔️100_tpch_02: 132ms -> 133ms [-13.45%, +14.26%]
  • ✔️100_tpch_03: 169ms -> 168ms [-11.64%, +10.69%]
  • ✔️100_tpch_04: 159ms -> 149ms [-16.42%, +3.32%]
  • ✔️100_tpch_05: 260ms -> 240ms [-15.93%, +0.91%]
  • ✔️100_tpch_06: 100ms -> 94.2ms [-17.9%, +6.33%]
  • ✔️100_tpch_07: 230ms -> 231ms [-7.01%, +7.58%]
  • ✔️100_tpch_08: 252ms -> 264ms [-8.86%, +18.31%]
  • ✔️100_tpch_09: 325ms -> 317ms [-14.01%, +9.54%]
  • ✔️100_tpch_10: 196ms -> 208ms [-5.33%, +17.49%]
  • ✔️100_tpch_11: 83.6ms -> 85.8ms [-10.68%, +15.99%]
  • ✔️100_tpch_12: 190ms -> 201ms [-3.42%, +14.62%]
  • ✔️100_tpch_13: 327ms -> 333ms [-4.57%, +8.37%]
  • ✔️100_tpch_14: 120ms -> 118ms [-19.56%, +15.66%]
  • ✔️100_tpch_15: 214ms -> 214ms [-6.28%, +6.56%]
  • ✔️100_tpch_16: 132ms -> 137ms [-0.93%, +8.48%]
  • ✔️100_tpch_17: 170ms -> 181ms [-1.53%, +13.98%]
  • ✔️100_tpch_18: 205ms -> 207ms [-8.08%, +9.96%]
  • ✔️100_tpch_19: 265ms -> 271ms [-11.39%, +15.69%]
  • ✔️100_tpch_20: 183ms -> 169ms [-16.81%, +1.92%]
  • ✔️100_tpch_21: 1.48s -> 1.44s [-7.22%, +1.74%]
  • ✔️100_tpch_22: 166ms -> 152ms [-23.91%, +6.25%]

Further explanation regarding interpretation and methodology can be found in the documentation.

@krlmlr
Copy link
Member

krlmlr commented Apr 11, 2025

Thanks. Tests failed with the last run, let's see. What about day() and year() and perhaps other accessors?

@github-actions
Copy link
Contributor

This is how benchmark results would change (along with a 95% confidence interval in relative change) if 07d4258 is merged into main:

  • ✔️001_tpch_01: 24.6ms -> 24.3ms [-5.86%, +3.12%]
  • ✔️001_tpch_02: 70.9ms -> 71.1ms [-1.2%, +1.87%]
  • ✔️001_tpch_03: 35.7ms -> 35.6ms [-1.72%, +1.63%]
  • ✔️001_tpch_04: 23.2ms -> 23.8ms [-0.24%, +5.97%]
  • ✔️001_tpch_05: 60.7ms -> 61.4ms [-0.92%, +3.19%]
  • ❗🐌001_tpch_06: 11.9ms -> 12.6ms [+1.56%, +8.76%]
  • ✔️001_tpch_07: 77ms -> 77.4ms [-0.76%, +1.95%]
  • ✔️001_tpch_08: 98.3ms -> 97.7ms [-1.76%, +0.56%]
  • ✔️001_tpch_09: 73.8ms -> 73.7ms [-1.56%, +1.18%]
  • ✔️001_tpch_10: 51.8ms -> 51ms [-3.39%, +0.29%]
  • ✔️001_tpch_11: 34.4ms -> 34.5ms [-0.84%, +1.32%]
  • ✔️001_tpch_12: 22.4ms -> 22.3ms [-2.56%, +1.6%]
  • ✔️001_tpch_13: 19.4ms -> 19.4ms [-3.67%, +3.43%]
  • ✔️001_tpch_14: 18ms -> 18ms [-1.76%, +1.53%]
  • ✔️001_tpch_15: 32.4ms -> 32.2ms [-1.81%, +1.02%]
  • ✔️001_tpch_16: 31.9ms -> 31.7ms [-2.7%, +1.36%]
  • ✔️001_tpch_17: 28.8ms -> 29ms [-0.56%, +2.11%]
  • ✔️001_tpch_18: 23.6ms -> 23.9ms [-0.81%, +3.59%]
  • ✔️001_tpch_19: 47.5ms -> 47.9ms [-1.13%, +3.01%]
  • ✔️001_tpch_20: 48.9ms -> 48.6ms [-2.16%, +1.17%]
  • ✔️001_tpch_21: 87.3ms -> 86.8ms [-1.98%, +0.72%]
  • ✔️001_tpch_22: 50.5ms -> 51ms [-0.69%, +2.81%]
  • ✔️010_tpch_01: 88.2ms -> 91.2ms [-2.18%, +9.15%]
  • ✔️010_tpch_02: 125ms -> 125ms [-2.03%, +1.67%]
  • ✔️010_tpch_03: 64ms -> 63.6ms [-1.42%, +0.31%]
  • ✔️010_tpch_04: 45.9ms -> 46.5ms [-0.3%, +2.84%]
  • ✔️010_tpch_05: 141ms -> 141ms [-2.83%, +2.63%]
  • ✔️010_tpch_06: 32.4ms -> 31.7ms [-8.21%, +3.82%]
  • ✔️010_tpch_07: 152ms -> 151ms [-2.23%, +1.37%]
  • ✔️010_tpch_08: 120ms -> 119ms [-2.29%, +1.16%]
  • ✔️010_tpch_09: 163ms -> 163ms [-0.91%, +1.41%]
  • ✔️010_tpch_10: 129ms -> 128ms [-2.43%, +0.78%]
  • 🚀010_tpch_11: 45.4ms -> 44.2ms [-4.68%, -0.78%]
  • ✔️010_tpch_12: 56.6ms -> 55.5ms [-5.27%, +1.13%]
  • ✔️010_tpch_13: 54ms -> 53.8ms [-5.91%, +5.19%]
  • ✔️010_tpch_14: 37.1ms -> 37.9ms [-2.11%, +6.18%]
  • ✔️010_tpch_15: 56.1ms -> 55.7ms [-8.69%, +7.17%]
  • ✔️010_tpch_16: 45.9ms -> 45.7ms [-2.62%, +1.56%]
  • ✔️010_tpch_17: 59.6ms -> 59ms [-2.9%, +1.04%]
  • ✔️010_tpch_18: 60.9ms -> 58.6ms [-11.4%, +3.65%]
  • ❗🐌010_tpch_19: 142ms -> 144ms [+0.15%, +2.49%]
  • ✔️010_tpch_20: 73.1ms -> 73.2ms [-2.6%, +3.07%]
  • ✔️010_tpch_21: 329ms -> 328ms [-2.6%, +2.17%]
  • ✔️010_tpch_22: 64.6ms -> 63.1ms [-5.68%, +1.12%]
  • ✔️100_tpch_01: 365ms -> 375ms [-10.24%, +15.74%]
  • ✔️100_tpch_02: 131ms -> 129ms [-4.94%, +2%]
  • ✔️100_tpch_03: 175ms -> 171ms [-30.84%, +26.33%]
  • ✔️100_tpch_04: 154ms -> 160ms [-19.96%, +27.22%]
  • ✔️100_tpch_05: 244ms -> 241ms [-11.22%, +8.39%]
  • ✔️100_tpch_06: 94.5ms -> 111ms [-21.08%, +55.38%]
  • ✔️100_tpch_07: 235ms -> 225ms [-14.41%, +6.21%]
  • ✔️100_tpch_08: 264ms -> 267ms [-2.35%, +4.42%]
  • ✔️100_tpch_09: 311ms -> 317ms [-12.2%, +16.24%]
  • ✔️100_tpch_10: 212ms -> 214ms [-2.67%, +4.09%]
  • ✔️100_tpch_11: 90.1ms -> 84ms [-29.01%, +15.61%]
  • ✔️100_tpch_12: 193ms -> 197ms [-15.96%, +20.28%]
  • ✔️100_tpch_13: 336ms -> 337ms [-10.67%, +11.52%]
  • ✔️100_tpch_14: 117ms -> 121ms [-5.38%, +12.87%]
  • ✔️100_tpch_15: 193ms -> 215ms [-3.28%, +25.48%]
  • ✔️100_tpch_16: 134ms -> 133ms [-3.44%, +2.05%]
  • ✔️100_tpch_17: 180ms -> 176ms [-10.99%, +6.07%]
  • ✔️100_tpch_18: 205ms -> 208ms [-2.67%, +4.77%]
  • ✔️100_tpch_19: 262ms -> 275ms [-13.85%, +24.07%]
  • ✔️100_tpch_20: 175ms -> 167ms [-13.37%, +4.23%]
  • ✔️100_tpch_21: 1.42s -> 1.44s [-3.92%, +5.72%]
  • ✔️100_tpch_22: 154ms -> 154ms [-3.76%, +4.48%]

Further explanation regarding interpretation and methodology can be found in the documentation.

@andreranza
Copy link
Contributor Author

Thank you, @krlmlr.

@github-actions
Copy link
Contributor

This is how benchmark results would change (along with a 95% confidence interval in relative change) if 8fb1f55 is merged into main:

  • ❗🐌001_tpch_01: 24.5ms -> 25.8ms [+0.14%, +10.46%]
  • ✔️001_tpch_02: 74.5ms -> 73.8ms [-4.36%, +2.49%]
  • ✔️001_tpch_03: 36.8ms -> 36.8ms [-3.17%, +3.34%]
  • ✔️001_tpch_04: 23.8ms -> 23.6ms [-3.14%, +1.73%]
  • ✔️001_tpch_05: 65.6ms -> 65.6ms [-4.16%, +4.1%]
  • ✔️001_tpch_06: 12.8ms -> 12.9ms [-2.81%, +3.36%]
  • ✔️001_tpch_07: 82.3ms -> 81.7ms [-5.04%, +3.59%]
  • ✔️001_tpch_08: 102ms -> 102ms [-2.65%, +2.19%]
  • ✔️001_tpch_09: 75.6ms -> 76.1ms [-0.96%, +2.34%]
  • ✔️001_tpch_10: 55.6ms -> 54.2ms [-7.73%, +2.61%]
  • ✔️001_tpch_11: 37.1ms -> 36.7ms [-3.75%, +1.88%]
  • ✔️001_tpch_12: 23ms -> 23.6ms [-0.74%, +6.28%]
  • ❗🐌001_tpch_13: 19ms -> 19.7ms [+0.26%, +6.73%]
  • ✔️001_tpch_14: 18.7ms -> 18.3ms [-5.58%, +1.33%]
  • ✔️001_tpch_15: 34.6ms -> 34.1ms [-4.29%, +1.49%]
  • ✔️001_tpch_16: 32.4ms -> 32.7ms [-2.4%, +3.96%]
  • ✔️001_tpch_17: 29ms -> 28.9ms [-2.67%, +2.15%]
  • ✔️001_tpch_18: 24.6ms -> 24.4ms [-3.99%, +2.59%]
  • ✔️001_tpch_19: 50.1ms -> 51.5ms [-2.32%, +8.06%]
  • ✔️001_tpch_20: 49.2ms -> 49.8ms [-0.93%, +3.32%]
  • ✔️001_tpch_21: 90.9ms -> 90.4ms [-3.5%, +2.3%]
  • ✔️001_tpch_22: 52.2ms -> 52.6ms [-3.31%, +5.18%]
  • ✔️010_tpch_01: 91ms -> 96.2ms [-0.11%, +11.47%]
  • ✔️010_tpch_02: 140ms -> 133ms [-12.03%, +3.19%]
  • ❗🐌010_tpch_03: 66.4ms -> 68.9ms [+0.24%, +7.32%]
  • ✔️010_tpch_04: 49ms -> 49.3ms [-2.08%, +3.33%]
  • ✔️010_tpch_05: 162ms -> 168ms [-8.27%, +14.57%]
  • ✔️010_tpch_06: 35.1ms -> 33.5ms [-14.47%, +5.4%]
  • ✔️010_tpch_07: 177ms -> 170ms [-12.61%, +5.13%]
  • 🚀010_tpch_08: 127ms -> 122ms [-8.81%, -0.07%]
  • ✔️010_tpch_09: 178ms -> 174ms [-8.75%, +4.35%]
  • ✔️010_tpch_10: 148ms -> 138ms [-16.82%, +4.21%]
  • ✔️010_tpch_11: 46.7ms -> 45.6ms [-5.02%, +0.48%]
  • ✔️010_tpch_12: 57.2ms -> 58.1ms [-1.74%, +4.97%]
  • 🚀010_tpch_13: 57.1ms -> 53.6ms [-10.09%, -2.18%]
  • ✔️010_tpch_14: 40.5ms -> 39.1ms [-7.76%, +1.19%]
  • ✔️010_tpch_15: 61.2ms -> 60.9ms [-8.6%, +7.57%]
  • ✔️010_tpch_16: 52ms -> 49.4ms [-15.52%, +5.52%]
  • ✔️010_tpch_17: 62.7ms -> 62.4ms [-3.87%, +2.95%]
  • ✔️010_tpch_18: 60.9ms -> 59.7ms [-7.29%, +3.55%]
  • ✔️010_tpch_19: 160ms -> 153ms [-10.08%, +1.22%]
  • ✔️010_tpch_20: 74.6ms -> 75.9ms [-0.34%, +3.8%]
  • ✔️010_tpch_21: 347ms -> 347ms [-3.37%, +3.12%]
  • ✔️010_tpch_22: 122ms -> 132ms [-3.38%, +19.8%]
  • ✔️100_tpch_01: 323ms -> 350ms [-6.95%, +23.46%]
  • ✔️100_tpch_02: 140ms -> 138ms [-3.56%, +0.63%]
  • ✔️100_tpch_03: 179ms -> 189ms [-9.39%, +20.09%]
  • ✔️100_tpch_04: 152ms -> 152ms [-12.62%, +13.47%]
  • ✔️100_tpch_05: 254ms -> 277ms [-7.61%, +25.65%]
  • ✔️100_tpch_06: 106ms -> 105ms [-22.63%, +19.9%]
  • ✔️100_tpch_07: 244ms -> 238ms [-11.28%, +6.43%]
  • ✔️100_tpch_08: 271ms -> 267ms [-9.07%, +6.09%]
  • ✔️100_tpch_09: 341ms -> 350ms [-3.6%, +8.47%]
  • ✔️100_tpch_10: 229ms -> 221ms [-8.46%, +1.54%]
  • ✔️100_tpch_11: 95ms -> 100ms [-15.19%, +25.7%]
  • ✔️100_tpch_12: 197ms -> 191ms [-16.94%, +11.05%]
  • ✔️100_tpch_13: 389ms -> 373ms [-13.38%, +5.54%]
  • ✔️100_tpch_14: 123ms -> 125ms [-6.08%, +8.13%]
  • 🚀100_tpch_15: 226ms -> 214ms [-9.87%, -0.53%]
  • ✔️100_tpch_16: 147ms -> 149ms [-4.53%, +7.16%]
  • ✔️100_tpch_17: 184ms -> 195ms [-7.62%, +19.3%]
  • ✔️100_tpch_18: 223ms -> 227ms [-10.15%, +13.53%]
  • ✔️100_tpch_19: 271ms -> 283ms [-4.52%, +13.4%]
  • ✔️100_tpch_20: 187ms -> 178ms [-14.97%, +5.71%]
  • ✔️100_tpch_21: 1.58s -> 1.52s [-14.24%, +6.85%]
  • ✔️100_tpch_22: 162ms -> 168ms [-8.74%, +15.9%]

Further explanation regarding interpretation and methodology can be found in the documentation.

@andreranza
Copy link
Contributor Author

Still failing:

  ── Error ('test-as_duckplyr_df.R:1656:3'): as_duckplyr_df_impl() and mutate(d = month(d)) ──
  Error in `mutate(., d = month(d))`: Function `month()` not found.
  Backtrace:

Didn't get it running tests locally, IIRC. Do I need lubridate:: in tests? Will double check soon

@krlmlr
Copy link
Member

krlmlr commented Apr 16, 2025

Yes, we need lubridate::month() . All relevant PRs are in. Having all new functions in this PR sounds good.

@andreranza
Copy link
Contributor Author

Seeing some type mismatch using lubridate::day() on dplyr (returning integer) and duckdb (double). Trying to find my way out, otherwise @krlmlr I'll seek for your guidance. Thank you!

@github-actions
Copy link
Contributor

This is how benchmark results would change (along with a 95% confidence interval in relative change) if 212f8b5 is merged into main:

  • ✔️001_tpch_01: 23.1ms -> 23.3ms [-3.51%, +5.29%]
  • ✔️001_tpch_02: 66.9ms -> 66.3ms [-2.13%, +0.46%]
  • ✔️001_tpch_03: 34.2ms -> 35.4ms [-1.87%, +8.96%]
  • ✔️001_tpch_04: 22ms -> 22.1ms [-0.92%, +2.1%]
  • ✔️001_tpch_05: 58.6ms -> 58.5ms [-1.33%, +1.07%]
  • ❗🐌001_tpch_06: 11.6ms -> 12ms [+0.67%, +5.19%]
  • ✔️001_tpch_07: 74.6ms -> 74.5ms [-0.9%, +0.69%]
  • ✔️001_tpch_08: 95.8ms -> 95.6ms [-1.05%, +0.47%]
  • ✔️001_tpch_09: 71ms -> 71.4ms [-0.22%, +1.27%]
  • ✔️001_tpch_10: 49.2ms -> 49.5ms [-0.91%, +2.14%]
  • ✔️001_tpch_11: 34ms -> 33.9ms [-1.77%, +1%]
  • ✔️001_tpch_12: 21.5ms -> 21.5ms [-0.96%, +0.78%]
  • ✔️001_tpch_13: 18ms -> 18.1ms [-0.96%, +1.98%]
  • ✔️001_tpch_14: 17.4ms -> 17.3ms [-1.77%, +0.77%]
  • ✔️001_tpch_15: 31.6ms -> 31.4ms [-2.2%, +0.75%]
  • ✔️001_tpch_16: 30.3ms -> 30.5ms [-0.33%, +2.01%]
  • ✔️001_tpch_17: 27.2ms -> 27.2ms [-1.16%, +0.72%]
  • ✔️001_tpch_18: 22.7ms -> 22.2ms [-5.24%, +0.75%]
  • ✔️001_tpch_19: 45.1ms -> 44.9ms [-1.91%, +1.02%]
  • ✔️001_tpch_20: 46.7ms -> 46.8ms [-1.28%, +1.52%]
  • ✔️001_tpch_21: 83.7ms -> 83.9ms [-1.5%, +1.97%]
  • ✔️001_tpch_22: 47.8ms -> 47.5ms [-1.8%, +0.5%]
  • ✔️010_tpch_01: 87.5ms -> 86ms [-8.51%, +5.09%]
  • ✔️010_tpch_02: 119ms -> 121ms [-0.57%, +3.73%]
  • ✔️010_tpch_03: 62.3ms -> 62.9ms [-1.13%, +3.11%]
  • ✔️010_tpch_04: 46.9ms -> 44.8ms [-9.34%, +0.61%]
  • ✔️010_tpch_05: 135ms -> 135ms [-2.57%, +2.5%]
  • ✔️010_tpch_06: 32.1ms -> 32.2ms [-7.26%, +8.07%]
  • ✔️010_tpch_07: 145ms -> 147ms [-0.9%, +3.59%]
  • ✔️010_tpch_08: 118ms -> 117ms [-2.41%, +0.79%]
  • ✔️010_tpch_09: 159ms -> 158ms [-2.22%, +1.25%]
  • ✔️010_tpch_10: 125ms -> 123ms [-4.58%, +1.07%]
  • ✔️010_tpch_11: 44.8ms -> 44.8ms [-2.91%, +3.03%]
  • ✔️010_tpch_12: 54.6ms -> 54.2ms [-6.22%, +4.7%]
  • ✔️010_tpch_13: 51.3ms -> 54ms [-4.23%, +14.93%]
  • ✔️010_tpch_14: 37.4ms -> 36.5ms [-7.8%, +3.14%]
  • ✔️010_tpch_15: 56.6ms -> 58.3ms [-6.31%, +12.17%]
  • ✔️010_tpch_16: 44.3ms -> 44.3ms [-3.49%, +3.68%]
  • ✔️010_tpch_17: 57.9ms -> 59.2ms [-2.17%, +6.62%]
  • ✔️010_tpch_18: 54.4ms -> 54.8ms [-4.01%, +5.63%]
  • ✔️010_tpch_19: 138ms -> 136ms [-4.35%, +1.17%]
  • ✔️010_tpch_20: 71.7ms -> 70.8ms [-4.38%, +1.86%]
  • ✔️010_tpch_21: 319ms -> 322ms [-1.3%, +3.62%]
  • ✔️010_tpch_22: 109ms -> 111ms [-0.93%, +3.09%]
  • ✔️100_tpch_01: 337ms -> 356ms [-15.92%, +27.3%]
  • ✔️100_tpch_02: 128ms -> 126ms [-13.27%, +10.31%]
  • ✔️100_tpch_03: 170ms -> 176ms [-13.78%, +20.76%]
  • ✔️100_tpch_04: 145ms -> 151ms [-7.2%, +14.35%]
  • ✔️100_tpch_05: 246ms -> 246ms [-11.01%, +11.18%]
  • ✔️100_tpch_06: 98.7ms -> 103ms [-9.56%, +18.87%]
  • ✔️100_tpch_07: 221ms -> 234ms [-3.44%, +14.94%]
  • ✔️100_tpch_08: 258ms -> 272ms [-5.39%, +15.59%]
  • ✔️100_tpch_09: 312ms -> 325ms [-12.08%, +20.01%]
  • ✔️100_tpch_10: 204ms -> 209ms [-6.27%, +11.37%]
  • ✔️100_tpch_11: 86.1ms -> 80.6ms [-30.38%, +17.81%]
  • ✔️100_tpch_12: 200ms -> 194ms [-9.51%, +3.52%]
  • ✔️100_tpch_13: 332ms -> 347ms [-19.31%, +28.38%]
  • ✔️100_tpch_14: 115ms -> 118ms [-13.21%, +17.77%]
  • ✔️100_tpch_15: 204ms -> 213ms [-3.88%, +12.41%]
  • ✔️100_tpch_16: 129ms -> 127ms [-7.32%, +3.41%]
  • ✔️100_tpch_17: 179ms -> 185ms [-4.99%, +11.33%]
  • ✔️100_tpch_18: 208ms -> 209ms [-2%, +2.96%]
  • ✔️100_tpch_19: 269ms -> 246ms [-21.98%, +4.4%]
  • ✔️100_tpch_20: 181ms -> 175ms [-10.64%, +3.85%]
  • ✔️100_tpch_21: 1.37s -> 1.39s [-3.33%, +5.65%]
  • ✔️100_tpch_22: 156ms -> 149ms [-11.98%, +2.97%]

Further explanation regarding interpretation and methodology can be found in the documentation.

@github-actions
Copy link
Contributor

This is how benchmark results would change (along with a 95% confidence interval in relative change) if e23796d is merged into main:

  • ✔️001_tpch_01: 47.5ms -> 48.2ms [-0.39%, +3.41%]
  • ✔️001_tpch_02: 87.3ms -> 87.6ms [-0.91%, +1.55%]
  • ✔️001_tpch_03: 59.8ms -> 59.4ms [-2.1%, +0.57%]
  • ✔️001_tpch_04: 34.8ms -> 34.9ms [-0.61%, +1.45%]
  • ✔️001_tpch_05: 84.9ms -> 85.1ms [-0.78%, +1.24%]
  • ✔️001_tpch_06: 41.8ms -> 41.7ms [-1.57%, +1.17%]
  • ✔️001_tpch_07: 147ms -> 147ms [-1.07%, +0.29%]
  • ✔️001_tpch_08: 145ms -> 145ms [-0.72%, +0.84%]
  • ✔️001_tpch_09: 92.2ms -> 91.5ms [-1.85%, +0.39%]
  • ✔️001_tpch_10: 74.2ms -> 74.6ms [-0.25%, +1.33%]
  • ✔️001_tpch_11: 57.8ms -> 57.7ms [-0.88%, +0.53%]
  • ✔️001_tpch_12: 99.5ms -> 99.3ms [-1.17%, +0.83%]
  • ✔️001_tpch_13: 36.5ms -> 36.5ms [-1.29%, +1.25%]
  • ✔️001_tpch_14: 59.2ms -> 58.9ms [-1.25%, +0.16%]
  • ✔️001_tpch_15: 68ms -> 67.6ms [-1.37%, +0.26%]
  • ✔️001_tpch_16: 103ms -> 103ms [-0.61%, +1.29%]
  • ✔️001_tpch_17: 52.3ms -> 51.9ms [-1.98%, +0.44%]
  • ✔️001_tpch_18: 29.8ms -> 29.7ms [-1.35%, +1.2%]
  • ✔️001_tpch_19: 320ms -> 320ms [-0.73%, +0.8%]
  • ✔️001_tpch_20: 77.3ms -> 77.4ms [-0.87%, +1.11%]
  • ✔️001_tpch_21: 128ms -> 129ms [-0.13%, +1.62%]
  • ✔️001_tpch_22: 258ms -> 258ms [-0.67%, +0.39%]
  • ✔️010_tpch_01: 113ms -> 114ms [-1.73%, +3.42%]
  • ✔️010_tpch_02: 149ms -> 151ms [-2.41%, +4.86%]
  • ✔️010_tpch_03: 90.5ms -> 90.3ms [-2.66%, +2.36%]
  • ✔️010_tpch_04: 59.3ms -> 59.7ms [-0.85%, +2.41%]
  • ✔️010_tpch_05: 173ms -> 170ms [-4.77%, +0.7%]
  • ✔️010_tpch_06: 62.7ms -> 62.4ms [-4.46%, +3.54%]
  • ✔️010_tpch_07: 231ms -> 230ms [-2.84%, +2.06%]
  • ✔️010_tpch_08: 167ms -> 167ms [-1.59%, +1.83%]
  • ✔️010_tpch_09: 186ms -> 188ms [-1.07%, +3.15%]
  • ✔️010_tpch_10: 156ms -> 158ms [-1.54%, +3.41%]
  • ✔️010_tpch_11: 69.2ms -> 69.7ms [-1.74%, +3.26%]
  • ✔️010_tpch_12: 135ms -> 134ms [-1.94%, +1.58%]
  • ✔️010_tpch_13: 71.9ms -> 71.9ms [-2.08%, +2.23%]
  • ✔️010_tpch_14: 78.7ms -> 79.6ms [-0.33%, +2.49%]
  • ✔️010_tpch_15: 93.3ms -> 95.7ms [-1.32%, +6.43%]
  • ✔️010_tpch_16: 118ms -> 117ms [-1.65%, +0.64%]
  • 🚀010_tpch_17: 86.1ms -> 83.5ms [-5.71%, -0.2%]
  • ✔️010_tpch_18: 64.8ms -> 63.3ms [-7.37%, +2.64%]
  • ✔️010_tpch_19: 419ms -> 417ms [-1.93%, +1.2%]
  • ✔️010_tpch_20: 102ms -> 103ms [-1.23%, +2.49%]
  • ✔️010_tpch_21: 376ms -> 378ms [-2.33%, +3.53%]
  • ✔️010_tpch_22: 328ms -> 330ms [-1.39%, +2.21%]
  • ✔️100_tpch_01: 374ms -> 337ms [-25.26%, +5.79%]
  • ✔️100_tpch_02: 151ms -> 149ms [-7.26%, +4.44%]
  • ✔️100_tpch_03: 198ms -> 198ms [-9.7%, +9.44%]
  • ✔️100_tpch_04: 166ms -> 167ms [-8.53%, +10.39%]
  • ✔️100_tpch_05: 265ms -> 270ms [-6.74%, +10.97%]
  • ✔️100_tpch_06: 131ms -> 126ms [-11.66%, +3.98%]
  • ✔️100_tpch_07: 298ms -> 304ms [-1.58%, +5.87%]
  • ✔️100_tpch_08: 313ms -> 302ms [-11.49%, +4.51%]
  • ✔️100_tpch_09: 342ms -> 323ms [-12.18%, +1.04%]
  • ✔️100_tpch_10: 224ms -> 225ms [-8.48%, +9.73%]
  • ✔️100_tpch_11: 111ms -> 112ms [-7.6%, +7.89%]
  • ✔️100_tpch_12: 268ms -> 263ms [-9.71%, +5.61%]
  • ✔️100_tpch_13: 349ms -> 347ms [-5.52%, +4.14%]
  • ✔️100_tpch_14: 158ms -> 159ms [-8.42%, +9.29%]
  • ✔️100_tpch_15: 238ms -> 243ms [-6.25%, +10.55%]
  • ✔️100_tpch_16: 207ms -> 207ms [-5.16%, +5.41%]
  • ✔️100_tpch_17: 207ms -> 208ms [-5.54%, +6.46%]
  • ✔️100_tpch_18: 218ms -> 213ms [-6.5%, +1.99%]
  • ✔️100_tpch_19: 538ms -> 532ms [-6.19%, +3.96%]
  • ✔️100_tpch_20: 208ms -> 208ms [-1.83%, +2.47%]
  • ✔️100_tpch_21: 1.45s -> 1.47s [-0.05%, +3.07%]
  • ✔️100_tpch_22: 368ms -> 369ms [-1.13%, +1.4%]

Further explanation regarding interpretation and methodology can be found in the documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

duckplyr does not support lubridate

2 participants