<story><title>Why Python is Slow: Looking Under the Hood</title><url>http://jakevdp.github.io/blog/2014/05/09/why-python-is-slow/</url></story><parent_chain><item><author>pnathan</author><text>One thing that bothers me - and has for a long time - is why Python (Perl, Ruby, etc), never have really leveraged the work Common Lisp systems have done (CMUCL, SBCL, etc), which provide very good performance without sacrificing dynamic typing or the REPL.</text></item></parent_chain><comment><author>agentultra</author><text>It bothers me too.&lt;p&gt;Dynamically typed does not imply &lt;i&gt;no types&lt;/i&gt;. A good CL implementation takes that to heart and produces really nice code out of the box. And the language spec provides for an API to allow program developers to specify types and hints to the compiler to optimize certain functions and code paths where it&amp;#x27;s needed.&lt;p&gt;The benefit from this is that you can rapidly prototype your application and harden it to the platform you deploy on when performance becomes an issue... and with built-in conditional compilation you can do that in a cross-platform way.</text></comment>
<story><title>Why Python is Slow: Looking Under the Hood</title><url>http://jakevdp.github.io/blog/2014/05/09/why-python-is-slow/</url></story><parent_chain><item><author>pnathan</author><text>One thing that bothers me - and has for a long time - is why Python (Perl, Ruby, etc), never have really leveraged the work Common Lisp systems have done (CMUCL, SBCL, etc), which provide very good performance without sacrificing dynamic typing or the REPL.</text></item></parent_chain><comment><author>chrisseaton</author><text>Languages like Python and Ruby have generally looked to the SmallTalk and Self literature (inline caches, dynamic deoptimization, hidden classes etc) rather than Common Lisp, so people aren&amp;#x27;t ignorant of the research, they&amp;#x27;re just looking in a different area. If you think there&amp;#x27;s something in Common Lisp we&amp;#x27;re missing, point it out!</text></comment>