← Back to home
Comparison · Analytics

mlr3tuning vs patchwork

A side-by-side editorial comparison of mlr3tuning and patchwork — release velocity, themes, recent moves, and the top alternatives to consider.

mlr3tuning vs patchwork: at a glance

Featuremlr3tuningpatchwork
SectorAnalyticsAnalytics
Velocity score2.50.0
Sparks · 30d00
Top themesmlr3, hyperparameter-tuning, async-optimization, callbacksggplot2, composition, tables, layout
Last editorial update1h ago2h ago
WebsiteVisit →Visit →

What is mlr3tuning?

mlr3tuning is rebuilding its async machinery under a stable public surface

mlr3tuning provides hyperparameter optimization for the mlr3 ecosystem, and its recent history is dominated by the asynchronous tuning path: archive freezing, callback stages around queue evaluation, and version-locked compatibility with the rush backend. Releases pair a small feature with several fixes and an explicit compatibility line naming the mlr3 or rush version they track. The most recent release drops all workarounds for older rush versions, which suggests that dependency has stabilized enough to require rather than accommodate.

Read the full mlr3tuning trajectory →

What is patchwork?

patchwork stopped being a ggplot composer and became a page composer.

patchwork assembles plots into compositions with arithmetic operators, and the 1.x line has steadily hardened that grammar: guide and axis collection, free() to exempt a plot from alignment, inset_element() for overlays, and list-like behaviour so lapply() and length() work on a patchwork. Version 1.3.0 added native gt table support. The two releases since are a load-time warning fix and a compatibility pass for the next ggplot2 release.

Read the full patchwork trajectory →

mlr3tuning vs patchwork: editorial side-by-side

M
mlr3tuning
ANALYTICS
2.5

mlr3tuning is rebuilding its async machinery under a stable public surface

◆ Current state

mlr3tuning provides hyperparameter optimization for the mlr3 ecosystem, and its recent history is dominated by the asynchronous tuning path: archive freezing, callback stages around queue evaluation, and version-locked compatibility with the rush backend. Releases pair a small feature with several fixes and an explicit compatibility line naming the mlr3 or rush version they track. The most recent release drops all workarounds for older rush versions, which suggests that dependency has stabilized enough to require rather than accommodate.

◆ Where it's heading

Two things are being tidied at once. The async archive is converging on a consistent data.table representation across batch and async variants, so results are shaped the same regardless of how tuning ran. Separately, the package is becoming a better ecosystem citizen — unioning tuner properties on load instead of overwriting them, removing its callbacks on unload, and raising informative errors from AutoTuner accessors on an untrained model. Both are the marks of a package used as a dependency more than as a destination.

◆ Prediction

With rush pinned to 1.2.0 and the compatibility shims gone, the next release is likely to expose more of the async path through callbacks rather than change the tuning interface.

P
patchwork
ANALYTICS
0.0

patchwork stopped being a ggplot composer and became a page composer.

◆ Current state

patchwork assembles plots into compositions with arithmetic operators, and the 1.x line has steadily hardened that grammar: guide and axis collection, free() to exempt a plot from alignment, inset_element() for overlays, and list-like behaviour so lapply() and length() work on a patchwork. Version 1.3.0 added native gt table support. The two releases since are a load-time warning fix and a compatibility pass for the next ggplot2 release.

◆ Where it's heading

The centre of gravity is shifting from alignment mechanics to composition scope. Early releases were almost entirely bug fixes against grid and ggplot2 internals — strip placement, fixed aspect ratios, guide merging. Recent ones add object types and escape hatches instead. Between feature cycles the package is in maintenance defined by ggplot2's release calendar, which is what 1.3.1 is in its entirety.

◆ Prediction

Expect wrap_table() to grow beyond gt to other table objects, and expect the next substantive release to be triggered by a ggplot2 internals change rather than by a patchwork roadmap.

Alternatives to mlr3tuning and patchwork

Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either mlr3tuning or patchwork.

See all mlr3tuning alternatives → · See all patchwork alternatives →

Recent activity from mlr3tuning and patchwork

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 18d agomlr3tuningmlr3tuning 1.6.1 stops clobbering other packages' tuner properties
  2. 4mo agomlr3tuningmlr3tuning 1.6.0 aligns archive column order across tuning classes
  3. 8mo agomlr3tuningmlr3tuning 1.5.1 tracks xgboost 3.1.2.1
  4. 8mo agomlr3tuningmlr3tuning 1.5.0 adds queue evaluation stages to async callbacks
  5. 11mo agopatchworkFix spurious load-time warnings
  6. 1y agomlr3tuningmlr3tuning 1.4.0 unifies logging under a base mlr3 logger
  7. 1y agopatchworkCompatibility pass for the next ggplot2 release
  8. 1y agomlr3tuningmlr3tuning 1.3.0 adds a frozen async archive and leaner worker storage
  9. 1y agopatchworkgt tables become first-class patchwork objects
  10. 2y agopatchworkAxis collection and free() arrive
  11. 3y agopatchworkPatchworks behave like lists; NULL becomes a no-op
  12. 3y agopatchworkClearer error when plotting space is too small

Frequently asked questions

What is the difference between mlr3tuning and patchwork?

They serve adjacent needs but don't currently overlap on shipped themes. mlr3tuning is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is mlr3tuning better than patchwork?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. mlr3tuning is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.

What are the best alternatives to mlr3tuning?

Top mlr3tuning alternatives in Analytics are ranked by recent ship velocity. Browse the "mlr3tuning alternatives" section above for the current picks, or visit /alternatives/mlr3tuning for the full list with editorial commentary on each.

What are the best alternatives to patchwork?

Top patchwork alternatives in Analytics are ranked by recent ship velocity. Browse the "patchwork alternatives" section above for the current picks, or visit /alternatives/patchwork for the full list with editorial commentary on each.