On Mon, 03 Jun 2013 15:09:48 -0400, Jason Swails wrote: > But unlike RR, who suggests some elaborate interpreter-wide, ambiguous > ignore-rule to squash out all of these functions, I'm simply suggesting > that sometimes it's worth commenting-out debug print calls instead of > 'just leaving them there because you won't notice the cost' :).
+1 Further to this idea, many command line apps have a "verbose" mode, where they print status messages as the app runs. Some of these include multiple levels, so you can tune just how many messages you get, commonly: - critical messages only - important or critical messages - warnings, important or critical messages - status, warnings, important or critical messages - all of the above, plus debugging messages - all of the above, plus even more debugging messages Since this verbosity level is selectable at runtime, the code itself must include many, many calls to some equivalent to print, enough calls to print to cover the most verbose case, even though most of the time most such calls just return without printing. This is a feature. And like all features, it has a cost. If (generic) your application does not benefit from verbose print statements scattered all throughout it, *don't put them in*. But if it will, then there is a certain amount of overhead to this feature. Deal with it, either by accepting the cost, or by writing more code that trades off complexity for efficiency. It's 2013, not 1975, and computers have more than 32K of RAM and the slowest CPU on the market is a million times faster than the ones that took us to the moon, and quite frankly I have no sympathy for the view that CPU cycles are so precious that we mustn't waste them. If that were the case, Python is the wrong language. -- Steven -- http://mail.python.org/mailman/listinfo/python-list