aboutsummaryrefslogtreecommitdiffstats
path: root/manual
diff options
context:
space:
mode:
Diffstat (limited to 'manual')
-rw-r--r--manual/installation.rst12
-rw-r--r--manual/release-notes.rst14
2 files changed, 26 insertions, 0 deletions
diff --git a/manual/installation.rst b/manual/installation.rst
index e02380ee..08c49765 100644
--- a/manual/installation.rst
+++ b/manual/installation.rst
@@ -257,6 +257,16 @@ CHECK_SIZES
that ensures an exact match between classes in ``sizes.cc`` and
classes in the library's public API. This option requires Python 3.
+ENABLE_QTC
+ This is off by default, except in maintainer mode. When off,
+ ``QTC::TC`` calls are compiled out by having ``QTC::TC`` be an empty
+ inline function. The underlying ``QTC::TC`` remains in the library,
+ so it is possible to build and package the qpdf library with
+ ``ENABLE_QTC`` turned off while still allowing developer code to use
+ ``QTC::TC`` if desired. If you are modifying qpdf code, it's a good
+ idea to have this on for more robust automated testing. Otherwise,
+ there's no reason to have it on.
+
GENERATE_AUTO_JOB
Some qpdf source files are automatically generated from
:file:`job.yml` and the CLI documentation. If you are adding new
@@ -297,6 +307,8 @@ MAINTAINER_MODE
- ``CHECK_SIZES``
+ - ``ENABLE_QTC``
+
- ``GENERATE_AUTO_JOB``
- ``WERROR``
diff --git a/manual/release-notes.rst b/manual/release-notes.rst
index ebbfd4f5..ab2c1d8e 100644
--- a/manual/release-notes.rst
+++ b/manual/release-notes.rst
@@ -7,6 +7,12 @@ For a detailed list of changes, please see the file
:file:`ChangeLog` in the source distribution.
11.0.0
+ - Performance improvements
+
+ - Many performance enhancements have been added. In developer
+ performance benchmarks, gains on the order of 20% have been
+ observed.
+
- Replacement of ``PointerHolder`` with ``std::shared_ptr``
- The qpdf-specific ``PointerHolder`` smart pointer implementation
@@ -231,6 +237,14 @@ For a detailed list of changes, please see the file
- The qpdf source code is now formatted automatically with
``clang-format``. See :ref:`code-formatting` for information.
+ - Test coverage with ``QTC`` is enabled during development but
+ compiled out of distributed qpdf binaries by default. This
+ results in a significant performance improvement, especially on
+ Windows. ``QTC::TC`` is still available in the library and is
+ still usable by end user code even though calls to it made
+ internally by the library are turned off. Internally, there is
+ some additional caching to reduce the overhead of repeatedly
+ reading environment variables at runtime.
10.6.3: March 8, 2022
- Announcement of upcoming change: