Skip to content

Benchmarks ​

Count Patchula against Renovate 44.173.1 on six large public repositories, looking up updates without writing anything. Each tool ran each repository alone on the same c7i.xlarge (4 vCPU, 8 GiB), first cold, then warm.

Count PatchulaRenovate
All six, cold150.5 s920.6 s6.1× faster
All six, warm14.8 s274.3 s18.5× faster
Peak memory, grafana cold494 MB3.6 GB7.3× less

Per repository ​

Wall time and peak memory.

RepositoryPatchula coldPatchula warmRenovate coldRenovate warm
mastodon/mastodon16.6 s, 383 MB2.0 s, 100 MB98.1 s, 1.8 GB96.4 s, 1.1 GB
getsentry/sentry8.3 s, 186 MB3.6 s, 97 MB53.7 s, 1.8 GB44.9 s, 1.6 GB
grafana/grafana109.7 s, 494 MB5.5 s, 212 MB706.9 s, 3.6 GB89.4 s, 2.2 GB
monicahq/monica7.5 s, 195 MB1.1 s, 45 MB16.8 s, 978 MB9.0 s, 568 MB
jellyfin/jellyfin4.9 s, 73 MB1.3 s, 54 MB14.1 s, 823 MB11.7 s, 747 MB
apache/kafka3.5 s, 57 MB1.3 s, 21 MB31.0 s, 905 MB22.9 s, 754 MB

Coverage ​

Unique dependency names found.

RepositoryPatchulaRenovateBoth
mastodon294342292
sentry439438433
grafana1,3691,2861,280
monica121114114
jellyfin108108106
kafka4612835

Most of mastodon's gap is gems with no version requirement, which the Count leaves to lockfile maintenance. Kafka's was versions in a Groovy map, which the Gradle manager has read since these runs.

Notes ​

  • Run on 2026-10-21 with Count Patchula e89e99c. Renovate used each repository's own config with dryRun=lookup.
  • Renovate's cold time includes cloning. The Count reads files through the GitHub API and never clones.
  • Go lookups got faster after these runs, so grafana's cold time (1,076 Go modules) is now lower than shown.

MIT licensed. Clean-room: no Renovate source was read in the making of this bat.