Bug 50993 - better support for multicore platforms
Summary: better support for multicore platforms
Alias: None
Product: poppler
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: All All
: medium enhancement
Assignee: poppler-bugs
QA Contact:
Depends on:
Reported: 2012-06-12 00:29 UTC by Paul Millar
Modified: 2018-08-21 10:42 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Description Paul Millar 2012-06-12 00:29:34 UTC
Historically, computers have achieved increased performance by some combination of increasing CPU clock-frequency and CPU complexity.  In recent years, this tread has abated, with modern computers achieving increased performance by having multiple independent cores, with each core showing only modest improvements to performance over time.  Therefore, for software to show an increase in performance, it is increasingly important that the software be able to spread its load over several CPU cores.

I believe that, currently, poppler is limited to single-threaded rendering.  While this helps keep the code simple, the performance (against the platform's potential) suffers.

This bug requests that poppler be extended to include support multi-threaded rendering.  This would allow poppler to utilise all the cores concurrently, so drastically decrease the time take to render each page of a document on a modern computer.


Comment 1 Thomas Freitag 2012-06-12 01:41:48 UTC
Isn't this the same as Your just reported bug 50992?
Comment 2 Paul Millar 2012-06-12 02:06:34 UTC
Hi Thomas,

Again, thanks for the quick reply.

My apologies if it's the same, but I don't believe so.

In bug 50992, I'm asking that the API is thread-safe; that is, that multiple threads may call the poppler API without any potential corruption of any global state and, ideally, without contention between the different calling threads.  This was the specific deficiency mentioned by the Okular developer when closing the ticket linked to in that bug.

In this bug, I'm asking that a single API call uses as many cores as possible; that is, with a single rendering request, poppler makes best use of the available CPU cores.

I believe that currently poppler is single threaded, so will use only a single core.

Does that help explain the difference?


Comment 3 GitLab Migration User 2018-08-21 10:42:33 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/poppler/poppler/issues/338.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.