Why I don't want lightweight threads in my programming language
pwpwp.blogspot.com
pwpwp.blogspot.com
You almost certainly know more about how you want your threads scheduled for your specific workload than the OS does.
Or you could go down the Solaris route with 170 different priority levels http://www.princeton.edu/~unix/Solaris/troubleshoot/schedule...
Isn't this obviously wrong, barring some breakthrough in memory latency?
Fetching something from RAM still takes hundreds of CPU cycles. Even SSD's, which are much faster than hard disks in most metrics, are orders of magnitude slower than RAM.
So yeah, this isn't happening anytime soon.
He also forgets things where independent processing is desirable because it eases modeling the system which you're modeling, eg a friend used Stackless Python to code that zombie outbreak simulation and each zombie got its own green thread because it simplified the simulation.
Of course, he has a point in that the language should allow green threads to be added as a library, rather than being built in, but most languages would actually allow this. Also, Erlang may have lightweight threads, but its still SMP-aware.
1. http://en.wikipedia.org/wiki/Magnetoresistive_Random_Access_...
Yeah! You can write one of those suckers in an all-nighter! It's not like they're tricky or hard to debug or anything. Bring on the Java MonsterTM! Real languages let you use several concurrency models concurrently!