[ https://issues.apache.org/jira/browse/PDFBOX-5579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17703910#comment-17703910 ]
Axel Howind commented on PDFBOX-5579: ------------------------------------- But BigDecimal is only used for parsing and my patch still uses BigDecimal when it is needed, but only then. I did not replace BigDecimal by float, just Float by float and optimized the parsing. I am confident the new code produces the same results and all tests pass. The issue you linked has a lot of text. Can you point me to the exact problem at hand? > Change COSFloat.value to primitive type, do not use BigDecimal if not > necessary > ------------------------------------------------------------------------------- > > Key: PDFBOX-5579 > URL: https://issues.apache.org/jira/browse/PDFBOX-5579 > Project: PDFBox > Issue Type: Improvement > Affects Versions: 3.0.0 PDFBox > Reporter: Axel Howind > Priority: Minor > Attachments: > change_value_to_final_float_(primitive)_and_optimize_string_formatting.patch > > > Using the primitive type here uses both less memory and also reduces overhead > because less boxing/unboxing needs to be done. > I changed value from `private Float value` to `private final float`. > I also changed the formatting code in two small details: > # using BigDecimal is really just necessary, if the value is formatted to > scientific notation. Since Float.toString() is called anyway, we can check > for presence of an exponent ('E') and if none is found, return the already > created string. > # I removed the trimZeroes() method and let BigDecimal handle this so that > the zeroes are removed before converting to a string. > I left valueAsString to be computed lazily when the string representation is > not already known in the constructor call. It would also be possible to make > valueAsString final, but then it might be computed unnecessarily, if > formatString() is never called on the instance. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org For additional commands, e-mail: dev-h...@pdfbox.apache.org