Skip to content

Conversation

@fatkodima
Copy link
Contributor

Fixes #99.

I was able to run active_record_doctor on 2 OSS projects: discourse (medium sized) and gitlab (large sized).

Discourse

Before
Num of queries: 6771
Runtime of active_record_doctor (checks only, not including app eager loading): 8.53s
Total runtime (of the rake active_record_doctor): 15.74s

After
Num of queries: 1739
Runtime of active_record_doctor: 2.55s 🔥
Total runtime : 9.3s

Gitlab

Before
Num of queries: 31499
Runtime of active_record_doctor: 125.9s
Total runtime: 2:36.17m

After
Num of queries: 10697
Runtime of active_record_doctor: 38.53s 🔥 🔥 🔥
Total runtime: 1:13.80m

@fatkodima
Copy link
Contributor Author

With the new PR from rails - rails/rails#45381, this will be even faster for gitlab: 31s.

@fatkodima
Copy link
Contributor Author

Renamed the class.

@gregnavis
Copy link
Owner

@fatkodima, please rebase and it's good to merge!

@fatkodima
Copy link
Contributor Author

@gregnavis Rebased.

@gregnavis gregnavis force-pushed the master branch 2 times, most recently from 66ef32f to fc73681 Compare January 17, 2023 16:34
@gregnavis gregnavis force-pushed the master branch 2 times, most recently from 168d951 to d322a6e Compare October 20, 2023 14:24
@gregnavis gregnavis added the dx Improvement to Developer Experience label Aug 27, 2024
@fatkodima
Copy link
Contributor Author

@gregnavis Would you like to also add this to 2.0? I can update it then.

@gregnavis gregnavis force-pushed the master branch 3 times, most recently from afcda83 to 4ee897c Compare November 10, 2024 14:43
@gregnavis gregnavis added enhancement An enhancement other than a new detector. and removed dx Improvement to Developer Experience labels Aug 2, 2025
@fatkodima
Copy link
Contributor Author

@gregnavis Merge? Just tested on my app - 2x speedup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement An enhancement other than a new detector.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use SchemaCache internally

2 participants