ci: Multiple random runs#3637
Conversation
| def all_combos() -> tuple[tuple[str, str, str, str], ...]: | ||
| return tuple( | ||
| (pd, np, pl, pa) | ||
| for pd, np in PANDAS_AND_NUMPY_VERSION | ||
| for pl in POLARS_VERSION | ||
| for pa in PYARROW_VERSION | ||
| ) |
There was a problem hiding this comment.
Hey, have you heard of these guys?
- https://docs.python.org/3/library/itertools.html#itertools.permutations
- https://docs.python.org/3/library/itertools.html#itertools.combinations
- https://docs.python.org/3/library/itertools.html#itertools.combinations_with_replacement
But wait ... there's more-itertools to steal 😉
There was a problem hiding this comment.
Remove completely to have all different versions in the different samples.
Aside that, I am aware but this was 1 extra line of code if you consider imports 🤣
Yeah I think if we go in this direction, each library should contribute |
So just to clarify that, here's the most recent and comparing where that sits alongside (https://github.com/narwhals-dev/narwhals/actions/metrics/performance): Truly cursed query
import polars as pl
pl.Config(fmt_str_lengths=60, tbl_rows=17, tbl_formatting="MARKDOWN")
df = pl.read_csv(
"b98fa657-9f9c-465c-83af-ad1cc611ef51.csv",
new_columns=["Workflow", "Has job failures", "Avg run time", "Workflow runs", "Jobs"],
).select(
pl.col("Workflow")
.str.strip_chars(r'"\'.')
.str.replace_many({"github/workflows/": "", "dynamic/dependabot/": ""}),
pl.duration(
minutes=pl.duration(milliseconds="Avg run time").dt.total_minutes(fractional=True)
).alias("Avg run time"),
)
df
Note This isn't an argument for/against btw |
Description
One quick experiment for #3623 as we have ~1min per run.
Question:
@dangotbanned we can also make it so that we take N different versions per library, not N different combos.
Here a unlucky case in which we got 4 times polars v1 (thse in screenshot + the failed one)
What type of PR is this? (check all applicable)
Related issues
generate_random_versions#3623