[
https://issues.apache.org/jira/browse/PARQUET-2357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Feng Jiajie updated PARQUET-2357:
---------------------------------
Description:
Optimization for the CapacityByteArrayOutputStream class:
# The functionality of {{currentSlabIndex}} is the same as
{{{}currentSlab.position(){}}}, so there is no need to maintain the
{{currentSlabIndex}} variable.
# When writing an array of length equal to the remaining capacity of the
buffer, there is no need to expand to a new buffer.
# If the {{addSlab}} operation has already implemented safeguards using
{{Math.addExact}} to prevent overflow of {{bytesAllocated}} and
{{{}bytesUsed{}}}, it is unnecessary to perform additional checks during the
{{write}} operation.
was:
Optimization for the CapacityByteArrayOutputStream class:
# The functionality of {{currentSlabIndex}} is the same as
{{{}currentSlab.position(){}}}, so there is no need to maintain the
{{currentSlabIndex}} variable.
# When writing an array of length equal to the remaining capacity of the
buffer, there is no need to expand to a new buffer.
> Modest refactor of CapacityByteArrayOutputStream
> ------------------------------------------------
>
> Key: PARQUET-2357
> URL: https://issues.apache.org/jira/browse/PARQUET-2357
> Project: Parquet
> Issue Type: Improvement
> Components: parquet-mr
> Reporter: Feng Jiajie
> Priority: Minor
> Fix For: 1.14.0
>
>
> Optimization for the CapacityByteArrayOutputStream class:
> # The functionality of {{currentSlabIndex}} is the same as
> {{{}currentSlab.position(){}}}, so there is no need to maintain the
> {{currentSlabIndex}} variable.
> # When writing an array of length equal to the remaining capacity of the
> buffer, there is no need to expand to a new buffer.
> # If the {{addSlab}} operation has already implemented safeguards using
> {{Math.addExact}} to prevent overflow of {{bytesAllocated}} and
> {{{}bytesUsed{}}}, it is unnecessary to perform additional checks during the
> {{write}} operation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)