BitStream: do *NOT* inline fillSafe(); -1% median, up to -8% on extreme
BitStream: do *NOT* inline fillSafe(); -1% median, up to -8% on extreme

In non-DEBUG builds, fillSafe() will be called at most once
per the life-time of the BitStream therefore it should *NOT* be inlined
into the normal codepath.

Benchmark is interesting.
On average (over all rpu-u samples), this results in -1% improvement

Granted, any good PGO will do this outlining.
But even OBS-based darktable builds don't yet use PGO..

But there are three most notable outliers:

raw.pixls.us-unique$ /usr/src/googlebenchmark/tools/compare.py -a benchmarks ~/rawspeed/build-Clang-Release/src/utilities/rsbench/rsbench{-old,} --benchmark_counters_tabular=true  --benchmark_repetitions=16 "Samsung/NX30/2015-03-07-163604_sam_7204.srw" "Phase One/P65/CF027310.IIQ" "Sony/ILCE-7RM2/14-bit-compressed.ARW"
RUNNING: /home/lebedevri/rawspeed/build-Clang-Release/src/utilities/rsbench/rsbench-old --benchmark_counters_tabular=true --benchmark_repetitions=16 Samsung/NX30/2015-03-07-163604_sam_7204.srw Phase One/P65/CF027310.IIQ Sony/ILCE-7RM2/14-bit-compressed.ARW --benchmark_display_aggregates_only=true --benchmark_out=/tmp/tmpJyGqx5
2018-12-23 21:42:48
Running /home/lebedevri/rawspeed/build-Clang-Release/src/utilities/rsbench/rsbench-old
Run on (8 X 4000 MHz CPU s)
CPU Caches:
  L1 Data 16K (x8)
  L1 Instruction 64K (x4)
  L2 Unified 2048K (x4)
  L3 Unified 8192K (x1)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Benchmark                                                                       Time           CPU Iterations  CPUTime,s CPUTime/WallTime     Pixels Pixels/CPUTime Pixels/WallTime Raws/CPUTime Raws/WallTime WallTime,s
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Samsung/NX30/2015-03-07-163604_sam_7204.srw/threads:8/real_time_mean          152 ms        152 ms         16   0.151711                1   20.5978M       135.773M        135.774M      6.59162       6.59164    0.15171
Samsung/NX30/2015-03-07-163604_sam_7204.srw/threads:8/real_time_median        152 ms        152 ms         16   0.151649                1   20.5978M       135.826M        135.826M      6.59417       6.59418   0.151649
Samsung/NX30/2015-03-07-163604_sam_7204.srw/threads:8/real_time_stddev          1 ms          1 ms         16   677.237u         8.11041u          0       605.466k        605.011k    0.0293946     0.0293725    676.73u
Phase One/P65/CF027310.IIQ/threads:8/real_time_mean                            94 ms          2 ms         16   0.696137          7.42436   61.3002M       88.0582M        653.749M      1.43651       10.6647  0.0938078
Phase One/P65/CF027310.IIQ/threads:8/real_time_median                          93 ms          2 ms         16   0.696454          7.45875   61.3002M       88.0176M        657.849M      1.43584       10.7316  0.0931828
Phase One/P65/CF027310.IIQ/threads:8/real_time_stddev                           2 ms          0 ms         16   1.87391m         0.168499          0       237.794k        13.6903M     3.87917m      0.223333   2.06766m
Sony/ILCE-7RM2/14-bit-compressed.ARW/threads:8/real_time_mean                  70 ms          1 ms         16   0.524276          7.53609     42.56M       81.1789M        611.769M       1.9074       14.3743  0.0695781
Sony/ILCE-7RM2/14-bit-compressed.ARW/threads:8/real_time_median                69 ms          1 ms         16   0.524267          7.55481     42.56M       81.1799M        613.551M      1.90742       14.4161  0.0693669
Sony/ILCE-7RM2/14-bit-compressed.ARW/threads:8/real_time_stddev                 1 ms          0 ms         16   838.301u        0.0916294          0       129.772k        7.28894M     3.04915m      0.171263   839.695u
RUNNING: /home/lebedevri/rawspeed/build-Clang-Release/src/utilities/rsbench/rsbench --benchmark_counters_tabular=true --benchmark_repetitions=16 Samsung/NX30/2015-03-07-163604_sam_7204.srw Phase One/P65/CF027310.IIQ Sony/ILCE-7RM2/14-bit-compressed.ARW --benchmark_display_aggregates_only=true --benchmark_out=/tmp/tmpwlwkIW
2018-12-23 21:43:23
Running /home/lebedevri/rawspeed/build-Clang-Release/src/utilities/rsbench/rsbench
Run on (8 X 4000 MHz CPU s)
CPU Caches:
  L1 Data 16K (x8)
  L1 Instruction 64K (x4)
  L2 Unified 2048K (x4)
  L3 Unified 8192K (x1)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Benchmark                                                                       Time           CPU Iterations  CPUTime,s CPUTime/WallTime     Pixels Pixels/CPUTime Pixels/WallTime Raws/CPUTime Raws/WallTime WallTime,s
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Samsung/NX30/2015-03-07-163604_sam_7204.srw/threads:8/real_time_mean          139 ms        139 ms         16   0.138728                1   20.5978M       148.478M        148.478M      7.20844       7.20844   0.138728
Samsung/NX30/2015-03-07-163604_sam_7204.srw/threads:8/real_time_median        138 ms        138 ms         16   0.138493                1   20.5978M       148.728M        148.727M      7.22057       7.22051   0.138494
Samsung/NX30/2015-03-07-163604_sam_7204.srw/threads:8/real_time_stddev          1 ms          1 ms         16   531.219u         8.25203u          0       565.107k         564.73k    0.0274353     0.0274169   530.865u
Phase One/P65/CF027310.IIQ/threads:8/real_time_mean                            87 ms          2 ms         16   0.648953          7.46085   61.3002M       94.4603M        704.756M      1.54095       11.4968  0.0869838
Phase One/P65/CF027310.IIQ/threads:8/real_time_median                          87 ms          2 ms         16   0.648906          7.47631   61.3002M       94.4671M        706.409M      1.54106       11.5238  0.0867773
Phase One/P65/CF027310.IIQ/threads:8/real_time_stddev                           1 ms          0 ms         16   652.784u        0.0422617          0       95.0229k        4.26585M     1.55012m     0.0695895   527.819u
Sony/ILCE-7RM2/14-bit-compressed.ARW/threads:8/real_time_mean                  66 ms          1 ms         16   0.497903          7.53479     42.56M       85.4788M        644.071M      2.00843       15.1332  0.0660978
Sony/ILCE-7RM2/14-bit-compressed.ARW/threads:8/real_time_median                66 ms          1 ms         16   0.497743          7.55396     42.56M       85.5059M        645.599M      2.00907       15.1692  0.0659233
Sony/ILCE-7RM2/14-bit-compressed.ARW/threads:8/real_time_stddev                 1 ms          0 ms         16   922.688u         0.121212          0        158.39k        10.7795M     3.72157m      0.253278   1.15632m
Comparing /home/lebedevri/rawspeed/build-Clang-Release/src/utilities/rsbench/rsbench-old to /home/lebedevri/rawspeed/build-Clang-Release/src/utilities/rsbench/rsbench
Benchmark                                                                                Time             CPU      Time Old      Time New       CPU Old       CPU New
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Samsung/NX30/2015-03-07-163604_sam_7204.srw/threads:8/real_time_pvalue                 0.0000          0.0000      U Test, Repetitions: 16 vs 16
Samsung/NX30/2015-03-07-163604_sam_7204.srw/threads:8/real_time_mean                  -0.0856         -0.0856           152           139           152           139
Samsung/NX30/2015-03-07-163604_sam_7204.srw/threads:8/real_time_median                -0.0867         -0.0868           152           138           152           138
Samsung/NX30/2015-03-07-163604_sam_7204.srw/threads:8/real_time_stddev                -0.2156         -0.2157             1             1             1             1
Phase One/P65/CF027310.IIQ/threads:8/real_time_pvalue                                  0.0000          0.6923      U Test, Repetitions: 16 vs 16
Phase One/P65/CF027310.IIQ/threads:8/real_time_mean                                   -0.0727         +0.0008            94            87             2             2
Phase One/P65/CF027310.IIQ/threads:8/real_time_median                                 -0.0687         +0.0083            93            87             2             2
Phase One/P65/CF027310.IIQ/threads:8/real_time_stddev                                 -0.7447         -0.4704             2             1             0             0
Sony/ILCE-7RM2/14-bit-compressed.ARW/threads:8/real_time_pvalue                        0.0000          0.0000      U Test, Repetitions: 16 vs 16
Sony/ILCE-7RM2/14-bit-compressed.ARW/threads:8/real_time_mean                         -0.0500         -0.0594            70            66             1             1
Sony/ILCE-7RM2/14-bit-compressed.ARW/threads:8/real_time_median                       -0.0496         -0.0568            69            66             1             1
Sony/ILCE-7RM2/14-bit-compressed.ARW/threads:8/real_time_stddev                       +0.3771         +0.2115             1             1             0             0

darktable-org/rawspeed,darktable-org/rawspeed,darktable-org/rawspeed,LebedevRI/rawspeed,LebedevRI/rawspeed,darktable-org/rawspeed,LebedevRI/rawspeed,LebedevRI/rawspeed,darktable-org/rawspeed,LebedevRI/rawspeed