[Thread Prev][Thread Next][Index]
Re: [ferret_users] Fwd: ferret vs pyferret performance time....
Hi Sudheer,
One thing I noticed is that you are requesting a LOT of memory. The value you supply is multiplied by 10^6 * size of the floating-point variable. So 1200 * 10^6 * 4 = 4.5 Gb for single-precision Ferret (6.67), and 1200 * 10^6 * 8 = 8.9 Gb for double-precision Ferret (6.84) and PyFerret. Do you really need this much memory dedicated to Ferret? More typical values used are 100 (0.74 Gb for double-precision) or 200 (1.5 Gb for double-precision).
I suspect this huge allocation of memory to Ferret or PyFerret is causing your machine to spend a lot of time swapping out memory to disk. The fact the elapsed time (the "real" time value - 25.6 sec and 5.31 min) is much larger that the time actually used by the processor ("user" plus "sys" time values - 17.8 sec and 34.5 sec) would support this, assuming there was not much else running on your machine at the same time. And if your machine became quite unresponsive in other command windows while these were running, swapping is almost certainly the problem. PyFerret also has Python and other Python modules loaded in memory, so more memory is needed and there would be even more swapping, and the reason for the much larger elapsed time. The actual processor time ratio for PyFerret vs Ferret (34.5 sec versus 17.8 sec - about 2:1) is about what is expected with the higher-quality graphics in PyFerret.
If there actually is that much data to be examined, it would be more efficient stay with a smaller amount of memory in Ferret and work with the data in pieces to get your desired result.
Karl
[Thread Prev][Thread Next][Index]
Contact Us
Dept of Commerce /
NOAA /
OAR /
PMEL /
Ferret
Privacy Policy | Disclaimer | Accessibility Statement