You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "neilconway (via GitHub)" <gi...@apache.org> on 2026/09/05 14:20:08 UTC
[PR] perf: Count digits to skip precision check when parsing decimals [arrow-rs]
neilconway opened a new pull request, #10998:
URL: https://github.com/apache/arrow-rs/pull/10998
# Which issue does this PR close?
- N/A
# Rationale for this change
`parse_decimal` validated the parsed value against the precision with `is_valid_decimal_precision`, an out-of-line call that loads the bounds for the precision and compares the value against both.
The parser already knows how many digits it kept. We can modify the mantissa scan to return the digit count and then use this count to skip the precision check for the common case that the number of parsed digits implies the parsed value is well within the allowed precision.
`parse_decimal` microbenchmark, Apple M4 Max, µs per 1024 inputs:
```
case before after change
123.123 7.93 7.85 -1.0%
123.1234 11.39 10.96 -3.7%
123.1 11.22 10.27 -8.5%
123 10.49 9.47 -9.7%
-123.123 8.16 8.07 -1.0%
-123.1234 11.47 11.09 -3.3%
-123.1 11.45 10.53 -8.0%
-123 10.71 9.84 -8.1%
0.0000123 8.37 7.89 -5.7%
12. 10.21 9.54 -6.5%
-12. 10.44 9.76 -6.5%
00.1 10.69 9.90 -7.4%
-00.1 10.93 10.00 -8.5%
12345678912345678.1234 24.49 24.53 +0.1%
-12345678912345678.1234 24.67 24.77 +0.4%
99999999999999999.999 20.31 19.90 -2.0%
-99999999999999999.999 20.25 20.40 +0.7%
.123 6.34 6.18 -2.6%
-.123 6.59 6.41 -2.7%
123. 10.67 10.12 -5.1%
-123. 10.94 10.30 -5.8%
string decimal128 short 8.20 7.85 -4.2%
string decimal128 integer 11.19 10.89 -2.7%
string decimal128 exact scale 11.43 11.05 -3.3%
string decimal128 padded scale 10.50 10.42 -0.8%
string decimal128 rounded scale 15.23 14.63 -3.9%
string decimal128 signed 15.28 14.78 -3.3%
string decimal128 38 digits 24.19 23.65 -2.2%
string decimal128 exponent 20.28 20.18 -0.5%
string decimal128 negative exponent 19.52 18.79 -3.7%
string decimal128 negative scale 18.32 17.97 -1.9%
string decimal128 long fraction 22.39 22.14 -1.1%
string decimal256 76 digits 59.03 57.76 -2.1%
string decimal256 rounded scale 55.72 54.71 -1.8%
string decimal32 short 8.51 7.74 -9.1%
string decimal32 9 digits 10.45 9.76 -6.6%
string decimal64 short 7.29 6.84 -6.2%
string decimal64 18 digits 12.04 11.66 -3.2%
```
# What changes are included in this PR?
See above.
# Are these changes tested?
Yes; new test added, existing tests pass.
# Are there any user-facing changes?
No.
# AI usage
Developed with Claude Code Fable 5.1; reviewed with Codex Astra 6. I reviewed, revised, and understand the resulting code.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] perf: Count digits to skip precision check when parsing decimals [arrow-rs]
Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #10998:
URL: https://github.com/apache/arrow-rs/pull/10998#issuecomment-5556211310
🤖 Arrow criterion benchmark running (GKE) | [trigger](https://github.com/apache/arrow-rs/pull/10998#issuecomment-5556196831)
**Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB) | `Linux bench-c5556196831-2142-fmq8b 6.12.94+ #1 SMP Fri Jul 17 09:42:57 UTC 2026 aarch64 GNU/Linux`
<details><summary>CPU Details (lscpu)</summary>
```
Architecture: aarch64
CPU op-mode(s): 64-bit
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Vendor ID: ARM
Model name: Neoverse-V2
Model: 1
Thread(s) per core: 1
Core(s) per cluster: 16
Socket(s): -
Cluster(s): 1
Stepping: r0p1
BogoMIPS: 2000.00
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache: 1 MiB (16 instances)
L1i cache: 1 MiB (16 instances)
L2 cache: 32 MiB (16 instances)
L3 cache: 80 MiB (1 instance)
NUMA node(s): 1
NUMA node0 CPU(s): 0-15
Vulnerability Gather data sampling: Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Mitigation; CSV2, BHB
Vulnerability Srbds: Not affected
Vulnerability Tsa: Not affected
Vulnerability Tsx async abort: Not affected
Vulnerability Vmscape: Not affected
```
</details>
Comparing neilc/decimal-parser-precision-by-digits (dcc0266ea46bed33d44a570da85e40e894e46d60) to b1aa94b (merge-base) [diff](https://github.com/apache/arrow-rs/compare/b1aa94b05c88ef4cc6d0293d784bbc254537e942..dcc0266ea46bed33d44a570da85e40e894e46d60)
<details><summary>Run configuration</summary>
```yaml
run benchmark parse_decimal
```
</details>
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench parse_decimal
Results will be posted here when complete
---
[File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] perf: Count digits to skip precision check when parsing decimals [arrow-rs]
Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #10998:
URL: https://github.com/apache/arrow-rs/pull/10998#issuecomment-5552642929
🤖 Arrow criterion benchmark running (GKE) | [trigger](https://github.com/apache/arrow-rs/pull/10998#issuecomment-5552627943)
**Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB) | `Linux bench-c5552627943-2139-dkbqm 6.12.94+ #1 SMP Fri Jul 17 09:42:57 UTC 2026 aarch64 GNU/Linux`
<details><summary>CPU Details (lscpu)</summary>
```
Architecture: aarch64
CPU op-mode(s): 64-bit
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Vendor ID: ARM
Model name: Neoverse-V2
Model: 1
Thread(s) per core: 1
Core(s) per cluster: 16
Socket(s): -
Cluster(s): 1
Stepping: r0p1
BogoMIPS: 2000.00
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache: 1 MiB (16 instances)
L1i cache: 1 MiB (16 instances)
L2 cache: 32 MiB (16 instances)
L3 cache: 80 MiB (1 instance)
NUMA node(s): 1
NUMA node0 CPU(s): 0-15
Vulnerability Gather data sampling: Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Mitigation; CSV2, BHB
Vulnerability Srbds: Not affected
Vulnerability Tsa: Not affected
Vulnerability Tsx async abort: Not affected
Vulnerability Vmscape: Not affected
```
</details>
Comparing neilc/decimal-parser-precision-by-digits (dcc0266ea46bed33d44a570da85e40e894e46d60) to b1aa94b (merge-base) [diff](https://github.com/apache/arrow-rs/compare/b1aa94b05c88ef4cc6d0293d784bbc254537e942..dcc0266ea46bed33d44a570da85e40e894e46d60)
<details><summary>Run configuration</summary>
```yaml
run benchmark cast_kernels
env:
BENCH_FILTER: "parse_decimal"
```
</details>
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench cast_kernels
Results will be posted here when complete
---
[File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] perf: Count digits to skip precision check when parsing decimals [arrow-rs]
Posted by "Rich-T-kid (via GitHub)" <gi...@apache.org>.
Rich-T-kid commented on PR #10998:
URL: https://github.com/apache/arrow-rs/pull/10998#issuecomment-5552627943
run benchmark cast_kernels
env:
BENCH_FILTER: parse_decimal
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] perf: Count digits to skip precision check when parsing decimals [arrow-rs]
Posted by "Jefffrey (via GitHub)" <gi...@apache.org>.
Jefffrey merged PR #10998:
URL: https://github.com/apache/arrow-rs/pull/10998
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] perf: Count digits to skip precision check when parsing decimals [arrow-rs]
Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #10998:
URL: https://github.com/apache/arrow-rs/pull/10998#issuecomment-5552650548
Benchmark for [this request](https://github.com/apache/arrow-rs/pull/10998#issuecomment-5552627943) failed before finishing (Kubernetes reason: `BackoffLimitExceeded`).
Benchmarks requested: `cast_kernels`
<details><summary>Runner log (last 40 lines)</summary>
```
2026-09-05T14:56:12.814495Z INFO runner starting benchmark runner bench_type=ArrowCriterion, pr_url=https://github.com/apache/arrow-rs/pull/10998, benchmarks=cast_kernels
2026-09-05T14:56:12.877827Z INFO benchmark_controller::runner::bench_arrow === Cloning PR branch ===
2026-09-05T14:56:12.877924Z INFO benchmark_controller::runner::shell running command cmd=git, args=["clone", "--depth=200", "https://github.com/apache/arrow-rs.git", "/workspace/arrow-rs-branch"], cwd="/"
2026-09-05T14:56:17.888113Z INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin", "refs/pull/10998/head:neilc/decimal-parser-precision-by-digits", "main"], cwd="/workspace/arrow-rs-branch"
2026-09-05T14:56:22.890526Z INFO benchmark_controller::runner::shell running command cmd=git, args=["checkout", "neilc/decimal-parser-precision-by-digits"], cwd="/workspace/arrow-rs-branch"
2026-09-05T14:56:27.891921Z INFO benchmark_controller::runner::shell running command cmd=git, args=["submodule", "update", "--init"], cwd="/workspace/arrow-rs-branch"
2026-09-05T14:56:32.894742Z INFO benchmark_controller::runner::shell running command cmd=git, args=["merge-base", "HEAD", "origin/main"], cwd="/workspace/arrow-rs-branch"
2026-09-05T14:56:37.896178Z INFO benchmark_controller::runner::shell running command cmd=cargo, args=["update"], cwd="/workspace/arrow-rs-branch"
2026-09-05T14:56:42.898441Z INFO benchmark_controller::runner::bench_arrow === Cloning merge-base ===
2026-09-05T14:56:42.898458Z INFO benchmark_controller::runner::shell running command cmd=git, args=["clone", "--depth=200", "https://github.com/apache/arrow-rs.git", "/workspace/arrow-rs-base"], cwd="/"
2026-09-05T14:56:47.900767Z INFO benchmark_controller::runner::shell running command cmd=git, args=["-c", "advice.detachedHead=false", "checkout", "b1aa94b05c88ef4cc6d0293d784bbc254537e942"], cwd="/workspace/arrow-rs-base"
2026-09-05T14:56:52.902066Z INFO benchmark_controller::runner::shell running command cmd=git, args=["submodule", "update", "--init"], cwd="/workspace/arrow-rs-base"
2026-09-05T14:56:57.904420Z INFO benchmark_controller::runner::shell running command cmd=cargo, args=["update"], cwd="/workspace/arrow-rs-base"
2026-09-05T14:57:02.905988Z INFO benchmark_controller::runner::shell running command cmd=rustc, args=["--version"], cwd="/"
2026-09-05T14:57:07.933847Z INFO benchmark_controller::runner::shell running command cmd=git, args=["rev-parse", "HEAD"], cwd="/workspace/arrow-rs-branch"
2026-09-05T14:57:12.934988Z INFO benchmark_controller::runner::shell running command cmd=git, args=["rev-parse", "HEAD"], cwd="/workspace/arrow-rs-base"
2026-09-05T14:57:17.938978Z INFO benchmark_controller::runner::controller_client post_comment _repo=apache/arrow-rs, _pr_number=10998, job_id=2139
2026-09-05T14:57:18.583022Z INFO benchmark_controller::runner::bench_arrow === Compiling PR branch and merge-base in parallel ===
2026-09-05T14:58:21.513817Z INFO benchmark_controller::runner::bench_arrow === Compilation complete ===
2026-09-05T14:58:21.513831Z INFO benchmark_controller::runner::bench_arrow === Running benchmark on merge-base ===
2026-09-05T14:58:21.513845Z INFO benchmark_controller::runner::shell running command (monitored) cmd=cargo, args=["bench", "--features=arrow,async,test_common,experimental,object_store", "--bench", "cast_kernels", "--", "--save-baseline", "main", "parse_decimal"], cwd="/workspace/arrow-rs-base"
2026-09-05T14:58:26.520985Z INFO benchmark_controller::runner::bench_arrow === Running benchmark on PR branch ===
2026-09-05T14:58:26.521004Z INFO benchmark_controller::runner::shell running command (monitored) cmd=cargo, args=["bench", "--features=arrow,async,test_common,experimental,object_store", "--bench", "cast_kernels", "--", "--save-baseline", "neilc_decimal-parser-precision-by-digits", "parse_decimal"], cwd="/workspace/arrow-rs-branch"
2026-09-05T14:58:31.528001Z INFO benchmark_controller::runner::shell running command cmd=critcmp, args=["main", "neilc_decimal-parser-precision-by-digits"], cwd="/workspace/arrow-rs-branch"
2026-09-05T14:58:36.530670Z ERROR runner benchmark failed error=critcmp: critcmp main neilc_decimal-parser-precision-by-digits exited with code 1
stdout:
stderr:
no criterion data exists at /workspace/arrow-rs-branch/target/criterion
set a different target directory with --target-dir or set CARGO_TARGET_DIR
```
</details>
<details><summary>Kubernetes message</summary>
```
Job has reached the specified backoff limit
```
</details>
---
[File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] perf: Count digits to skip precision check when parsing decimals [arrow-rs]
Posted by "Jefffrey (via GitHub)" <gi...@apache.org>.
Jefffrey commented on PR #10998:
URL: https://github.com/apache/arrow-rs/pull/10998#issuecomment-5556196831
run benchmark parse_decimal
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] perf: Count digits to skip precision check when parsing decimals [arrow-rs]
Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #10998:
URL: https://github.com/apache/arrow-rs/pull/10998#issuecomment-5556271381
🤖 Arrow criterion benchmark completed (GKE) | [trigger](https://github.com/apache/arrow-rs/pull/10998#issuecomment-5556196831)
**Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB)
Comparing neilc/decimal-parser-precision-by-digits (dcc0266ea46bed33d44a570da85e40e894e46d60) to b1aa94b (merge-base) [diff](https://github.com/apache/arrow-rs/compare/b1aa94b05c88ef4cc6d0293d784bbc254537e942..dcc0266ea46bed33d44a570da85e40e894e46d60)
<details><summary>Run configuration</summary>
```yaml
run benchmark parse_decimal
```
</details>
<details><summary>CPU Details (lscpu)</summary>
```
Architecture: aarch64
CPU op-mode(s): 64-bit
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Vendor ID: ARM
Model name: Neoverse-V2
Model: 1
Thread(s) per core: 1
Core(s) per cluster: 16
Socket(s): -
Cluster(s): 1
Stepping: r0p1
BogoMIPS: 2000.00
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache: 1 MiB (16 instances)
L1i cache: 1 MiB (16 instances)
L2 cache: 32 MiB (16 instances)
L3 cache: 80 MiB (1 instance)
NUMA node(s): 1
NUMA node0 CPU(s): 0-15
Vulnerability Gather data sampling: Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Mitigation; CSV2, BHB
Vulnerability Srbds: Not affected
Vulnerability Tsa: Not affected
Vulnerability Tsx async abort: Not affected
Vulnerability Vmscape: Not affected
```
</details>
<details><summary>Details</summary>
<p>
```
group main neilc_decimal-parser-precision-by-digits
----- ---- ----------------------------------------
parse_decimal/-.123 1.00 10.7±0.01µs 91.7 MElem/sec 1.00 10.6±0.00µs 91.8 MElem/sec
parse_decimal/-00.1 1.09 19.3±0.01µs 50.6 MElem/sec 1.00 17.6±0.05µs 55.3 MElem/sec
parse_decimal/-12. 1.11 18.5±0.02µs 52.9 MElem/sec 1.00 16.6±0.03µs 58.8 MElem/sec
parse_decimal/-123 1.10 19.1±0.01µs 51.0 MElem/sec 1.00 17.4±0.04µs 56.0 MElem/sec
parse_decimal/-123. 1.10 19.4±0.01µs 50.3 MElem/sec 1.00 17.7±0.05µs 55.3 MElem/sec
parse_decimal/-123.1 1.07 20.4±0.01µs 47.9 MElem/sec 1.00 19.0±0.07µs 51.3 MElem/sec
parse_decimal/-123.123 1.00 12.6±0.03µs 77.3 MElem/sec 1.06 13.4±0.01µs 72.9 MElem/sec
parse_decimal/-123.1234 1.03 16.2±0.02µs 60.4 MElem/sec 1.00 15.8±0.02µs 61.9 MElem/sec
parse_decimal/-12345678912345678.1234 1.01 44.5±0.05µs 21.9 MElem/sec 1.00 44.1±0.08µs 22.1 MElem/sec
parse_decimal/-99999999999999999.999 1.03 41.3±0.05µs 23.6 MElem/sec 1.00 40.0±0.07µs 24.4 MElem/sec
parse_decimal/.123 1.06 11.3±0.01µs 86.0 MElem/sec 1.00 10.7±0.02µs 91.5 MElem/sec
parse_decimal/0.0000123 1.05 13.5±0.25µs 72.1 MElem/sec 1.00 12.9±0.42µs 75.7 MElem/sec
parse_decimal/00.1 1.13 19.9±0.01µs 49.1 MElem/sec 1.00 17.6±0.06µs 55.5 MElem/sec
parse_decimal/12. 1.16 19.2±0.01µs 50.9 MElem/sec 1.00 16.6±0.02µs 58.9 MElem/sec
parse_decimal/123 1.13 19.6±0.01µs 49.8 MElem/sec 1.00 17.4±0.05µs 56.2 MElem/sec
parse_decimal/123. 1.14 20.0±0.01µs 48.7 MElem/sec 1.00 17.6±0.04µs 55.5 MElem/sec
parse_decimal/123.1 1.13 21.0±0.02µs 46.6 MElem/sec 1.00 18.6±0.06µs 52.5 MElem/sec
parse_decimal/123.123 1.00 12.8±0.06µs 76.1 MElem/sec 1.02 13.0±0.01µs 74.9 MElem/sec
parse_decimal/123.1234 1.02 16.0±0.08µs 61.0 MElem/sec 1.00 15.7±0.02µs 62.2 MElem/sec
parse_decimal/12345678912345678.1234 1.03 44.7±0.04µs 21.8 MElem/sec 1.00 43.4±0.06µs 22.5 MElem/sec
parse_decimal/99999999999999999.999 1.07 41.7±0.05µs 23.4 MElem/sec 1.00 38.9±0.03µs 25.1 MElem/sec
parse_decimal/string decimal128 38 digits 1.00 45.4±0.56µs 21.5 MElem/sec 1.00 45.4±0.02µs 21.5 MElem/sec
parse_decimal/string decimal128 exact scale 1.10 23.4±0.06µs 41.8 MElem/sec 1.00 21.3±0.02µs 45.8 MElem/sec
parse_decimal/string decimal128 exponent 1.04 34.9±0.02µs 28.0 MElem/sec 1.00 33.4±0.03µs 29.2 MElem/sec
parse_decimal/string decimal128 integer 1.05 23.5±0.01µs 41.5 MElem/sec 1.00 22.3±0.01µs 43.8 MElem/sec
parse_decimal/string decimal128 long fraction 1.00 39.6±0.08µs 24.6 MElem/sec 1.00 39.6±0.04µs 24.6 MElem/sec
parse_decimal/string decimal128 negative exponent 1.02 41.2±0.01µs 23.7 MElem/sec 1.00 40.4±0.07µs 24.2 MElem/sec
parse_decimal/string decimal128 negative scale 1.03 30.1±0.08µs 32.5 MElem/sec 1.00 29.1±0.06µs 33.5 MElem/sec
parse_decimal/string decimal128 padded scale 1.04 21.0±0.03µs 46.5 MElem/sec 1.00 20.1±0.03µs 48.5 MElem/sec
parse_decimal/string decimal128 rounded scale 1.06 26.2±0.03µs 37.3 MElem/sec 1.00 24.7±0.03µs 39.5 MElem/sec
parse_decimal/string decimal128 short 1.07 13.6±0.02µs 71.6 MElem/sec 1.00 12.7±0.04µs 76.6 MElem/sec
parse_decimal/string decimal128 signed 1.06 26.1±0.02µs 37.4 MElem/sec 1.00 24.7±0.02µs 39.5 MElem/sec
parse_decimal/string decimal256 76 digits 1.05 107.5±0.09µs 9.1 MElem/sec 1.00 102.3±0.08µs 9.5 MElem/sec
parse_decimal/string decimal256 rounded scale 1.03 93.7±0.04µs 10.4 MElem/sec 1.00 90.6±0.05µs 10.8 MElem/sec
parse_decimal/string decimal32 9 digits 1.03 14.1±0.01µs 69.3 MElem/sec 1.00 13.7±0.01µs 71.1 MElem/sec
parse_decimal/string decimal32 short 1.03 12.0±0.01µs 81.3 MElem/sec 1.00 11.7±0.18µs 83.4 MElem/sec
parse_decimal/string decimal64 18 digits 1.04 22.7±0.02µs 43.0 MElem/sec 1.00 21.7±0.02µs 44.9 MElem/sec
parse_decimal/string decimal64 short 1.00 11.3±0.01µs 86.1 MElem/sec 1.02 11.6±0.24µs 84.4 MElem/sec
```
</p>
</details>
<details><summary>Resource Usage</summary>
**base (merge-base)**
| Metric | Value |
|--------|-------|
| Wall time | 380.1s |
| Peak memory | 10.8 MiB |
| Avg memory | 10.3 MiB |
| CPU user | 374.2s |
| CPU sys | 0.0s |
| Peak spill | 0 B |
**branch**
| Metric | Value |
|--------|-------|
| Wall time | 375.1s |
| Peak memory | 11.1 MiB |
| Avg memory | 10.6 MiB |
| CPU user | 373.4s |
| CPU sys | 0.0s |
| Peak spill | 0 B |
</details>
---
[File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] perf: Count digits to skip precision check when parsing decimals [arrow-rs]
Posted by "Jefffrey (via GitHub)" <gi...@apache.org>.
Jefffrey commented on PR #10998:
URL: https://github.com/apache/arrow-rs/pull/10998#issuecomment-5556344185
🚀
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org