Skip to content

OTB pipelining in memory or disk

OTB applications can be chained on disk or in memory. To evaluate the gain in performance, the 2 ways has been compared.

A python code chaining SARCalibration and Orthorectification has been written and run on HAL.

ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS=4

  • On disk RAM=256Mb

           real    2m57.092s
           user    6m3.192s
  • In memory RAM=256Mb

           real    3m48.434s
           user    9m16.246s
  • On disk RAM=4096Mb

           real    2m53.787s
           user    5m35.072s
  • In memory RAM=4096Mb

           real    1m50.522s
           user    2m56.159s

For information, here are the time for each OTBApp:

SARCalibration

  • RAM=256Mb:

            real    1m28.333s
            user    4m28.946s
  • RAM=4096Mb

            real    1m25.232s
            user    4m36.138s

Orthorectification

  • RAM=256Mb

            real    1m19.415s
            user    1m9.509s
  • RAM=4096Mb

            real    1m14.660s
            user    1m2.282s

The image are on /work filesystem. I didn't try to use the node local disk ($TMPDIR)