Vadim Zeitlin
2016-11-25 01:29:50 UTC
Hello,
This has been discussed several times in the past, but nothing has been
really decided, AFAIK, so I'd like to return to this again in the hope that
we finally do something about the problem of having too many Python build
variants.
Right now we have the following major options:
- builtin
- classic
- modern
without speaking about minor ones such as -extranative or a bunch of
-fastxxx.
According to the documentation, -builtin provides a significant
performance improvement and the limitations listed there don't seem
significant at all, so I propose making -builtin the default and only way
of generating wrappers.
It's less clear which benefits does -modern bring as the documentation,
but its only requirement seems to be Python 2.2, so it seems perfectly
reasonable to turn it on by default and remove the option. Similarly,
-classic is only useful for pre-2.2, apparently, so let's drop it and
forget it ever existed.
Could we please agree to do this? I'd do my best to make the changes doing
this that should help a lot with comprehensibility of the Python module
code and facilitate further changes in the future as currently it's just
too annoying to play whack-a-mole with all these options (which is a game
when you do some change working with default options, run the unit test
that finds a failure with some non default combination, fix this failure,
but this now results in a failure of another test for another options
combinations and after fixing this one, things don't work with the default
options again).
Thanks in advance,
VZ
This has been discussed several times in the past, but nothing has been
really decided, AFAIK, so I'd like to return to this again in the hope that
we finally do something about the problem of having too many Python build
variants.
Right now we have the following major options:
- builtin
- classic
- modern
without speaking about minor ones such as -extranative or a bunch of
-fastxxx.
According to the documentation, -builtin provides a significant
performance improvement and the limitations listed there don't seem
significant at all, so I propose making -builtin the default and only way
of generating wrappers.
It's less clear which benefits does -modern bring as the documentation,
but its only requirement seems to be Python 2.2, so it seems perfectly
reasonable to turn it on by default and remove the option. Similarly,
-classic is only useful for pre-2.2, apparently, so let's drop it and
forget it ever existed.
Could we please agree to do this? I'd do my best to make the changes doing
this that should help a lot with comprehensibility of the Python module
code and facilitate further changes in the future as currently it's just
too annoying to play whack-a-mole with all these options (which is a game
when you do some change working with default options, run the unit test
that finds a failure with some non default combination, fix this failure,
but this now results in a failure of another test for another options
combinations and after fixing this one, things don't work with the default
options again).
Thanks in advance,
VZ