> I'd like to qualify this a bit. What I reported earlier is that the > BuiltinFuntionCall microbenchmark in pybench spends 30% of its time in > PyArg_ParseTuple(). This strikes me as excessive, because it's a > static property of the code. (One could imagine writing a Python > script that parsed the "O!|is#" format strings and generated > efficient, specialized C code for that format.) > > If we benchmark other programs, particularly those that do more work > in the builtins, the relative cost of the argument processing will be > lower. Certainly: If the work inside the function increases, the overhead of calling it will be less visible. What the benchmark shows, however, and what my patch addresses, is that the time for *calling* a function is primarily spent in PyArg_ParseTuple (and not in, say, building argument tuples, putting parameters on the stack, fetching function addresses, building method objects, and so on). Regards, Martin
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4