[Numpy-discussion] Proposed Roadmap Overview

josef.pktd@gmai... josef.pktd@gmai...
Fri Feb 17 20:40:27 CST 2012


On Fri, Feb 17, 2012 at 9:29 PM, David Cournapeau <cournape@gmail.com> wrote:
>
> Le 18 févr. 2012 00:58, "Charles R Harris" <charlesr.harris@gmail.com> a
> écrit :
>
>
>>
>>
>>
>> On Fri, Feb 17, 2012 at 4:44 PM, David Cournapeau <cournape@gmail.com>
>> wrote:
>>>
>>> I don't think c++ has any significant advantage over c for high
>>> performance libraries. I am not convinced by the number of people argument
>>> either: it is not my experience that c++ is easier to maintain in a open
>>> source context, where the level of people is far from consistent. I doubt
>>> many people did not contribute to numoy because it is in c instead if c++.
>>> While this is somehow subjective, there are reasons that c is much more
>>> common than c++ in that context.
>>
>>
>> I think C++ offers much better tools than C for the sort of things in
>> Numpy. The compiler will take care of lots of things that now have to be
>> hand crafted and I wouldn't be surprised to see the code size shrink by a
>> significant factor.
>
> There are two arguments here: that c code in numpy could be improved, and
> that c++ is the best way to do it. Nobody so far has argued against the
> first argument. i think there is a lot of space to improve things while
> still be in C.
>
> You say that the compiler would take care of a lot of things: so far, the
> main thing that has been mentionned is raii. While it is certainly a useful
> concept, I find it ewtremely difficult to use correctly in real
> applications. Things that are simple to do on simple examples become really
> hard to deal with when features start to interact with each other (which is
> always in c++). Writing robust code that is exception safe with the stl
> requires a lot of knowledge. I don't have this knowledge. I have .o doubt
> Mark has this knowledge. Does anyone else on this list has ?
>
>>>
>>> I would much rather move most part to cython to solve subtle ref counting
>>> issues, typically.
>>
>>
>> Not me, I'd rather write most stuff in C/C++ than Cython, C is cleaner ;)
>> Cython good for the Python interface, but once past that barrier C is
>> easier, and C++ has lots of useful things.

What happened with the IronPython implementation of numpy that was
translating into cython, as far as I understood.

(just as curious bystander, I have no idea about any of the low level stuff.)

Josef

>>>
>>> The only way that i know of to have a stable and usable abi is to wrap
>>> the c++ code in c. Wrapping c++ libraries in python  has always been a pain
>>> in my experience. How are template or exceptions handled across languages ?
>>> it will also be a significant issue on windows with open source compilers.
>>>
>>> Interestingly, the api from clang exported to other languages is in c...
>>
>>
>> The api isn't the same as the implementation language. I wouldn't prejudge
>> these issues, but some indication of how they would be solved might be
>> helpful.
>
> I understand that api and inplementation language are not the same: you just
> quoted the part where I was mentioning it :)
>
> Assuming a c++ inplementation with a c api, how will you deal with templates
> ? how will you deal with exception ? How will you deal with exception
> crossing dll/so between different compilers, which is a very common
> situation in our community ?
>
> david
>
>>
>> <snip>
>
>
>>
>> Chuck
>>
>>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion@scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>


More information about the NumPy-Discussion mailing list