Hi,
we are experiencing some performance differences between different versions of IMP.
IMP 2.0.1 seems to be much faster (up to 6 times faster) as compared to versions 2.1, 2.2 and 2.3.1 (compiled with the "Release" flag). Can you confirm this behavior or is it an issue affecting only our machines (both Mac and Linux)?
Thanks, Davide
1) Can you write a benchmark?
2) I once wrote a benchmark for pmi modules/pmi/benchmark/benchmark_loop_reconstruction.py
That was pmi commit 6f81fe5d469269c90840a9aa09895f33388ac66a, 5 Feb 2014, around f59e9f92d8c196f70b72f46ddb864c0c9c73628a IMP commit, therefore after 2.0.1, which was May 2013.
Today I still get the same times. Maybe is useless, but can you try to run it with the latest IMP develop commit?
On Fri, Feb 6, 2015 at 4:02 PM, Davide Baù davide.bau@gmail.com wrote:
> Hi, > > we are experiencing some performance differences between different > versions of IMP. > > IMP 2.0.1 seems to be much faster (up to 6 times faster) as compared to > versions 2.1, 2.2 and 2.3.1 (compiled with the "Release" flag). Can you > confirm this behavior or is it an issue affecting only our machines (both > Mac and Linux)? > > Thanks, > Davide > > _______________________________________________ > IMP-dev mailing list > IMP-dev@salilab.org > https://salilab.org/mailman/listinfo/imp-dev > >
On 2/6/15 7:02 AM, Davide Baù wrote: > we are experiencing some performance differences between different > versions of IMP.
IMP is a very large and complex piece of software... so you'll have to be more specific - *what* is slower? Benchmarking, as Riccardo suggests, is one option - another would be to profile your code.
> IMP 2.0.1 seems to be much faster (up to 6 times faster) as compared to > versions 2.1, 2.2 and 2.3.1 (compiled with the "Release" flag).
What do you mean by "Release" flag? If you mean the cmake build type ("-DCMAKE_BUILD_TYPE=Release") then that doesn't do a whole lot (IIRC, maybe some slightly different compile options on Linux; on Windows it'll change which C runtime you link against). What will make the most difference is what IMP check level you build with; if you use -DIMP_MAX_CHECKS=INTERNAL then the internal checks will definitely slow things down.
Ben
Thanks,
I'll try to figure out how to benchmark and profile the code then.
IMP is a very large and complex piece of software... so you'll have to be > more specific - *what* is slower? Benchmarking, as Riccardo suggests, is > one option - another would be to profile your code. > > IMP 2.0.1 seems to be much faster (up to 6 times faster) as compared to >> versions 2.1, 2.2 and 2.3.1 (compiled with the "Release" flag). >> > > What I meant is that IMP 2.0.1 takes 6 times less then the others to perform the exact same task (e.g. one times unit vs six time units).
> What do you mean by "Release" flag? If you mean the cmake build type > ("-DCMAKE_BUILD_TYPE=Release") then that doesn't do a whole lot (IIRC, > maybe some slightly different compile options on Linux; on Windows it'll > change which C runtime you link against). What will make the most > difference is what IMP check level you build with; if you use > -DIMP_MAX_CHECKS=INTERNAL then the internal checks will definitely slow > things down.
I forgot to say that I am using the same cmake build types when complaining different IMP versions (-DCMAKE_BUILD_TYPE=Release -DIMP_MAX_LOG=SILENT -DIMP_MAX_CHECKS=NONE). Anyway, I will do the benchmark.
Davide
> > > Ben > -- > ben@salilab.org http://salilab.org/~ben/ > "It is a capital mistake to theorize before one has data." > - Sir Arthur Conan Doyle > > _______________________________________________ > IMP-dev mailing list > IMP-dev@salilab.org > https://salilab.org/mailman/listinfo/imp-dev >
participants (3)
-
Ben Webb
-
Davide Baù
-
Riccardo Pellarin