-
-
Notifications
You must be signed in to change notification settings - Fork 651
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
refactor: move codes from std::bind to lambda expressions #2475
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…into bind-to-lambda
…into bind-to-lambda
Mirkaanks
approved these changes
Mar 20, 2024
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.
To be honest, I don't see much difference in performance in lambda, but it is better than the old functions.
beats-dh
approved these changes
Mar 21, 2024
dudantas
approved these changes
Mar 22, 2024
dudantas
changed the title
perf: std::bind to lambda
refactor: move codes from std::bind to lambda expressions
Mar 22, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This pull request addresses the modernization of our codebase by refactoring instances of
std::bind
to use lambda expressions instead. This change aligns with modern C++ best practices, enhancing code readability, efficiency, and overall maintainability.Changes Made
std::bind
to Lambda Expressions: Whereverstd::bind
was used, it has been replaced with lambda expressions. This transition not only simplifies the syntax but also leverages the compiler's ability to optimize lambda expressions more effectively.Rationale
Lambda expressions, introduced in C++11 and enhanced in subsequent standards, offer several advantages over
std::bind
:std::bind
constructs, potentially leading to performance gains.Testing
The refactored code has been thoroughly tested to ensure that all functionalities remain intact and perform as expected. The tests included unit tests, integration tests, and manual testing to cover various use cases and scenarios.
Conclusion
By adopting modern C++ features such as lambda expressions, we continue to improve the quality of our codebase. These changes not only enhance the current state of the project but also lay a stronger foundation for future development. We encourage further testing and feedback from the community to ensure these improvements meet our collective standards for excellence.
We appreciate the contributions and support from the community in this refactoring effort.
Note: addGameTask and addGameTaskTimed have been removed, it makes no sense to use them, as parsePacket, which performs all actions, is already running within an event that was dispatched to the main thread.