[infinispan-issues] [JBoss JIRA] (ISPN-9778) XidImpl implementations can optimize some byte[] allocations
William Burns (Jira)
issues at jboss.org
Wed Nov 28 15:38:02 EST 2018
[ https://issues.jboss.org/browse/ISPN-9778?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
William Burns updated ISPN-9778:
--------------------------------
Description:
The EmbeddedXid and XidImpl classes show up on profiler for allocating byte[] in a local environment.
1. We should be able to remove the branch byte[] completely as well as its accompanying AtomicInteger and just return an empty byte[] that is cached (ie. Util.EMPTY_BYTE_ARRAY).
2. We can use the byte[] that is provided from the create method directly in XidImpl, which would reduce our allocation to just the 1 byte\[24\] for embedded or byte\[32\] for remote.
-3. We can return the byte[] directly for getGlobalTransactionId without copying.-
was:
The EmbeddedXid and XidImpl classes show up on profiler for allocating byte[] in a local environment.
1. We should be able to remove the branch byte[] completely as well as its accompanying AtomicInteger and just return an empty byte[] that is cached (ie. Util.EMPTY_BYTE_ARRAY).
2. We can use the byte[] that is provided from the create method directly in XidImpl, which would reduce our allocation to just the 1 byte[24] for embedded or byte[32] for remote.
3. We can return the byte[] directly for getGlobalTransactionId without copying.
> XidImpl implementations can optimize some byte[] allocations
> ------------------------------------------------------------
>
> Key: ISPN-9778
> URL: https://issues.jboss.org/browse/ISPN-9778
> Project: Infinispan
> Issue Type: Bug
> Components: Transactions
> Reporter: William Burns
> Priority: Major
> Fix For: 10.0.0.Alpha2
>
>
> The EmbeddedXid and XidImpl classes show up on profiler for allocating byte[] in a local environment.
> 1. We should be able to remove the branch byte[] completely as well as its accompanying AtomicInteger and just return an empty byte[] that is cached (ie. Util.EMPTY_BYTE_ARRAY).
> 2. We can use the byte[] that is provided from the create method directly in XidImpl, which would reduce our allocation to just the 1 byte\[24\] for embedded or byte\[32\] for remote.
> -3. We can return the byte[] directly for getGlobalTransactionId without copying.-
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
More information about the infinispan-issues
mailing list