4 ms·
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 prob
by baha_man 19y ago
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.
- ardit33 19y agoYes. 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++
- cperciva 19y agoYes. 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.
- chollida1 19y agoDynamic languages like Perl, Python and Ruby all do. Many of their core features have been written in C to give them more performance.
- sah 19y agoFundamental 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.