Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
Version 2.5
-
None
Description
We are using 30 mb large byte[] string represented as base64 binary type in shema and it is causing out of memory for us on server. Basically converting from base64 string to byte[] is not very efficient.
JavaBase64Holder.java is using: vBytes = v.getBytes("UTF-8") and according to http://www.evanjones.ca/software/java-string-encoding-internals.html it uses base64 size * 4. In our case where there is 30mb large byte[] it uses around 160 mb just for converting string into byte[].
Would it be possible to use v.getBytes("ASCII")? This would reduce the memory usage when converting from string to byte[] by 4 times.
According to http://www.w3.org/TR/xmlschema-2/#base64Binary it should use only ASCII chars anyway.