*caution* severely OT!!
Gary Kline
kline at thought.org
Tue Sep 13 21:48:00 UTC 2011
On Tue, Sep 13, 2011 at 11:37:48PM +0200, Michel Talon wrote:
> Date: Tue, 13 Sep 2011 23:37:48 +0200
> From: Michel Talon <talon at lpthe.jussieu.fr>
> Subject: Re: *caution* severely OT!!
> To: Gary Kline <kline at thought.org>, freebsd-questions at freebsd.org
>
> "C. P. Ghost" <cpghost at cordula.ws> wrote:
> > On Tue, Sep 13, 2011 at 9:34 PM, Gary Kline <kline at thought.org> wrote:
> > > guys,
> > >
> > > can anyone start me on the way of porting a python program to C?
> > > tia,
> >
> > Gary,
> >
> > if you experience a performance bottleneck somewhere,
> > you may be better off performing some timings to
> > determine the exact cause, and then to port the specific
> > function(s) to a C module. Hints: ctypes, SWIG. Porting
> > the whole program may not be necessary. Save yourself
> > some quality time for other more pleasant tasks in life. ;-)
> >
> > But if you really must, I suggest to port the program to
> > C++ instead of C, because there, you can make use of
> > the excellent STL data types and containers, that match
> > Python's somewhat. You may also consider using boost
> > libraries, if the STL isn't enough.
>
> I concur with you. If you want just to resolve a bottleneck in python
> there are very low cost solutions such as using things like pyrex.
> You have a nice discussion here:
> http://www.scipy.org/PerformancePython
> Using pyrex is very similar to programming python but at a single stroke
> you get huge performance boost.
>
> If you want to rewrite the thing entirely, the problem is that python
> has many high level constructs, like dictionaries, etc. which are very
> convenient, but that you would need to simulate in C with huge
> programming cost. While C++ has such things in standard extensions, so,
> if you are not afraid by the syntactic difficulties of C++ it is a
> cheaper solution, otherwise it may be terrible.
>
> In the case of the example cited above, there was 0 performance benefit of
> using C++ over pyrex. There is a language which is syntactically very
> close to python and has the same facilities, but ends up in machine
> code, this could interest you, it is Common Lisp. Here the translation
> would be cheap and direct. It may be that the end result is very fast,
> C-like, or it may be that the end result is almost as slow as python,
> there is black magic here.
>
>
>
> --
>
> Michel TALON
Thanks to everyone who replied on and off list. i shoulf
have said C or C++.
gary
>
--
Gary Kline kline at thought.org http://www.thought.org Public Service Unix
Journey Toward the Dawn, E-Book: http://www.thought.org
The 8.51a release of Jottings: http://jottings.thought.org
More information about the freebsd-questions
mailing list