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

You can write a program in Python that does I/O, and leaving it unmodified benchmark it running 10's of thousands of times slower on a dual core machine than on a comparably equipped single core machine. Can you do this with Ruby, Smalltalk, Lisp, or Lua? Specifically, it's the GIL that's involved.



Yes you can. But that's not an I/O problem, that's a problem in their GIL locking/unlocking/context switching implementation. Even when doing pure CPU computation in Python you run into the same problem. There was a presentation about this a while ago which explains the problem in detail.

However the problem is not inherent to all GIL systems. Ruby 1.9 also has a GIL but does not suffer from the problem of running slower on dual core than single core.




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

Search: