This post originated from an RSS feed registered with Python Buzz
by Ryan Tomayko.
Original Post: It's Faster Because It's C
Feed Title: Ryan Tomayko (weblog/python)
Feed URL: http://tomayko.com/feed/
Feed Description: Entries classified under Python.
That argument debunked for most real world applications.
I liked the way different types of boundedness were presented:
I/O-bound. Completing a unit of work earlier just means waiting longer for the next block/message.
Memory-bound. Completing a unit of work earlier just means more time spent thrashing the virtual-memory system.
Synchronization-bound (i.e. non-parallel). Completing a unit of work earlier just means waiting longer for another thread to release a lock or signal an event – and for the subsequent context switch.
Algorithm-bound. There’s plenty of other work to do, and the program can get to it immediately, but it’s wasted work because a better algorithm would have avoided it altogether.
As much as I agree with the thrust of the article, C programs really are faster in real life, but I think it’s because people who program in C are more likely to be familiar with common performance problems and tradeoffs. It’s hard not to be at that level.