Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #59375 > unrolled thread
| Started by | Peter Chant <pete@petezilla.co.uk> |
|---|---|
| First post | 2013-11-14 00:39 +0000 |
| Last post | 2013-11-14 23:05 +0000 |
| Articles | 3 — 2 participants |
Back to article view | Back to comp.lang.python
pypy and ctypes Peter Chant <pete@petezilla.co.uk> - 2013-11-14 00:39 +0000
Re: pypy and ctypes Neil Cerutti <neilc@norwich.edu> - 2013-11-14 15:13 +0000
Re: pypy and ctypes Peter Chant <pete@petezilla.co.uk> - 2013-11-14 23:05 +0000
| From | Peter Chant <pete@petezilla.co.uk> |
|---|---|
| Date | 2013-11-14 00:39 +0000 |
| Subject | pypy and ctypes |
| Message-ID | <omidlaxggl.ln2@phoenix.fire> |
I'm looking to speed up some python code. Replacing the python interpreter with pypy was impressive. I noted that use of ctypes (in cython?), specifically declaring variables as below, was reported as giving a useful result: cdef float myvar cdef int i under cython can provide a useful speed increase even if sections of code are not re-written in C. Does this also work in PyPy? From googling I keep getting pointed at ffi - but that seems to relate more to calling c-libraries rather than what I'm trying to do - seeing if there are any simple speed ups by declaring variables. Or is it that - if I keep the code as simple as possible, PyPy is about as fast as you can get? Pete
[toc] | [next] | [standalone]
| From | Neil Cerutti <neilc@norwich.edu> |
|---|---|
| Date | 2013-11-14 15:13 +0000 |
| Message-ID | <bek7kuFp9neU1@mid.individual.net> |
| In reply to | #59375 |
On 2013-11-14, Peter Chant <pete@petezilla.co.uk> wrote: > Or is it that - if I keep the code as simple as possible, PyPy > is about as fast as you can get? PyPy profiles your code as it runs and creates, using a just-in-time compiler, highly optimized versions of frequently run sections. You don't have to declare types or even think about it; The scheme will work best with code that runs for a significant amount of time. cython allows you to declare types, and attempts to create more efficient code *at compile time* using those type declaration. Which approach will be better depends on how the code runs and how clever you are at using cython. PyPy isn't designed to speed up programs that run for a few hundred milliseconds and then complete, though it might sometimes work for that. -- Neil Cerutti
[toc] | [prev] | [next] | [standalone]
| From | Peter Chant <pete@petezilla.co.uk> |
|---|---|
| Date | 2013-11-14 23:05 +0000 |
| Message-ID | <ci1glaxojc.ln2@phoenix.fire> |
| In reply to | #59446 |
On 11/14/2013 03:13 PM, Neil Cerutti wrote: > On 2013-11-14, Peter Chant <pete@petezilla.co.uk> wrote: >> Or is it that - if I keep the code as simple as possible, PyPy >> is about as fast as you can get? > > PyPy profiles your code as it runs and creates, using a > just-in-time compiler, highly optimized versions of frequently > run sections. You don't have to declare types or even think about > it; The scheme will work best with code that runs for a > significant amount of time. > That is the situation I'm in. If it only ran for a second or two there'd be no point in worrying about speed. PyPy gave a massive speed up. I was wonding if I could do a little more. > cython allows you to declare types, and attempts to create more > efficient code *at compile time* using those type declaration. > > Which approach will be better depends on how the code runs and > how clever you are at using cython. If it is marginal then I don't think the effort would be worth while. I do wonder whether writing some specific functions in C using cffi would benefit. It is something I have no experience of. > > PyPy isn't designed to speed up programs that run for a few > hundred milliseconds and then complete, though it might sometimes > work for that. >
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.python
csiph-web