Skip to content

Cr2Decompressor: make whole-image decoding -10% faster. Wow?#626

Merged
LebedevRI merged 1 commit into
darktable-org:developfrom
LebedevRI:cr2
Jan 26, 2024
Merged

Cr2Decompressor: make whole-image decoding -10% faster. Wow?#626
LebedevRI merged 1 commit into
darktable-org:developfrom
LebedevRI:cr2

Conversation

@LebedevRI
Copy link
Copy Markdown
Member

Comparing src/utilities/rsbench/rsbench-old to src/utilities/rsbench/rsbench
Benchmark                                                                                                              Time             CPU      Time Old      Time New       CPU Old       CPU New
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
raw.pixls.us-unique/Canon/EOS 40D/_MG_0154.CR2/threads:32/process_time/real_time_pvalue                              0.0004          0.0004      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 40D/_MG_0154.CR2/threads:32/process_time/real_time_mean                               -0.0796         -0.0796            27            25            27            25
raw.pixls.us-unique/Canon/EOS 40D/_MG_0154.CR2/threads:32/process_time/real_time_median                             -0.0796         -0.0796            27            25            27            25
raw.pixls.us-unique/Canon/EOS 40D/_MG_0154.CR2/threads:32/process_time/real_time_stddev                             +0.4248         +0.4262             0             0             0             0
raw.pixls.us-unique/Canon/EOS 40D/_MG_0154.CR2/threads:32/process_time/real_time_cv                                 +0.5481         +0.5496             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5D Mark II/09.canon.sraw1.cr2/threads:32/process_time/real_time_pvalue                 0.0004          0.0004      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 5D Mark II/09.canon.sraw1.cr2/threads:32/process_time/real_time_mean                  -0.1362         -0.1359           105            91          3354          2898
raw.pixls.us-unique/Canon/EOS 5D Mark II/09.canon.sraw1.cr2/threads:32/process_time/real_time_median                -0.1392         -0.1386           105            91          3354          2890
raw.pixls.us-unique/Canon/EOS 5D Mark II/09.canon.sraw1.cr2/threads:32/process_time/real_time_stddev                +0.7775         +0.4946             1             1            19            29
raw.pixls.us-unique/Canon/EOS 5D Mark II/09.canon.sraw1.cr2/threads:32/process_time/real_time_cv                    +1.0577         +0.7297             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5D Mark II/10.canon.sraw2.cr2/threads:32/process_time/real_time_pvalue                 0.0004          0.0004      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 5D Mark II/10.canon.sraw2.cr2/threads:32/process_time/real_time_mean                  -0.0665         -0.0665            55            52            55            52
raw.pixls.us-unique/Canon/EOS 5D Mark II/10.canon.sraw2.cr2/threads:32/process_time/real_time_median                -0.0665         -0.0665            55            52            55            52
raw.pixls.us-unique/Canon/EOS 5D Mark II/10.canon.sraw2.cr2/threads:32/process_time/real_time_stddev                -0.9041         -0.9014             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5D Mark II/10.canon.sraw2.cr2/threads:32/process_time/real_time_cv                    -0.8972         -0.8943             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9927.CR2/threads:32/process_time/real_time_pvalue                              0.0004          0.0004      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9927.CR2/threads:32/process_time/real_time_mean                               -0.1502         -0.1502           225           191           225           191
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9927.CR2/threads:32/process_time/real_time_median                             -0.1496         -0.1496           225           192           225           192
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9927.CR2/threads:32/process_time/real_time_stddev                             +3.8736         +3.9278             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9927.CR2/threads:32/process_time/real_time_cv                                 +4.7349         +4.7987             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9928.CR2/threads:32/process_time/real_time_pvalue                              0.0004          0.6588      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9928.CR2/threads:32/process_time/real_time_mean                               -0.0764         +0.0020           267           247          6984          6998
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9928.CR2/threads:32/process_time/real_time_median                             -0.0756         -0.0010           267           247          6992          6984
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9928.CR2/threads:32/process_time/real_time_stddev                             +0.8443         +0.0099             1             1            38            38
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9928.CR2/threads:32/process_time/real_time_cv                                 +0.9967         +0.0080             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9929.CR2/threads:32/process_time/real_time_pvalue                              0.0004          0.0004      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9929.CR2/threads:32/process_time/real_time_mean                               -0.0689         -0.0689           154           144           154           144
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9929.CR2/threads:32/process_time/real_time_median                             -0.0682         -0.0682           154           144           154           144
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9929.CR2/threads:32/process_time/real_time_stddev                             +6.6731         +6.8931             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9929.CR2/threads:32/process_time/real_time_cv                                 +7.2405         +7.4768             0             0             0             0
raw.pixls.us-unique/Canon/EOS 77D/IMG_4049.CR2/threads:32/process_time/real_time_pvalue                              0.0004          0.0004      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 77D/IMG_4049.CR2/threads:32/process_time/real_time_mean                               -0.1334         -0.1334           151           131           151           131
raw.pixls.us-unique/Canon/EOS 77D/IMG_4049.CR2/threads:32/process_time/real_time_median                             -0.1333         -0.1333           151           131           151           131
raw.pixls.us-unique/Canon/EOS 77D/IMG_4049.CR2/threads:32/process_time/real_time_stddev                             +0.1553         +0.1940             0             0             0             0
raw.pixls.us-unique/Canon/EOS 77D/IMG_4049.CR2/threads:32/process_time/real_time_cv                                 +0.3331         +0.3777             0             0             0             0
OVERALL_GEOMEAN                                                                                                     -0.1022         -0.0917             0             0             0             0

```
Comparing src/utilities/rsbench/rsbench-old to src/utilities/rsbench/rsbench
Benchmark                                                                                                              Time             CPU      Time Old      Time New       CPU Old       CPU New
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
raw.pixls.us-unique/Canon/EOS 40D/_MG_0154.CR2/threads:32/process_time/real_time_pvalue                              0.0004          0.0004      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 40D/_MG_0154.CR2/threads:32/process_time/real_time_mean                               -0.0796         -0.0796            27            25            27            25
raw.pixls.us-unique/Canon/EOS 40D/_MG_0154.CR2/threads:32/process_time/real_time_median                             -0.0796         -0.0796            27            25            27            25
raw.pixls.us-unique/Canon/EOS 40D/_MG_0154.CR2/threads:32/process_time/real_time_stddev                             +0.4248         +0.4262             0             0             0             0
raw.pixls.us-unique/Canon/EOS 40D/_MG_0154.CR2/threads:32/process_time/real_time_cv                                 +0.5481         +0.5496             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5D Mark II/09.canon.sraw1.cr2/threads:32/process_time/real_time_pvalue                 0.0004          0.0004      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 5D Mark II/09.canon.sraw1.cr2/threads:32/process_time/real_time_mean                  -0.1362         -0.1359           105            91          3354          2898
raw.pixls.us-unique/Canon/EOS 5D Mark II/09.canon.sraw1.cr2/threads:32/process_time/real_time_median                -0.1392         -0.1386           105            91          3354          2890
raw.pixls.us-unique/Canon/EOS 5D Mark II/09.canon.sraw1.cr2/threads:32/process_time/real_time_stddev                +0.7775         +0.4946             1             1            19            29
raw.pixls.us-unique/Canon/EOS 5D Mark II/09.canon.sraw1.cr2/threads:32/process_time/real_time_cv                    +1.0577         +0.7297             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5D Mark II/10.canon.sraw2.cr2/threads:32/process_time/real_time_pvalue                 0.0004          0.0004      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 5D Mark II/10.canon.sraw2.cr2/threads:32/process_time/real_time_mean                  -0.0665         -0.0665            55            52            55            52
raw.pixls.us-unique/Canon/EOS 5D Mark II/10.canon.sraw2.cr2/threads:32/process_time/real_time_median                -0.0665         -0.0665            55            52            55            52
raw.pixls.us-unique/Canon/EOS 5D Mark II/10.canon.sraw2.cr2/threads:32/process_time/real_time_stddev                -0.9041         -0.9014             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5D Mark II/10.canon.sraw2.cr2/threads:32/process_time/real_time_cv                    -0.8972         -0.8943             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9927.CR2/threads:32/process_time/real_time_pvalue                              0.0004          0.0004      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9927.CR2/threads:32/process_time/real_time_mean                               -0.1502         -0.1502           225           191           225           191
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9927.CR2/threads:32/process_time/real_time_median                             -0.1496         -0.1496           225           192           225           192
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9927.CR2/threads:32/process_time/real_time_stddev                             +3.8736         +3.9278             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9927.CR2/threads:32/process_time/real_time_cv                                 +4.7349         +4.7987             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9928.CR2/threads:32/process_time/real_time_pvalue                              0.0004          0.6588      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9928.CR2/threads:32/process_time/real_time_mean                               -0.0764         +0.0020           267           247          6984          6998
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9928.CR2/threads:32/process_time/real_time_median                             -0.0756         -0.0010           267           247          6992          6984
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9928.CR2/threads:32/process_time/real_time_stddev                             +0.8443         +0.0099             1             1            38            38
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9928.CR2/threads:32/process_time/real_time_cv                                 +0.9967         +0.0080             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9929.CR2/threads:32/process_time/real_time_pvalue                              0.0004          0.0004      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9929.CR2/threads:32/process_time/real_time_mean                               -0.0689         -0.0689           154           144           154           144
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9929.CR2/threads:32/process_time/real_time_median                             -0.0682         -0.0682           154           144           154           144
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9929.CR2/threads:32/process_time/real_time_stddev                             +6.6731         +6.8931             0             0             0             0
raw.pixls.us-unique/Canon/EOS 5DS/2K4A9929.CR2/threads:32/process_time/real_time_cv                                 +7.2405         +7.4768             0             0             0             0
raw.pixls.us-unique/Canon/EOS 77D/IMG_4049.CR2/threads:32/process_time/real_time_pvalue                              0.0004          0.0004      U Test, Repetitions: 9 vs 9
raw.pixls.us-unique/Canon/EOS 77D/IMG_4049.CR2/threads:32/process_time/real_time_mean                               -0.1334         -0.1334           151           131           151           131
raw.pixls.us-unique/Canon/EOS 77D/IMG_4049.CR2/threads:32/process_time/real_time_median                             -0.1333         -0.1333           151           131           151           131
raw.pixls.us-unique/Canon/EOS 77D/IMG_4049.CR2/threads:32/process_time/real_time_stddev                             +0.1553         +0.1940             0             0             0             0
raw.pixls.us-unique/Canon/EOS 77D/IMG_4049.CR2/threads:32/process_time/real_time_cv                                 +0.3331         +0.3777             0             0             0             0
OVERALL_GEOMEAN                                                                                                     -0.1022         -0.0917             0             0             0             0
```
@LebedevRI LebedevRI merged commit cb43e8e into darktable-org:develop Jan 26, 2024
@LebedevRI LebedevRI deleted the cr2 branch January 26, 2024 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant