Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #61130
| From | Jeremy Sanders <jeremy@jeremysanders.net> |
|---|---|
| Subject | Re: squeeze out some performance |
| Date | 2013-12-06 10:46 +0100 |
| References | <ce6477c1-29c0-43b3-9e56-336a5825869b@googlegroups.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.3633.1386323183.18130.python-list@python.org> (permalink) |
Robert Voigtländer wrote: > I try to squeeze out some performance of the code pasted on the link > below. http://pastebin.com/gMnqprST > > The code will be used to continuously analyze sonar sensor data. I set > this up to calculate all coordinates in a sonar cone without heavy use of > trigonometry (assuming that this way is faster in the end). > > I optimized as much as I could. Maybe one of you has another bright idea > to squeeze out a bit more? This sort of code is probably harder to make faster in pure python. You could try profiling it to see where the hot spots are. Perhaps the choice of arrays or sets might have some speed impact. One idea would be to use something like cython to compile your python code to an extension module, with some hints to the types of the various values. I would go down the geometry route. If you can restate your problem in terms of geometry, it might be possible to replace all that code with a few numpy array operations. e.g. for finding pixels in a circle of radius 50 import numpy as np radiussqd = np.fromfunction(lambda y,x: (y-50)**2+(x-50)**2, (100,100) ) all_y, all_x = np.indices((100,100)) yvals = all_y[radiussqd < 50**2] Jeremy
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
squeeze out some performance Robert Voigtländer <r.voigtlaender@gmail.com> - 2013-12-06 00:47 -0800
Re: squeeze out some performance Jeremy Sanders <jeremy@jeremysanders.net> - 2013-12-06 10:46 +0100
Re: squeeze out some performance Chris Angelico <rosuav@gmail.com> - 2013-12-06 23:13 +1100
Re: squeeze out some performance Robert Voigtländer <r.voigtlaender@gmail.com> - 2013-12-06 08:29 -0800
Re: squeeze out some performance Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-06 16:36 +0000
Re: squeeze out some performance Robert Voigtländer <r.voigtlaender@gmail.com> - 2013-12-06 08:44 -0800
Re: squeeze out some performance John Ladasky <john_ladasky@sbcglobal.net> - 2013-12-06 08:52 -0800
Re: squeeze out some performance Joel Goldstick <joel.goldstick@gmail.com> - 2013-12-06 17:07 -0500
Re: squeeze out some performance Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-06 22:38 +0000
Re: squeeze out some performance Dan Stromberg <drsalists@gmail.com> - 2013-12-06 15:01 -0800
Re: squeeze out some performance Robert Voigtländer <r.voigtlaender@gmail.com> - 2013-12-09 06:19 -0800
Re: squeeze out some performance Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-09 14:52 +0000
Re: squeeze out some performance Robin Becker <robin@reportlab.com> - 2013-12-09 15:54 +0000
Re: squeeze out some performance Dave Angel <davea@davea.name> - 2013-12-09 15:46 -0500
Re: squeeze out some performance Robin Becker <robin@reportlab.com> - 2013-12-10 12:54 +0000
Re: squeeze out some performance Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-09 23:57 +0000
Re: squeeze out some performance Robert Voigtländer <r.voigtlaender@gmail.com> - 2013-12-10 04:14 -0800
csiph-web