Freddie Witherden <freddie(a)witherden.org> writes:
I do have a couple of comments/queries. Firstly, what are the
advantages to maintaining both BPL and CFFI implementations of
PyOpenCL? It is my understanding that CFFI also supports CPython and
so could a single common code base not be used to target both PyPy and
I agree that maintaining two versions over an extended period of time
makes no sense. But for a transition period, the BPL version is proven
code that has been in use for a couple of years, whereas the CFFI
version is not. That means the CFFI version can't go and replace the BPL
version without at least a few months of real use in the wild by
volunteers who run their code against it and report
success/problems/failure. (Recall that it's currently still incomplete
and therefore not quite ready for this stage of testing yet.)
Longer-term though, only one of these versions will live. If all goes
according to plan, that will be the CFFI version, but it could still
also be the BPL version if it turns out that the CFFI version has issues
that can't be fixed.
Secondly, how does the CFFI code compare to the existing BPL code?
Specifically, is it cleaner or more maintainable? I ask this as
someone who is highly sceptical about the utility of PyPy within the
I respect that you're sceptical. Note that I'm being careful to not bet
the farm on CFFI/PyPy outright--hence the transition/validation period I
mention above. I find the two code bases pretty similar in complexity,
and they're both written with maintainability in mind.
I do quite like the idea of spinning the array wrappers out into
own package, however.
Great--thanks for your comments!