-
Notifications
You must be signed in to change notification settings - Fork 108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Blueprinter: Render Performance Optimisations #289
Conversation
@skryukov What's next for PR to be merged? |
We should wait for maintainers, I'm just an outsider 😅 |
Hi @midhun-thimmapuram, I received your message, but I'm no longer a maintainer / part of the Procore org. and therefore am unable to provide an approving review that will enable you to merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm largely unfamiliar with the context, but there appears to be two unrelated changes here.
The performance optimization is coming from the memoization of field sorting in fields_for, which is a nice, simple, and clean improvement.
There's also a mild refactor of date time formatting that appears to not change the operations that occur per format, but does clarify the code somewhat, so is a nice patch as well.
Given that these are unrelated, I'd much prefer to have them land as separate patches, but not enough that I'd block getting this landed at all, given how long it's been open.
Thanks for the approval, I can create another PR moving the date time formatting changes there if it is required so that we can have them as separate patches. |
Benchmark comparison:
Output on Ruby 2.6.9, MacBook Pro (15-inch, 2018, 2.2 GHz 6-Core Intel Core i7)
benchmark code
blueprinter 0.25.3 (current master)
With current PR optimisations Run - 1
With current PR optimisations Run - 2