-
Notifications
You must be signed in to change notification settings - Fork 180
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
Renaming and refactoring DataKey, DataEntry, and other traits; adding ErasedDataProvider #431
Conversation
Codecov Report
@@ Coverage Diff @@
## master #431 +/- ##
==========================================
- Coverage 75.56% 74.83% -0.73%
==========================================
Files 92 90 -2
Lines 4534 4641 +107
==========================================
+ Hits 3426 3473 +47
- Misses 1108 1168 +60
Continue to review full report at Codecov.
|
I updated the PR to also add ErasedDataProvider. There is a failing test, which is pending an answer to this question:
|
I also included Criterion benchmarks comparing the generic version of DataProvider to the dynamic ErasedDataProvider that goes through Any. The results:
In table form:
So, Generic is faster than Erased, and Bincode is faster than JSON, but the differences are not earth-shattering. |
I plan to resolve this problem by requiring Default to be implemented when ErasedDataProvider is used, but not when plain DataProvider is used. |
Notice: the branch changed across the force-push!
~ Your Friendly Jira-GitHub PR Checker Bot |
Got the test compiling at https://github.com/Manishearth/omnicu/tree/works |
Okay, this is ready for review. When reviewing, you can focus on (1) the API docs in the icu_provider crate and (2) code changes outside of that crate. There are a lot of code changes inside the crate, but I feel pretty confident about them. |
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.
lgtm! Minor nits and suggestions inline
Fixes #243
Fixes #244
Fixes #422
Fixes #433
This PR makes a number of changes to the icu_provider crate.
erased
module.