[ 
https://issues.apache.org/jira/browse/ARTEMIS-5048?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Bertram updated ARTEMIS-5048:
------------------------------------
    Description: 
We've traditionally used {{org.apache.activemq.artemis.utils.Base64}} for 
Base64 encoding/decoding. This implementation is based on public domain code 
from http://iharder.net/base64. 

In Java 8 {{java.util.Base64}} was introduced. I assumed we hadn't switched to 
this implementation for performance reasons so I created a simple JMH-based 
test to compare the two implementations and it appears to me that 
{{java.util.Base64}} is significantly faster than our current implementation. 
Using the JDK's class will simplify our code _and_ improve performance. Also, 
it should be 100% backwards compatible since Base64 encoding/decoding is 
standardized.

  was:
We've traditionally used {{org.apache.activemq.artemis.utils.Base64}} for 
Base64 encoding/decoding. This implementation is based on public domain code 
from http://iharder.net/base64. 

In Java 5 {{java.util.Base64}} was introduced. I assumed we hadn't switched to 
this implementation for performance reasons so I created a simple JMH-based 
test to compare the two implementations and it appears to me that 
{{java.util.Base64}} is significantly faster than our current implementation. 
Using the JDK's class will simplify our code _and_ improve performance. Also, 
it should be 100% backwards compatible since Base64 encoding/decoding is 
standardized.


> Use java.util.Base64
> --------------------
>
>                 Key: ARTEMIS-5048
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5048
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>            Reporter: Justin Bertram
>            Assignee: Justin Bertram
>            Priority: Major
>
> We've traditionally used {{org.apache.activemq.artemis.utils.Base64}} for 
> Base64 encoding/decoding. This implementation is based on public domain code 
> from http://iharder.net/base64. 
> In Java 8 {{java.util.Base64}} was introduced. I assumed we hadn't switched 
> to this implementation for performance reasons so I created a simple 
> JMH-based test to compare the two implementations and it appears to me that 
> {{java.util.Base64}} is significantly faster than our current implementation. 
> Using the JDK's class will simplify our code _and_ improve performance. Also, 
> it should be 100% backwards compatible since Base64 encoding/decoding is 
> standardized.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to