Skip to content

feat: Add support for lubridate::month() #660

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

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?

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.

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?

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?

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.

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!

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.

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