Skip to content
This repository was archived by the owner on Jan 22, 2026. It is now read-only.

Conversation

@andrew
Copy link
Collaborator

@andrew andrew commented Jan 5, 2026

Summary

  • Replace ActiveRecord with Sequel ORM to reduce gem dependencies
  • 32% fewer gems (41 → 28), 24% smaller lockfile
  • Significant performance improvements

Benchmark Results (octobox, 500 commits)

Benchmark ActiveRecord Sequel Improvement
Full init 6.28s 5.33s 15% faster
DB ops 1.757s 0.872s 50% faster
Bulk insert 0.312s 0.200s 36% faster

Per-operation improvements: 46-76% faster

Changes

  • Convert all models to Sequel::Model
  • Update query syntax (includes → eager, joins → eager_graph, etc.)
  • Add disconnect method to properly clean up Sequel database caches
  • Clear association caches in refresh_models for test isolation
  • Update benchmarks for Sequel syntax

Test plan

  • All 117 tests pass
  • Tests run consistently (no flaky tests)
  • Benchmarks run successfully
  • Tested on small repo (git-pkgs) and large repo (octobox)

@andrew andrew force-pushed the sequel-migration branch 2 times, most recently from 850da13 to 4e3f432 Compare January 5, 2026 18:04
- 32% fewer gems (41 → 28), 24% smaller lockfile
- 50% faster DB operations, 56% faster bulk inserts
- Convert all models to Sequel::Model
- Update query syntax (includes → eager, joins → eager_graph)
- Add disconnect method to clean up Sequel database caches
- Clear association caches in refresh_models for test isolation
- Update benchmarks for Sequel syntax
@andrew andrew merged commit d1ad076 into main Jan 5, 2026
7 checks passed
@andrew andrew deleted the sequel-migration branch January 5, 2026 21:18
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants