Skip to content
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

arm: Implement SVE2 str2int #95

Merged
merged 1 commit into from
Oct 14, 2024
Merged

Commits on Oct 9, 2024

  1. arm: Implement SVE2 str2int

    This patch implements a SVE2 version of str2int which improves
    number decoding on ARM SVE2 CPUs.
    
    The algorithm utilizes SVMATCH to count valid digits in the string, and SDOT
    for calculating the value. With this change the naive byte-by-byte method for ARM
    is substituted.
    
    Enable it by compiling with adding cmake option "-DENABLE_SVE2_128=ON".
    
    | Benchmark                      | Original     | SVE2       | Improvement |
    |--------------------------------|--------------|------------|-------------|
    | testdata/gsoc-2018.json        | 3406307500   | 3407847500 | 0.05%       |
    | testdata/twitter.json          | 2040162500   | 2039502500 | -0.03%      |
    | testdata/fgo.json              | 992470750    | 988730000  | -0.38%      |
    | testdata/citm_catalog.json     | 2209855000   | 2205997500 | -0.17%      |
    | testdata/twitterescaped.json   | 1767812500   | 1814302500 | 2.63%       |
    | testdata/github_events.json    | 2142690000   | 2147452500 | 0.22%       |
    | testdata/lottie.json           | 625985250    | 602068500  | -3.82%      |
    | testdata/poet.json             | 2867745000   | 2880562500 | 0.45%       |
    | testdata/otfcc.json            | 685481500    | 683760750  | -0.25%      |
    | testdata/book.json             | 687309000    | 674716000  | -1.83%      |
    | testdata/canada.json           | 775475000    | 1051945000 | 35.65%      |
    
    Signed-off-by: Yuzhong Wen <yuwen@nvidia.com>
    supermartian committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    f571d3e View commit details
    Browse the repository at this point in the history