• 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
Name
Last commit
Last update
..
CMakeLists.txt Loading commit data...
otbCommonTestDriver.cxx Loading commit data...
otbConfigurationManagerTest.cxx Loading commit data...
otbImageRegionAdaptativeSplitter.cxx Loading commit data...
otbImageRegionNonUniformMultidimensionalSplitter.cxx Loading commit data...
otbImageRegionNonUniformMultidimensionalSplitterNew.cxx Loading commit data...
otbImageRegionSquareTileSplitter.cxx Loading commit data...
otbImageRegionTileMapSplitter.cxx Loading commit data...
otbImageRegionTileMapSplitterNew.cxx Loading commit data...
otbRGBAPixelConverter.cxx Loading commit data...
otbRectangle.cxx Loading commit data...
otbRectangleNew.cxx Loading commit data...
otbStandardFilterWatcherNew.cxx Loading commit data...
otbStandardOneLineFilterWatcherTest.cxx Loading commit data...
otbStandardWriterWatcher.cxx Loading commit data...
otbStopwatchTest.cxx Loading commit data...
otbSystemTest.cxx Loading commit data...
otbVariableLengthVectorConverter.cxx Loading commit data...