reducing-processing-time.dita 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd" >
  3. <!-- This file is part of the DITA Open Toolkit project. See the accompanying LICENSE file for applicable license. -->
  4. <topic id="reducing-processing-time" xml:lang="en-US">
  5. <title>Speeding up builds</title>
  6. <shortdesc>Several configuration changes can significantly reduce DITA-OT processing time.</shortdesc>
  7. <prolog>
  8. <metadata>
  9. <keywords>
  10. <indexterm><xmlatt>xtrf</xmlatt></indexterm>
  11. <indexterm><xmlatt>xtrc</xmlatt></indexterm>
  12. <indexterm>processing time</indexterm>
  13. <indexterm>Java
  14. <indexterm>required version</indexterm></indexterm>
  15. <indexterm>debugging
  16. <indexterm>generate-debug-attributes</indexterm></indexterm>
  17. </keywords>
  18. </metadata>
  19. </prolog>
  20. <body>
  21. <section>
  22. <title>Disable debug attribute generation</title>
  23. <p>The <parmname>generate-debug-attributes</parmname> parameter determines whether debugging attributes are
  24. generated in the temporary files. By changing the value to <codeph>false</codeph>, DITA-OT will no longer
  25. generate the <xmlatt>xtrf</xmlatt> and <xmlatt>xtrc</xmlatt> debug attributes. This will make it more
  26. difficult to track down the source file location from which a given issue may have originated, but it will
  27. reduce the size of the temporary files. As a result, XML parsing will take less time and overall processing
  28. time will be reduced.</p>
  29. </section>
  30. <section>
  31. <title>Use a fast disk for the temporary directory</title>
  32. <p>DITA-OT keeps topic and map files as separate files and processes each file multiple times during
  33. preprocessing. Thus reading from disk, parsing XML, serializing XML, and writing to disk makes processing
  34. quite I/O intensive. Use either an
  35. <xref href="http://en.wikipedia.org/wiki/Solid-state_drive" scope="external" format="html">SSD</xref> or a
  36. <xref href="http://en.wikipedia.org/wiki/RAM_drive" scope="external" format="html">RAM disk</xref> for
  37. temporary files, and never use a temporary directory that is not located on the same machine as where the
  38. processing takes place.</p>
  39. </section>
  40. <section>
  41. <title>Reuse the JVM instance</title>
  42. <p>For all but extremely large source sets, the JVM will not have enough time to warm-up. By reusing the same
  43. JVM instance, the first few DITA-OT conversions will be “normal”, but when the JIT starts to kick in, the
  44. performance increase may be 2-10 fold. This is especially noticeable with smaller source sets, as much of
  45. the DITA-OT processing is I/O intensive.</p>
  46. </section>
  47. <section>
  48. <title>Use the latest Java version</title>
  49. <p>DITA-OT 2.0 to 2.3 require Java 7, and DITA-OT 2.4 and newer require Java 8. However, using a newer version
  50. of Java can further reduce processing time.</p>
  51. </section>
  52. </body>
  53. <related-links>
  54. <linklist>
  55. <title>Collected links</title>
  56. <link href="http://en.wikipedia.org/wiki/Solid-state_drive" scope="external" format="html">
  57. <linktext>SSD</linktext>
  58. </link>
  59. <link href="http://en.wikipedia.org/wiki/RAM_drive" scope="external" format="html">
  60. <linktext>RAM disk</linktext>
  61. </link>
  62. </linklist>
  63. </related-links>
  64. </topic>