Author vstinner
Recipients rhettinger, serhiy.storchaka, skrah, vstinner
Date 2017-01-27.14:56:34
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1485528995.27.0.978406224904.issue29301@psf.upfronthosting.co.za>
In-reply-to
Content
Hello, I'm back! :-)

I almost abandonned my the tp_fastcall change (#29259).

print() now uses FASTCALL (#29296), it already made bm_telco faster:
https://speed.python.org/timeline/#/?exe=5&ben=telco&env=1&revs=50&equid=off&quarts=on&extr=on
(see the speedup around January 16 at the right)

For the unpack module, I'm still working on my patch in the issue #29300, but it doesn't seem to have a significant impact on bm_telco.

So the remaining question is the usage of FASTCALL or Argument Clinic in the _decimal module.


> Since the performance impact is unclear, I prefer to close this issue. I will come back if argument parsing is more clearly identified as a performance bottleneck.

I ran a new benchmark and FASTCALL makes bm_telco benchmark 1.11x faster:

Median +- std dev: [ref] 19.4 ms +- 0.7 ms -> [decimal-2.patch] 17.5 ms +- 0.6 ms: 1.11x faster (-10%)

So I decided to reopen the issue.

Stefan: what do you think of using Argument Clinic and/or FASTCALL in _decimal? Is "bm_telco 1.11x faster" significant enough for you to justify such change?

"The best would be to use Argument Clinic. AC exists since Python 3.5, so it should be possible to keep the same code base on Python 3.5-3.7, only generated code would be different."
History
Date User Action Args
2017-01-27 14:56:35vstinnersetrecipients: + vstinner, rhettinger, skrah, serhiy.storchaka
2017-01-27 14:56:35vstinnersetmessageid: <1485528995.27.0.978406224904.issue29301@psf.upfronthosting.co.za>
2017-01-27 14:56:35vstinnerlinkissue29301 messages
2017-01-27 14:56:34vstinnercreate