After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 759616 - Performance test for gegl:translate fast paths
Performance test for gegl:translate fast paths
Status: RESOLVED FIXED
Product: GEGL
Classification: Other
Component: general
git master
Other All
: Normal normal
: ---
Assigned To: Default Gegl Component Owner
Default Gegl Component Owner
Depends on:
Blocks:
 
 
Reported: 2015-12-18 06:45 UTC by Debarshi Ray
Modified: 2016-01-05 15:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
perf: Test gegl:translate fast paths (3.02 KB, patch)
2015-12-18 06:47 UTC, Debarshi Ray
none Details | Review
perf: Test gegl:translate fast paths (3.53 KB, patch)
2015-12-18 07:06 UTC, Debarshi Ray
none Details | Review
perf: Test gegl:translate fast paths (3.69 KB, patch)
2015-12-28 09:41 UTC, Debarshi Ray
committed Details | Review

Description Debarshi Ray 2015-12-18 06:45:55 UTC
Let's write a performance test for gegl:translate to stress the integer translation and NEAREST sampler fast paths.

On my i7, if the fast paths are working as expected I see a throughput of more than 8000 megabytes/second. Otherwise (eg., with bugs like 758534) they can drop to 1300 to 1400 megabytes/second.
Comment 1 Debarshi Ray 2015-12-18 06:47:10 UTC
Created attachment 317607 [details] [review]
perf: Test gegl:translate fast paths
Comment 2 Debarshi Ray 2015-12-18 07:06:25 UTC
Created attachment 317608 [details] [review]
perf: Test gegl:translate fast paths

Expand a bit on why a "R'G'B' u8" buffer was chosen.
Comment 3 Debarshi Ray 2015-12-28 09:41:34 UTC
Created attachment 317954 [details] [review]
perf: Test gegl:translate fast paths

Clarify the performance figures a bit more, and use a better name for the integer translation test.
Comment 4 Debarshi Ray 2016-01-05 15:08:44 UTC
commit 171e1b9d3204829069ade6aa9fba248a107387d6
Author: Debarshi Ray <debarshir@gnome.org>
Date:   Fri Dec 18 07:10:31 2015 +0100

    perf: Test gegl:translate fast paths
    
    A "R'G'B' u8" buffer nicely demonstrates all the aspects of the fast
    paths - the buffer shifting trick and avoiding Babl format conversions.
    eg., on a Intel Core i7 it gives a throughput of more than 8000 MB/s,
    and if (needless) Babl conversions are introduced it drops to 1300 to
    1400 MB/s.
    
    On the other hand, a "RGBA float" buffer always performs at 1200 to
    1300 MB/s, whether we avoid the Babl conversions or not. Presumably,
    this is because converting "RGBA float" pixels to "RaGaBaA float" is
    as fast as a NOP.
    
    (The general fall in performance of "RGBA float" buffers is simply
    because they have more bytes than their "R'G'B' u8" counterparts.)
    
    https://bugzilla.gnome.org/show_bug.cgi?id=759616