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