[Cython] GSoC Proposal - Reimplement C modules in CPython's standard library in Cython.

Arthur de Souza Ribeiro arthurdesribeiro at gmail.com
Tue Apr 12 14:59:11 CEST 2011

Hi Stefan, yes, I'm working on this, in fact I'm trying to recompile json
module (http://docs.python.org/library/json.html) adding some type
definitions and cython things o get the code faster.

I'm getting in trouble with some things too, I'm going to enumerate here so
that, you could give me some tips about how to solve them.

1 - Compile package modules - json module is inside a package (files:
__init__.py, decoder.py, encoder.py, decoder.py) is there a way to generate
the cython modules just like its get generated by cython?

2 - Because I'm getting in trouble with issue #1, I'm running the tests
manually, I go to %Python-dir%/Lib/tests/json_tests, get the files
corresponding to the tests python make and run manually.

3 - To get the performance of the module, I'm thinking about to use the
timeit function in  the unit tests for the project. I think a good number of
executions would be made and it would be possible to compare each time.

4 - I didn't create the .pxd files, some problems are happening, it tells
methods are not defined, but, they are defined, I will try to investigate
this better

The code is in this repository:
https://github.com/arthursribeiro/JSON-module your feedback would be very
important, so that I could improve my skills to get more and more able to
work sooner in the project.

I think some things implemented in this rewriting process are going to be
useful when doing this with C modules...

Thank you very much.

Best Regards.



2011/4/12 Stefan Behnel <stefan_ml at behnel.de>

> Arthur de Souza Ribeiro, 08.04.2011 02:43:
>> 2011/4/7 Robert Bradshaw
>>> What I'd like to see is an implementation of a single simple but not
>>> entirely trivial (e.g. not math) module, passing regression tests with
>>> comprable if not better speed than the current C version (though I
>>> think it'd probably make sense to start out with the Python version
>>> and optimize that). E.g. http://docs.python.org/library/json.html
>>> looks like a good candidate. That should only take 8 hours or so,
>>> maybe two days at most, given your background. I'm not expecting
>>> anything before the application deadline, but if you could whip
>>> something like this out in the next week to point to that would help
>>> your application out immensely. In fact, one of the Python
>>> foundation's requirements is that students submit a patch before being
>>> accepted, and this would knock out that requirement and give you a
>>> chance to prove yourself. Create an account on https://github.com and
>>> commit your code into a new repository there.
>> I will start the implementation of json module right now. I created my
>> github account and as soon as I have code implemented I will send
>> repository
>> link.
> Any news on this? We're currently discussing which of the Cython-related
> projects to mentor. It's likely that not all of our projects will get
> accepted, so if you could get us a good initial idea about your work, we'd
> have a stronger incentive to value yours over the others.
> Stefan
> _______________________________________________
> cython-devel mailing list
> cython-devel at python.org
> http://mail.python.org/mailman/listinfo/cython-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cython-devel/attachments/20110412/b4814f1a/attachment.html>

More information about the cython-devel mailing list