Hacker News new | past | comments | ask | show | jobs | submit login

Does anyone here have a single example of a performance problem caused by using a 'dynamic' language rather than a 'static' language? The only performance problems I've ever encountered 'in the wild' have been down to things like database access, I/O, bad sorting algorithms, string concatenation, etc.



Fundamental limitations of Python are responsible for most of the memory footprint and performance difference between the old official Python implementation of BitTorrent and C++ implementations like libtorrent. The kind of obsessive optimization that made uTorrent so tiny and fast is just not achievable in Python, due to things like per-object memory overhead and reference counting.

I've also done audio processing projects in Python, and ended up switching to D because Python couldn't do floating point additions and multiplications across large lists fast enough.


Yes. You are thinking of dynamic langauges merely on the function of being used on web apps. Embeded programming, programs in mobile applications, Javascript, Actionscript in flash.... you name it. Performance is important, especially on applications that are intesive (computing wise), and not i/o wise.

Eg. Games: A lot of games use something like Lua for scripting their UI, but for the hardcore game engine they use C or C++


Yes. A couple of years ago, I was implementing the Quadratic Sieve integer factorization algorithm in Maple (technically, I was implementing PP-SIQS). Taking a routine which used the Pollard rho algorithm to factor 12-16 digit values from MAPLE (a dynamically typed language) and implementing it in C -- using calls to exactly the same GMP primitive functions as Maple was using -- resulted in a tenfold speedup; this routine was used commonly enough that the overall routine was sped up by roughly a factor of two.


Dynamic languages like Perl, Python and Ruby all do. Many of their core features have been written in C to give them more performance.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: