Skip to content

build(deps): bump lexical-core from 0.7.6 to 0.8.0#1717

Merged
databend-bot merged 1 commit into
masterfrom
dependabot/cargo/master/lexical-core-0.8.0
Sep 4, 2021
Merged

build(deps): bump lexical-core from 0.7.6 to 0.8.0#1717
databend-bot merged 1 commit into
masterfrom
dependabot/cargo/master/lexical-core-0.8.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 3, 2021

Copy link
Copy Markdown
Contributor

Bumps lexical-core from 0.7.6 to 0.8.0.

Release notes

Sourced from lexical-core's releases.

Lexical-Core Version 0.8.0 Release

This was a large release that Involved a near complete re-write of lexical for faster algorithms, a simpler internal design, and faster digit parsing implementations.

Options API

  • Added the Options API, a way to customize numeric conversions at runtime. The Options API is described in depth here, and contains the following structs:
    • ParseFloatOptions
    • ParseIntegerOptions
    • WriteFloatOptions
    • WriteIntegerOptions

Format API

  • Change NumberFormat to be a packed u128 struct to allow more extensive configuration and use const generics.
  • Changed NumberFormat to be an internal implementation detail, and NumberFormatBuilder to be the public API for creating custom formats at compile time.

Simplified the public API

  • Added parse_with_options, parse_partial_with_options.

  • Added write_with_options, write_unchecked, and write_with_options_unchecked.

  • Remove the write_format, write_radix, and similar functions.

  • Remove the parse_format, parse_radix, and similar functions.

  • Added a faster float writer and parser for power of 2 radixes.

  • Added the required_exponent_notation flag to NumberFormat.

  • Added the power-of-two feature, for conversion to and from strings with power-of-two bases.

  • Added the compact feature, optimized for binary size rather than performance.

  • Added extensive documentation on benchmarks, algorithms used, and internal implementation details.

Removal Features

  • Removed the dtoa feature. This allows only 1 compact backend and 1 performance backend, for fully additive features. The new Dragonbox algorithm is faster than any existing algorithms.
  • Removed the rounding feature. This was never used in practice.
  • Removed the lexical-capi. Existing, high-performance C/C++ libraries exist, so it's no longer practical.

Algorithm Improvements

  • Made the Eisel-Lemire algorithm the default float-parser, leading to substantial improvements in performance.
  • Made Dragonbox the default float writer.
  • Removed pre-computed float tables of powers-of-two, and recreated stable powers of 2 through bit manipulations.
  • Improved the algorithms to write and parse 128-bit integers, using faster division and multiplication algorithms.
  • Simplified the big-integer arithmetic, improving performance and simplifying maintenance for float parsing algorithms.

Other Changes

  • Updated the MSRV to 1.51.0.
  • Updated the benchmarks to note the significant algorithm changes.
  • Added automatic formatting via Rustfmt, linting via Clippy, as well as increased documentation of safety guarantees.
  • Added support for base prefixes and suffixes.
  • Reduced static storage required for extended-float algorithms.
  • Updated the fuzz handlers and conformance tests.
  • Refactored all numeric conversions into separate crates, using workspaces.

Bug Fixes

  • Fixed a bug with trailing digit separators in special values.
Changelog

Sourced from lexical-core's changelog.

[0.8.0] 2021-09-03

This is a very large release that involved a full re-write from the ground-up.

Added

  • Added the Options API
    • ParseFloatOptions
    • ParseIntegerOptions
    • WriteFloatOptions
    • WriteIntegerOptions
  • Added parse_with_options, parse_partial_with_options
  • Added write_with_options.
  • Added a faster float writer and parser for power of 2 radixes.
  • Added the required_exponent_notation flag to NumberFormat.
  • Added the power-of-two feature, for conversion to and from strings with power-of-two bases.
  • Added the compact feature, optimized for binary size rather than performance.
  • Added extensive documentation on benchmarks, algorithms used, and internal implementation details.

Changed

  • Made the Eisel-Lemire algorithm the default float-parser, leading to substantial improvements in performance.
  • Made Dragonbox the default float writer.
  • Removed pre-computed float tables of powers-of-two, and recreated stable powers of 2 through bit manipulations.
  • Refactored all numeric conversions into separate crates, using workspaces.
  • Improved the algorithms to write and parse 128-bit integers, using faster division and multiplication algorithms.
  • Updated the MSRV to 1.51.0.
  • Updated the benchmarks to note the significant algorithm changes.
  • Added automatic formatting via Rustfmt, linting via Clippy, as well as increased documentation of safety guarantees.
  • Re-wrote NumberFormat to allow more extensive configuration and use const generics.
  • Added support for base prefixes and suffixes.
  • Reduced static storage required for extended-float algorithms.
  • Fixed a bug with trailing digit separators in special values.
  • Updated the fuzz handlers and conformance tests.
  • Simplified the big-integer arithmetic, improving performance and simplifying maintenance for float parsing algorithms.

Removed

  • Remove the write_format, write_radix, and similar functions.
  • Remove the parse_format, parse_radix, and similar functions.
  • Removed the dtoa feature.
  • Removed the rounding feature.
  • Removed the lexical-capi. Existing, high-performance C/C++ libraries exist, so it's no longer practical.
Commits
  • 40680c8 Update changelog for the release.
  • 1ca2d4b Update bug for documentation.
  • 0374cf3 Document updates features for release.
  • 8155e76 Minor bug fix for feature-gated f16 unittests.
  • 593c282 Add unittests for half-precision types.
  • f0d582d Add documentation and tests for fast-path only case.
  • fc658c6 Closes #40.
  • 4a965c0 Added initial implementation of parse-float for f16.
  • 3a1f338 Initial implementation for write-float with f16 and bf16.
  • 01aca29 Lint fixes.
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [lexical-core](https://github.com/Alexhuszagh/rust-lexical) from 0.7.6 to 0.8.0.
- [Release notes](https://github.com/Alexhuszagh/rust-lexical/releases)
- [Changelog](https://github.com/Alexhuszagh/rust-lexical/blob/main/CHANGELOG)
- [Commits](Alexhuszagh/rust-lexical@v0.7.6...v0.8.0)

---
updated-dependencies:
- dependency-name: lexical-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@databend-bot

Copy link
Copy Markdown
Member

Thanks for the contribution!
I have applied any labels matching special text in your PR Changelog.

Please review the labels and make any necessary changes.

1 similar comment
@databend-bot

Copy link
Copy Markdown
Member

Thanks for the contribution!
I have applied any labels matching special text in your PR Changelog.

Please review the labels and make any necessary changes.

@codecov-commenter

codecov-commenter commented Sep 3, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1717 (9c479ce) into master (c0d5e1c) will increase coverage by 0%.
The diff coverage is n/a.

Impacted file tree graph

@@          Coverage Diff           @@
##           master   #1717   +/-   ##
======================================
  Coverage      72%     72%           
======================================
  Files         574     574           
  Lines       33919   33919           
======================================
+ Hits        24603   24610    +7     
+ Misses       9316    9309    -7     
Impacted Files Coverage Δ
store/src/meta_service/raftmeta.rs 93% <0%> (+1%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c0d5e1c...9c479ce. Read the comment docs.

@bohutang

bohutang commented Sep 4, 2021

Copy link
Copy Markdown
Member

/LGTM

@bohutang

bohutang commented Sep 4, 2021

Copy link
Copy Markdown
Member

/approve

@databend-bot

Copy link
Copy Markdown
Member

Approved! Thank you for the PR

@databend-bot

Copy link
Copy Markdown
Member

CI Passed
Reviewer Approved
Let's Merge

@databend-bot
databend-bot merged commit 5375740 into master Sep 4, 2021
@databend-bot
databend-bot deleted the dependabot/cargo/master/lexical-core-0.8.0 branch September 4, 2021 00:09
@bohutang

bohutang commented Sep 4, 2021

Copy link
Copy Markdown
Member

/LGTM

@databend-bot

Copy link
Copy Markdown
Member

Approved! Thank you for the PR @dependabot[bot]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants