> Useful was never the question. Perfomant, your mileage may vary. Python tends to be *very* fast.
Right up until you try to interact with a C/C++ library. Basically, any time Python executes native libraries (e.g. sqlite, libssl, whatever) to do something, there's a big performance hit on that one transaction. I don't know why that performance hit is so bad, but I just tend to write my code to minimize the number of Python<->C transitions. Large queries and large result sets, small number of queries, etc. Of course with any garbage collected language, you could have situations where circular references or unnecessary left over references cause processes to use way more memory than needed. Or people do foolish things like repeatedly search lists when they could be using a dict, but that's just bad coding. > I am working with project where everyone is love with Python, resulting > in top(1) showing a dozen python processes. > > truss does not seem to provide many insights for them and I will try > adding the separate debug symbols. > > Can you suggest any other strategies for inspecting a running Python > process? Have you looked at the Python profilers? This may require you to run the process again under the profiler (can't attach to a running process, AFAIK), but it's an option. tim _______________________________________________ PLUG mailing list [email protected] http://lists.pdxlinux.org/mailman/listinfo/plug
