Uploaded image for project: 'PDFBox'
  1. PDFBox
  2. PDFBOX-3421

Optimize float to string conversion in PDAbstractContentStream

    Details

      Description

      Drawing lines in a PDF (and also other operations) writes the coordinates to the content stream. Currently, the PDAbstractContentStream#writeOperand(float) method uses the NumberFormat class to convert the float values. This is inefficient for multiple reasons:

      • NumberFormat is designed to format numbers locale dependent. That is not needed in this case
      • NumberFormat uses a pattern to format the value which is also not needed in this case
      • The formatting first creates a String object, converts it to a byte array with ASCII encoding and then writes it to the stream. This generates a lot of garbage.

      A different approach to formatting real operands should be used.

        Attachments

          Activity

            People

            • Assignee:
              tilman Tilman Hausherr
              Reporter:
              michaeldoswald Michael Doswald
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: