You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@parquet.apache.org by "Feng Jiajie (Jira)" <ji...@apache.org> on 2023/09/29 16:47:00 UTC

[jira] [Updated] (PARQUET-2357) Modest refactor of CapacityByteArrayOutputStream

     [ 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)