[jira] [Updated] (IGNITE-22061) Use compact representation of BigDecimal with large scale for integers / numbers with trailing zeros
[ https://issues.apache.org/jira/browse/IGNITE-22061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Pereslegin updated IGNITE-22061: -- Description: BigDecimals that represent integer numbers can take up a lot of space, when scale is specified: {code:java} BigDecimal dc = new BigDecimal("").setScale(1024, RoundingMode.HALF_UP); System.out.println("Difference:"); System.out.println(MarshallerUtil.sizeInBytes(dc) - dc.stripTrailingZeros().setScale(0, RoundingMode.HALF_UP).unscaledValue().toByteArray().length); {code} The code prints: {code} Difference: 427 {code} Let's update BinaryTuple format to store such numbers in more compact form that does not store trailing zeros. *UPDATE* Binary tuple stores bigdecimal in compact form after IGNITE-21745. This issue is about pre-allocation buffer for binary tuple. Look at the {{TupleMarshallerImpl#gatherStatistics}} for example. It estimates the size bigdecimal, including trailing zeros, causing the pre-allocated buffer to be significantly larger than required. was: BigDecimals that represent integer numbers can take up a lot of space, when scale is specified: {code:java} BigDecimal dc = new BigDecimal("").setScale(1024, RoundingMode.HALF_UP); System.out.println("Difference:"); System.out.println(MarshallerUtil.sizeInBytes(dc) - dc.stripTrailingZeros().setScale(0, RoundingMode.HALF_UP).unscaledValue().toByteArray().length); {code} The code prints: {code} Difference: 427 {code} Let's update BinaryTuple format to store such numbers in more compact form that does not store trailing zeros. > Use compact representation of BigDecimal with large scale for integers / > numbers with trailing zeros > > > Key: IGNITE-22061 > URL: https://issues.apache.org/jira/browse/IGNITE-22061 > Project: Ignite > Issue Type: Improvement >Reporter: Maksim Zhuravkov >Priority: Major > Labels: ignite-3 > > BigDecimals that represent integer numbers can take up a lot of space, when > scale is specified: > {code:java} > BigDecimal dc = new BigDecimal("").setScale(1024, > RoundingMode.HALF_UP); > System.out.println("Difference:"); > System.out.println(MarshallerUtil.sizeInBytes(dc) - > dc.stripTrailingZeros().setScale(0, > RoundingMode.HALF_UP).unscaledValue().toByteArray().length); > {code} > The code prints: > {code} > Difference: > 427 > {code} > Let's update BinaryTuple format to store such numbers in more compact form > that does not store trailing zeros. > *UPDATE* > Binary tuple stores bigdecimal in compact form after IGNITE-21745. > This issue is about pre-allocation buffer for binary tuple. > Look at the {{TupleMarshallerImpl#gatherStatistics}} for example. > It estimates the size bigdecimal, including trailing zeros, causing the > pre-allocated buffer to be significantly larger than required. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (IGNITE-22061) Use compact representation of BigDecimal with large scale for integers / numbers with trailing zeros
[ https://issues.apache.org/jira/browse/IGNITE-22061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Pereslegin updated IGNITE-22061: -- Description: BigDecimals that represent integer numbers can take up a lot of space, when scale is specified: {code:java} BigDecimal dc = new BigDecimal("").setScale(1024, RoundingMode.HALF_UP); System.out.println("Difference:"); System.out.println(MarshallerUtil.sizeInBytes(dc) - dc.stripTrailingZeros().setScale(0, RoundingMode.HALF_UP).unscaledValue().toByteArray().length); {code} The code prints: {code} Difference: 427 {code} Let's update BinaryTuple format to store such numbers in more compact form that does not store trailing zeros. *UPDATE* Binary tuple stores bigdecimal in compact form after IGNITE-21745. This issue is about pre-allocation buffer for binary tuple. Look at the {{TupleMarshallerImpl#gatherStatistics}} for example. It estimates the size of BigDecimal, including trailing zeros, causing the pre-allocated buffer to be significantly larger than required. was: BigDecimals that represent integer numbers can take up a lot of space, when scale is specified: {code:java} BigDecimal dc = new BigDecimal("").setScale(1024, RoundingMode.HALF_UP); System.out.println("Difference:"); System.out.println(MarshallerUtil.sizeInBytes(dc) - dc.stripTrailingZeros().setScale(0, RoundingMode.HALF_UP).unscaledValue().toByteArray().length); {code} The code prints: {code} Difference: 427 {code} Let's update BinaryTuple format to store such numbers in more compact form that does not store trailing zeros. *UPDATE* Binary tuple stores bigdecimal in compact form after IGNITE-21745. This issue is about pre-allocation buffer for binary tuple. Look at the {{TupleMarshallerImpl#gatherStatistics}} for example. It estimates the size bigdecimal, including trailing zeros, causing the pre-allocated buffer to be significantly larger than required. > Use compact representation of BigDecimal with large scale for integers / > numbers with trailing zeros > > > Key: IGNITE-22061 > URL: https://issues.apache.org/jira/browse/IGNITE-22061 > Project: Ignite > Issue Type: Improvement >Reporter: Maksim Zhuravkov >Priority: Major > Labels: ignite-3 > > BigDecimals that represent integer numbers can take up a lot of space, when > scale is specified: > {code:java} > BigDecimal dc = new BigDecimal("").setScale(1024, > RoundingMode.HALF_UP); > System.out.println("Difference:"); > System.out.println(MarshallerUtil.sizeInBytes(dc) - > dc.stripTrailingZeros().setScale(0, > RoundingMode.HALF_UP).unscaledValue().toByteArray().length); > {code} > The code prints: > {code} > Difference: > 427 > {code} > Let's update BinaryTuple format to store such numbers in more compact form > that does not store trailing zeros. > *UPDATE* > Binary tuple stores bigdecimal in compact form after IGNITE-21745. > This issue is about pre-allocation buffer for binary tuple. > Look at the {{TupleMarshallerImpl#gatherStatistics}} for example. > It estimates the size of BigDecimal, including trailing zeros, causing the > pre-allocated buffer to be significantly larger than required. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (IGNITE-22061) Use compact representation of BigDecimal with large scale for integers / numbers with trailing zeros
[ https://issues.apache.org/jira/browse/IGNITE-22061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Pereslegin updated IGNITE-22061: -- Description: BigDecimals that represent integer numbers can take up a lot of space, when scale is specified: {code:java} BigDecimal dc = new BigDecimal("").setScale(1024, RoundingMode.HALF_UP); System.out.println("Difference:"); System.out.println(MarshallerUtil.sizeInBytes(dc) - dc.stripTrailingZeros().setScale(0, RoundingMode.HALF_UP).unscaledValue().toByteArray().length); {code} The code prints: {code} Difference: 427 {code} Let's update BinaryTuple format to store such numbers in more compact form that does not store trailing zeros. was: BigDecimals that represent integer numbers can take up a lot of space, when scale is specified: {code:java} BigDecimal dc = new BigDecimal("").setScale(1024, RoundingMode.HALF_UP); System.out.println("Difference:"); System.out.println(MarshallerUtil.sizeInBytes(dc) - dc.stripTrailingZeros().setScale(0, RoundingMode.HALF_UP).unscaledValue().toByteArray().length); {code} The code prints: {code} Difference: 427 {code} Let's update BinaryTuple format to store such numbers in more compact form that does not store trailing zeros. *UPDATE* The > Use compact representation of BigDecimal with large scale for integers / > numbers with trailing zeros > > > Key: IGNITE-22061 > URL: https://issues.apache.org/jira/browse/IGNITE-22061 > Project: Ignite > Issue Type: Improvement >Reporter: Maksim Zhuravkov >Priority: Major > Labels: ignite-3 > > BigDecimals that represent integer numbers can take up a lot of space, when > scale is specified: > {code:java} > BigDecimal dc = new BigDecimal("").setScale(1024, > RoundingMode.HALF_UP); > System.out.println("Difference:"); > System.out.println(MarshallerUtil.sizeInBytes(dc) - > dc.stripTrailingZeros().setScale(0, > RoundingMode.HALF_UP).unscaledValue().toByteArray().length); > {code} > The code prints: > {code} > Difference: > 427 > {code} > Let's update BinaryTuple format to store such numbers in more compact form > that does not store trailing zeros. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (IGNITE-22061) Use compact representation of BigDecimal with large scale for integers / numbers with trailing zeros
[ https://issues.apache.org/jira/browse/IGNITE-22061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Pereslegin updated IGNITE-22061: -- Description: BigDecimals that represent integer numbers can take up a lot of space, when scale is specified: {code:java} BigDecimal dc = new BigDecimal("").setScale(1024, RoundingMode.HALF_UP); System.out.println("Difference:"); System.out.println(MarshallerUtil.sizeInBytes(dc) - dc.stripTrailingZeros().setScale(0, RoundingMode.HALF_UP).unscaledValue().toByteArray().length); {code} The code prints: {code} Difference: 427 {code} Let's update BinaryTuple format to store such numbers in more compact form that does not store trailing zeros. *UPDATE* The was: BigDecimals that represent integer numbers can take up a lot of space, when scale is specified: {code:java} BigDecimal dc = new BigDecimal("").setScale(1024, RoundingMode.HALF_UP); System.out.println("Difference:"); System.out.println(MarshallerUtil.sizeInBytes(dc) - dc.stripTrailingZeros().setScale(0, RoundingMode.HALF_UP).unscaledValue().toByteArray().length); {code} The code prints: {code} Difference: 427 {code} Let's update BinaryTuple format to store such numbers in more compact form that does not store trailing zeros. > Use compact representation of BigDecimal with large scale for integers / > numbers with trailing zeros > > > Key: IGNITE-22061 > URL: https://issues.apache.org/jira/browse/IGNITE-22061 > Project: Ignite > Issue Type: Improvement >Reporter: Maksim Zhuravkov >Priority: Major > Labels: ignite-3 > > BigDecimals that represent integer numbers can take up a lot of space, when > scale is specified: > {code:java} > BigDecimal dc = new BigDecimal("").setScale(1024, > RoundingMode.HALF_UP); > System.out.println("Difference:"); > System.out.println(MarshallerUtil.sizeInBytes(dc) - > dc.stripTrailingZeros().setScale(0, > RoundingMode.HALF_UP).unscaledValue().toByteArray().length); > {code} > The code prints: > {code} > Difference: > 427 > {code} > Let's update BinaryTuple format to store such numbers in more compact form > that does not store trailing zeros. > *UPDATE* > The -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (IGNITE-22061) Use compact representation of BigDecimal with large scale for integers / numbers with trailing zeros
[ https://issues.apache.org/jira/browse/IGNITE-22061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Pereslegin updated IGNITE-22061: -- Component/s: (was: sql) > Use compact representation of BigDecimal with large scale for integers / > numbers with trailing zeros > > > Key: IGNITE-22061 > URL: https://issues.apache.org/jira/browse/IGNITE-22061 > Project: Ignite > Issue Type: Improvement >Reporter: Maksim Zhuravkov >Assignee: Pavel Pereslegin >Priority: Major > Labels: ignite-3 > > BigDecimals that represent integer numbers can take up a lot of space, when > scale is specified: > {code:java} > BigDecimal dc = new BigDecimal("").setScale(1024, > RoundingMode.HALF_UP); > System.out.println("Difference:"); > System.out.println(MarshallerUtil.sizeInBytes(dc) - > dc.stripTrailingZeros().setScale(0, > RoundingMode.HALF_UP).unscaledValue().toByteArray().length); > {code} > The code prints: > {code} > Difference: > 427 > {code} > Let's update BinaryTuple format to store such numbers in more compact form > that does not store trailing zeros. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (IGNITE-22061) Use compact representation of BigDecimal with large scale for integers / numbers with trailing zeros
[ https://issues.apache.org/jira/browse/IGNITE-22061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Pereslegin updated IGNITE-22061: -- Component/s: sql > Use compact representation of BigDecimal with large scale for integers / > numbers with trailing zeros > > > Key: IGNITE-22061 > URL: https://issues.apache.org/jira/browse/IGNITE-22061 > Project: Ignite > Issue Type: Improvement > Components: sql >Reporter: Maksim Zhuravkov >Assignee: Pavel Pereslegin >Priority: Major > Labels: ignite-3 > > BigDecimals that represent integer numbers can take up a lot of space, when > scale is specified: > {code:java} > BigDecimal dc = new BigDecimal("").setScale(1024, > RoundingMode.HALF_UP); > System.out.println("Difference:"); > System.out.println(MarshallerUtil.sizeInBytes(dc) - > dc.stripTrailingZeros().setScale(0, > RoundingMode.HALF_UP).unscaledValue().toByteArray().length); > {code} > The code prints: > {code} > Difference: > 427 > {code} > Let's update BinaryTuple format to store such numbers in more compact form > that does not store trailing zeros. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (IGNITE-22061) Use compact representation of BigDecimal with large scale for integers / numbers with trailing zeros
[ https://issues.apache.org/jira/browse/IGNITE-22061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Iurii Gerzhedovich updated IGNITE-22061: Component/s: (was: sql) > Use compact representation of BigDecimal with large scale for integers / > numbers with trailing zeros > > > Key: IGNITE-22061 > URL: https://issues.apache.org/jira/browse/IGNITE-22061 > Project: Ignite > Issue Type: Improvement >Reporter: Maksim Zhuravkov >Priority: Major > Labels: ignite-3 > > BigDecimals that represent integer numbers can take up a lot of space, when > scale is specified: > {code:java} > BigDecimal dc = new BigDecimal("").setScale(1024, > RoundingMode.HALF_UP); > System.out.println("Difference:"); > System.out.println(MarshallerUtil.sizeInBytes(dc) - > dc.stripTrailingZeros().setScale(0, > RoundingMode.HALF_UP).unscaledValue().toByteArray().length); > {code} > The code prints: > {code} > Difference: > 427 > {code} > Let's update BinaryTuple format to store such numbers in more compact form > that does not store trailing zeros. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (IGNITE-22061) Use compact representation of BigDecimal with large scale for integers / numbers with trailing zeros
[ https://issues.apache.org/jira/browse/IGNITE-22061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Iurii Gerzhedovich updated IGNITE-22061: Summary: Use compact representation of BigDecimal with large scale for integers / numbers with trailing zeros (was: Sql. Use compact representation of BigDecimal with large scale for integers / numbers with trailing zeros) > Use compact representation of BigDecimal with large scale for integers / > numbers with trailing zeros > > > Key: IGNITE-22061 > URL: https://issues.apache.org/jira/browse/IGNITE-22061 > Project: Ignite > Issue Type: Improvement > Components: sql >Reporter: Maksim Zhuravkov >Priority: Major > > BigDecimals that represent integer numbers can take up a lot of space, when > scale is specified: > {code:java} > BigDecimal dc = new BigDecimal("").setScale(1024, > RoundingMode.HALF_UP); > System.out.println("Difference:"); > System.out.println(MarshallerUtil.sizeInBytes(dc) - > dc.stripTrailingZeros().setScale(0, > RoundingMode.HALF_UP).unscaledValue().toByteArray().length); > {code} > The code prints: > {code} > Difference: > 427 > {code} > Let's update BinaryTuple format to store such numbers in more compact form > that does not store trailing zeros. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (IGNITE-22061) Use compact representation of BigDecimal with large scale for integers / numbers with trailing zeros
[ https://issues.apache.org/jira/browse/IGNITE-22061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Maksim Zhuravkov updated IGNITE-22061: -- Ignite Flags: (was: Docs Required,Release Notes Required) > Use compact representation of BigDecimal with large scale for integers / > numbers with trailing zeros > > > Key: IGNITE-22061 > URL: https://issues.apache.org/jira/browse/IGNITE-22061 > Project: Ignite > Issue Type: Improvement > Components: sql >Reporter: Maksim Zhuravkov >Priority: Major > Labels: ignite-3 > > BigDecimals that represent integer numbers can take up a lot of space, when > scale is specified: > {code:java} > BigDecimal dc = new BigDecimal("").setScale(1024, > RoundingMode.HALF_UP); > System.out.println("Difference:"); > System.out.println(MarshallerUtil.sizeInBytes(dc) - > dc.stripTrailingZeros().setScale(0, > RoundingMode.HALF_UP).unscaledValue().toByteArray().length); > {code} > The code prints: > {code} > Difference: > 427 > {code} > Let's update BinaryTuple format to store such numbers in more compact form > that does not store trailing zeros. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (IGNITE-22061) Use compact representation of BigDecimal with large scale for integers / numbers with trailing zeros
[ https://issues.apache.org/jira/browse/IGNITE-22061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Iurii Gerzhedovich updated IGNITE-22061: Labels: ignite-3 (was: ) > Use compact representation of BigDecimal with large scale for integers / > numbers with trailing zeros > > > Key: IGNITE-22061 > URL: https://issues.apache.org/jira/browse/IGNITE-22061 > Project: Ignite > Issue Type: Improvement > Components: sql >Reporter: Maksim Zhuravkov >Priority: Major > Labels: ignite-3 > > BigDecimals that represent integer numbers can take up a lot of space, when > scale is specified: > {code:java} > BigDecimal dc = new BigDecimal("").setScale(1024, > RoundingMode.HALF_UP); > System.out.println("Difference:"); > System.out.println(MarshallerUtil.sizeInBytes(dc) - > dc.stripTrailingZeros().setScale(0, > RoundingMode.HALF_UP).unscaledValue().toByteArray().length); > {code} > The code prints: > {code} > Difference: > 427 > {code} > Let's update BinaryTuple format to store such numbers in more compact form > that does not store trailing zeros. -- This message was sent by Atlassian Jira (v8.20.10#820010)