Re: Maximum Likelihood processing time [message #38511 is a reply to message #38423] |
Wed, 10 March 2004 00:46   |
Pepijn Kenter
Messages: 31 Registered: April 2002
|
Member |
|
|
Lorenzo Busetto wrote:
> Does anybody know why it happens ? Is IDL (or ENVI) "storing"
> somewhere the informations on previous calculations ?
>
Not IDL but your system does. Data that is recently used is stored in
the cache for faster processing. This can be data from your harddisk
that is temporarily stored in the main memory. Likewise, data in your
main memory can be stored in the CPU memory cache, which is faster than
the main memory. This last cache is managed by the hardware, your OS is
responsible for the former.
So the second time you run your software, the data is allready residing
in a faster type of memory, hence the shorter execution time.
> I don't want to have to restart my computer every time I change the
> number of bands in order to get comparable processing times....
>
I vaguely recall reading that it's customary to run software twice when
measuring execution times; one time to get the data in the cache, the
second time to measure the performance.
I never did an actual benchmark, but I know it's not a trivial task.
There are many other things to consider, for example: swapping, other
running processes, scalability, etc. If I were you I'd google for
software metrics or measuring software performance.
You might also want to take a look at the PROFILER procedure in IDL.
With this tool you can examine the execution times of the individual
procedures and functions.
HTH, Pepijn Kenter.
|
|
|