Author Topic: cr2hdr performance issues  (Read 3070 times)

kidfob

  • New to the forum
  • *
  • Posts: 34
cr2hdr performance issues
« on: June 18, 2015, 10:45:57 PM »
Hello all.

Im experiencing some performance issues with cr2hdr on a specific machine. It runs poorly on the powerful machine (i7-4930K 3.4GHz overclocked to 4.5GHz)  and excellently on less powerful laptop (i7-2720QM 2.2GHz).

Laptop: 798 files take 1544 secs (26 min) or 2 seconds per file

Desktop: 722 files take 12180 secs (132 min) or 17 seconds per file

Is there any reason why this program would run differently on a more powerful system?

Number of cores/virtual cores, etc?

I'd appreciate some help troubleshooting if possible.

Thanks much

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3212
  • 60Da / 1100D / EOSM
Re: cr2hdr performance issues
« Reply #1 on: June 19, 2015, 02:06:03 AM »
amount of RAM? type/speed of hard drive and buses? OS?

Also since you listed two different amounts of files, I can only assume that you processed two different sets of files. That is not a fair comparison. Process the same set of files on both.

kidfob

  • New to the forum
  • *
  • Posts: 34
Re: cr2hdr performance issues
« Reply #2 on: June 19, 2015, 02:26:43 AM »
Desktop has 64gb RAM - Win7 Ultimate
Laptop has 16gb RAM - Win 7 Enterprise

What could be a potential bus bottleneck? I've tried usb drive, raid IDE drives, raid SSD drive, and non-raid OS drive.
Both have same results.

I've also processed same sets of files to same performance delta.

dmilligan, how many seconds per file does it take you to do about 700 frames? Care to do a quick test? I'm curious if you are also around 2 seconds....

Thanks for the quick response.

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3212
  • 60Da / 1100D / EOSM
Re: cr2hdr performance issues
« Reply #3 on: June 19, 2015, 03:19:39 AM »
For a full resolution still photo (60D: 18MP), usually around 25 seconds on a 2012 Macbook Air (1.8GHz i5). If it only takes 2 seconds to process that probably means cr2hdr thought it wasn't dual ISO and didn't try to process it (or maybe you are working with video at a much lower resolution?). I would suggest looking at the output from cr2hdr.

Code: [Select]
david$ time ./cr2hdr /Volumes/EXTHD/ML/Misc/dual\ iso\ test/DUAL7313.CR2
cr2hdr: a post processing tool for Dual ISO images

Last update: 76b5a32 on 2015-03-21 15:19:29 UTC by david:
dng: allow 64 bit compilation for raw2dng, mlv_dump, and cr2hdr

Active options:
--amaze-edge    : use a temporary demosaic step (AMaZE) followed by edge-directed interpolation (default)
--cs2x2         : apply 2x2 chroma smoothing in noisy and aliased areas (default)

Input file      : /Volumes/EXTHD/ML/Misc/dual iso test/DUAL7313.CR2
Camera          : Canon EOS 60D
Full size       : 5344 x 3516
Active area     : 5202 x 3465
White level     : 12500
Black borders   : 142 left, 51 top
Black level     : 1966
ISO pattern     : dBBd GBRG
Noise levels    : 5.99 18.13 18.96 5.98 (14-bit)
ISO difference  : 4.00 EV (1603)
Black delta     : 3.74
Dynamic range   : 10.78 (+) 9.12 => 13.12 EV (in theory)
Looking for hot/cold pixels...
Hot pixels      : 2
Cold pixels     : 26
AMaZE interpolation ...
Amaze took 4.31 s
Edge-directed interpolation...
Semi-overexposed: 3.97%
Deep shadows    : 72.60%
Horizontal stripe fix...
Full-res reconstruction...
ISO overlap     : 3.8 EV (approx)
Half-res blending...
Chroma smoothing...
Building alias map...
Filtering alias map...
Smoothing alias map...
Final blending...
Noise level     : 4.03 (16-bit), ideally 4.01
Dynamic range   : 13.35 EV (cooked)
Black adjust    : 2
White balance determined from WB_RGGBLevelsMeasured
AsShotNeutral   : 0.774398 1 0.437742
Output file     : /Volumes/EXTHD/ML/Misc/dual iso test/DUAL7313.DNG
    1 image files updated

real 0m26.715s
user 0m22.857s
sys 0m1.359s

here I deliberately ran it on a non dual ISO image, took around 3 seconds:
Code: [Select]
david$ time ./cr2hdr /Volumes/EXTHD/ML/Misc/dual\ iso\ test/IMG_7312.CR2
cr2hdr: a post processing tool for Dual ISO images

Last update: 76b5a32 on 2015-03-21 15:19:29 UTC by david:
dng: allow 64 bit compilation for raw2dng, mlv_dump, and cr2hdr

Active options:
--amaze-edge    : use a temporary demosaic step (AMaZE) followed by edge-directed interpolation (default)
--cs2x2         : apply 2x2 chroma smoothing in noisy and aliased areas (default)

Input file      : /Volumes/EXTHD/ML/Misc/dual iso test/IMG_7312.CR2
Camera          : Canon EOS 60D
Full size       : 5344 x 3516
Active area     : 5202 x 3465
Doesn't look like interlaced ISO

real 0m3.126s
user 0m2.667s
sys 0m0.255s

Watching the output to see how long various things take may give you some clues, cr2hdr even tells you exactly how long AMaZE interpolation takes.

Licaon_Kter

  • Hero Member
  • *****
  • Posts: 516
  • M
Re: cr2hdr performance issues
« Reply #4 on: June 20, 2015, 05:50:36 PM »
It does not use multiple cores, I run it with parallel on Linux, try to find something like that for Windows like https://github.com/jftuga/Windows/tree/master/mp
Not sure that Cygwin has it though.