Python C module questions
Robert Kern
rkern at ucsd.edu
Fri Sep 2 00:18:46 EDT 2005
jbrewer wrote:
[I wrote:]
>>You probably shouldn't post such large pieces of code to the list.
>
> OK.
BTW, please attribute your quotes.
[Still me:]
>>You mean a docstring on the module object itself?
>
> Actually, I meant docstrings to the module and the functions, objects,
> methods, whatever else in the module. My code was derived from the
> Python Cookbook, which left that part out (rather important for
> building real C modules).
In the method definition tables for top-level functions and type methods
there is a place for the docstrings. You had them in your code.
Please read the documentation on writing extensions.
http://docs.python.org/ext/ext.html
Specifically,
http://docs.python.org/ext/methodTable.html
http://docs.python.org/ext/node22.html
[Thomas Heller wrote:]
>>You should give up C with a dumb algorithm running at fast speed.
>>Implement a better algorithm in Python, maybe you can even outperform
>>the dumb code.
>
> That would be the next step if I needed even more speed, but the better
> algorithm here would be to use KDTrees, which would be overkill (and
> would require lots of development time).
Not for you, it won't.
google('kdtree python')
> The C brute force
> implementation runs plenty fast for me. It took only took a few hours
> to implement and yielded a factor of 7 performance increase. I was
> mostly interested in feedback on whether I had done things in a
> properly efficient way (there are so many Python list / tuple /
> sequence functions). I also find it hard to believe that there's no
> standard Python function for converting sequences of one object to
> arrays in C (a friend mentioned that Ruby's C API has this).
>
> Another question: how does the distutils package handle version
> upgrades? Say for example I find some bugs in my C code and need to
> recompile it, will it just overwrite what's present in the
> site-packages directory?
It will overwrite the files that have been changed.
--
Robert Kern
rkern at ucsd.edu
"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
More information about the Python-list
mailing list