Travis E. Oliphant wrote:

> On Linux you can use oprofile (which is pretty nice and easy to use --- 
> no recompiling.  Just start the profiler, run your code, and stop the 
> profiler).

Thank you very much for the tip. This is a great tool.

The source of the problem has been found: cache misses. Briefly, I have 
a long array and I need to choose numbers from it randomly. When the 
array is short, the performance is good. When the array is big, picking 
a number will cause a cache miss almost all the time. This results in 
almost doubled execution time.

Problem found, but I am out of idea how to fix it since the nature of my 
algorithm is working randomly on large arrays.

Cheers,
Bo
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to