You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "LinShunKang (GitHub)" <gi...@apache.org> on 2019/12/04 11:09:20 UTC
[GitHub] [dubbo] LinShunKang opened pull request #5428:
[Dubbo-Optimize] Simple optimize
## What is the purpose of the change
* Reduce object allocation:
- Reduce `Iterator` instance allocation when get `MethodDescriptor` in `ServiceDescriptor`.
- Reduce `StringBuilder` instance allocation and memory copy in `DecodeableRpcResult.decode()` and `DubboMonitor.send()`.
* Optimizing `String` usage for `URL` and `UrlUtils`.
## Brief changelog
* Use `Map<String, List<MethodDescriptor>>` rather than `Map<String, Set<MethodDescriptor>>` to store `methods`
* Add `Logger.isDebugEnabled()` before invoke `Logger.debug()` in `DecodeableRpcResult.decode()`
* Use `String.indexOf(char)` instead of `String.indexOf(String)` for single character string.
* Use `String.indexOf(char)` instead of `String.contains(String)` for single character string.
## Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:
- [x] Make sure there is a [GITHUB_issue](https://github.com/apache/dubbo/issues) field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
- [x] Format the pull request title like `[Dubbo-XXX] Fix UnknownException when host config not exist #XXX`. Each commit in the pull request should have a meaningful subject line and body.
- [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
- [x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in [dubbo samples](https://github.com/apache/dubbo-samples) project.
- [ ] Run `mvn clean install -DskipTests=false` & `mvn clean test-compile failsafe:integration-test` to make sure unit-test and integration-test pass.
- [ ] If this contribution is large, please follow the [Software Donation Guide](https://github.com/apache/dubbo/wiki/Software-donation-guide).
[ Full content available at: https://github.com/apache/dubbo/pull/5428 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org