1. 01 Nov, 2017 2 commits
    • Laurentiu Nicola's avatar
      4609c856
    • Laurentiu Nicola's avatar
      ENH: Add otbStopwatch replacing itk::TimeProbe · 7afea3ff
      Laurentiu Nicola authored
      The itk::TimeProbe constructor ends up calling
      itkResourceProbe::GetSystemInformation, which reads things like the
      hostname, the number of CPUs and so on. On Linux it parses /proc/cpuinfo
      for that information.
      
      OTB doesn't really need all those fields for a simple timer that's only
      used in a couple of places. This commit adds a replacement for that.
      
      As for the benchmarks, 100 000 instantiations of itk::TimeProbe take
      about 9.5 s on my computer. I suspect it's somewhat slower on a server
      with more CPUs. So this doesn't bring a huge performance improvement,
      but it might help in cases where a large number of high-resolution
      images are being read. The time for the same number of otb::Stopwatch
      instantiations is 4 ms.
      
      The context for this change is a project where we process time series of
      medium to high resolution images over large areas. The TimeProbe in
      otbGDALImageIO was sometimes showing in the profiles.
      
      A relevant discussion can be found at
      https://groups.google.com/d/msg/otb-developers/IvsFzSgRojo/0sMeEIZgCQAJ .
      7afea3ff
  2. 20 Sep, 2017 1 commit
  3. 13 Sep, 2017 1 commit
  4. 28 Aug, 2017 1 commit
  5. 03 Aug, 2017 1 commit
  6. 28 Jul, 2017 1 commit
  7. 23 Jun, 2017 1 commit
  8. 16 Jun, 2017 1 commit
    • Jordi Inglada's avatar
      COMP: force c++14 standard · 7b71e004
      Jordi Inglada authored
      - update CMake minimum required version
      - set the C++ standard
      - set otb::Image constructor to =delete to test
      7b71e004
  9. 10 May, 2017 2 commits
  10. 21 Apr, 2017 2 commits
  11. 13 Apr, 2017 1 commit
  12. 12 Apr, 2017 1 commit
  13. 07 Apr, 2017 1 commit
  14. 05 Apr, 2017 2 commits
  15. 03 Apr, 2017 1 commit
  16. 10 Mar, 2017 1 commit
  17. 08 Mar, 2017 2 commits
  18. 18 Jan, 2017 1 commit
  19. 11 Jan, 2017 1 commit
  20. 10 Jan, 2017 1 commit
  21. 04 Jan, 2017 2 commits
  22. 17 Nov, 2016 1 commit
  23. 16 Nov, 2016 2 commits
    • Julien Michel's avatar
      PERF: Optimize BCOInterpolateImageFunction (kindly provided by Laurentiu Nicola) · b3a50337
      Julien Michel authored
      Simplify the code and avoid some allocations to improve performance.
      
      I haven't checked the definition of RealType, but merging the output and
      value variables might arguably affect precision. The unit tests still
      seem to pass, however.
      
      Tested by 2x upsampling a 10-band 5490x5490 float32 image on an Intel
      Celeron J1900.
      
      There is further room for improvement by eliding the remaining memory
      allocations. A container like the small_vector from Boost might be
      useful here, but we can't use that since it's not available in older
      Boost versions.
      
      before:
      661.44s user 9.31s system 304% cpu 3:40.52 total
      594.06s user 9.43s system 303% cpu 3:19.00 total
      591.15s user 9.43s system 301% cpu 3:19.28 total
      
      after:
      443.42s user 10.48s system 294% cpu 2:34.00 total
      443.11s user 9.87s system 309% cpu 2:26.27 total
      448.50s user 10.50s system 311% cpu 2:27.52 total
      b3a50337
    • Julien Michel's avatar
      PERF: Optimize BCOInterpolateImageFunction · 6a8c2a84
      Julien Michel authored
      Simplify the code and avoid some allocations to improve performance.
      
      I haven't checked the definition of RealType, but merging the output and
      value variables might arguably affect precision. The unit tests still
      seem to pass, however.
      
      Tested by 2x upsampling a 10-band 5490x5490 float32 image on an Intel
      Celeron J1900.
      
      There is further room for improvement by eliding the remaining memory
      allocations. A container like the small_vector from Boost might be
      useful here, but we can't use that since it's not available in older
      Boost versions.
      
      before:
      661.44s user 9.31s system 304% cpu 3:40.52 total
      594.06s user 9.43s system 303% cpu 3:19.00 total
      591.15s user 9.43s system 301% cpu 3:19.28 total
      
      after:
      443.42s user 10.48s system 294% cpu 2:34.00 total
      443.11s user 9.87s system 309% cpu 2:26.27 total
      448.50s user 10.50s system 311% cpu 2:27.52 total
      6a8c2a84
  24. 17 Oct, 2016 1 commit
  25. 14 Oct, 2016 1 commit
  26. 13 Oct, 2016 1 commit
  27. 04 Oct, 2016 1 commit
  28. 23 Sep, 2016 1 commit
  29. 21 Sep, 2016 1 commit
  30. 20 Sep, 2016 2 commits
  31. 16 Sep, 2016 1 commit
  32. 15 Sep, 2016 1 commit