Cython with Craig Citro and Robert Bradshaw

The Python Podcast.__init__

Episode | Podcast

Date: Thu, 18 Feb 2016 21:00:00 -0500

<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&amp;utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&amp;utm_medium=rss">community</a>, and sign up for our mailing list.</p> <h3>Summary</h3> <p>Do you find yourself reaching for a different language when you need some extra speed? With Cython you can get the best of both worlds by writing your code in Python and executing it as compiled code. In this episode we were joined by Craig Citro and Robert Bradshaw from the Cython project to discuss how and when you might want to incorporate it into your applications.</p> <h3>Brief Introduction</h3> <ul> <li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li> <li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&amp;utm_medium=rss">RSS</a></li> <li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Google+</a></li> <li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Google+</a></li> <li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&amp;utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li> <li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&amp;utm_medium=rss">pythonpodcast.com</a></li> <li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li> <li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">hired.com/podcastinit</a> to double your signing bonus.</li> <li>Your hosts as usual are Tobias Macey and Chris Patti</li> <li>Today we are interviewing Craig Citro and Robert Bradshaw</li> </ul> <h3>Interview with Craig Citro and Robert Bradshaw</h3> <ul> <li>Introductions</li> <li>How did you get introduced to Python? &#8211; Chris</li> <li>What is Cython and how did the project get started? &#8211; Tobias</li> <li>My understanding is that Cython can improve the performance of a Python program without even having to provide any type annotations. How does it manage to do that? &#8211; Tobias</li> <li>Can a Cython module be used as a way to sidestep the GIL? What are some of the pitfalls that can be caused by doing so? &#8211; Tobias</li> <li>Can you give some examples of how Cython can be used to improve the perfomance of Python programs? &#8211; Tobias</li> <li>How does Cython work under the covers? &#8211; Tobias</li> <li>What were some of the challenges during the creation of Cython and what design decisions were made to overcome them? &#8211; Tobias</li> <li>Does Python’s cross platform nature create any unique challenges when compiling down to the C level? &#8211; Chris</li> <li>What processor and system architectures does Cython support and are there plans to expand that support? &#8211; Tobias</li> <li>How do generators and list comprehensions map to C, and did those higher level language constructs pose any special challenges in Cython’s design? &#8211; Chris</li> <li>Would Rust ever be a potential compile target for performance and safety optimized modules? &#8211; Tobias</li> </ul> <h3>Keep In Touch</h3> <ul> <li>Craig <ul> <li><a href="https://twitter.com/craigcitro?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Twitter</a></li> <li><a href="https://github.com/craigcitro?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">GitHub</a></li> <li><a href="http://www.craigcitro.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Website</a></li> </ul> </li> <li>Robert <ul> <li><a href="mailto:robertwb@gmail.com">Email</a></li> </ul> </li> </ul> <h3>Picks</h3> <ul> <li>Tobias <ul> <li><a href="https://medium.com/mit-media-lab/certificates-reputation-and-the-blockchain-aee03622426f#.ctvv32ymo?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Certificates, Reputation, and the Blockchain</a></li> </ul> </li> <li>Craig <ul> <li><a href="http://amzn.to/1oNSmtc?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Curious Kids Science Book</a> by Asia Citro</li> <li><a href="https://github.com/hadley/dplyr?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">dplyr</a></li> <li><a href="https://github.com/smbache/magrittr?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">magrittr</a></li> <li><a href="http://amzn.to/1PUMYLE?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Everything Is Obvious: How Common Sense Fails Us</a> by Duncan Watts</li> </ul> </li> <li>Robert <ul> <li><a href="http://www.mowillems.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Mo Willems</a></li> <li><a href="http://amzn.to/1Rbenvc?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Philips Hue Lights</a></li> <li><a href="http://cloud.sagemath.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Sage Math Cloud</a></li> </ul> </li> </ul> <h3>Links</h3> <ul> <li><a href="http://www.sagemath.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Sage</a> (Math)</li> <li><a href="https://en.wikipedia.org/wiki/Pyrex_(programming_language?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Pyrex</a>)</li> </ul> <p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">CC BY-SA</a><img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-45-cython-with-craig-citro-and-robert-bradshaw%2F&amp;action_name=Cython+with+Craig+Citro+and+Robert+Bradshaw+-+Episode+45&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&amp;utm_source=rss&amp;utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" /></p>