Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add comparison for method vs forwarded method vs delegated method #182

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

Open
yogeshjain999 wants to merge 1 commit into fastruby:main
base: main
Choose a base branch
Loading
from yogeshjain999:method-delegations

Conversation

@yogeshjain999
Copy link

@yogeshjain999 yogeshjain999 commented May 20, 2020

Add benchmarks to understand when to define method explicitly, forward method with def_delegator or use SimpleDelegator.

Copy link
Author

Hey guys, any updates on this ?

Copy link
Collaborator

nirvdrum commented Apr 9, 2021

I just tried running this locally and the benchmark doesn't work with Ruby 2.7. It looks like you need to add require 'delegate'.

Copy link
Author

@nirvdrum Thanks, fixed it.

It seem the difference between forwarded and delegated method has been increased in ruby >= 2.7.

Warming up --------------------------------------
 method 307.381k i/100ms
 forwarded method 228.038k i/100ms
 delegated method 110.079k i/100ms
Calculating -------------------------------------
 method 3.103M (± 0.9%) i/s - 15.676M in 5.052459s
 forwarded method 2.299M (± 1.2%) i/s - 11.630M in 5.059510s
 delegated method 1.102M (± 0.9%) i/s - 5.614M in 5.095893s
Comparison:
 method: 3102988.8 i/s
 forwarded method: 2298988.2 i/s - 1.35x (± 0.00) slower
 delegated method: 1101769.4 i/s - 2.82x (± 0.00) slower

Copy link

@krtschmr krtschmr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice one

yogeshjain999 reacted with thumbs up emoji
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

1 more reviewer

@krtschmr krtschmr krtschmr approved these changes

Reviewers whose approvals may not affect merge requirements

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /