Pages tagged threading:

jessenoller.com - Python Threads and the Global Interpreter Lock
http://jessenoller.com/2009/02/01/python-threads-and-the-global-interpreter-lock/

interesting interesting!
oach the problem with what is now the near ubiquitous solution to the concurrency “problem”: Threads, a
more on the python-thread shennanigans. Better than most, but like many, seems to ignore GUI programming. Did webdev eat *everything* else?
has_many :bugs, :through => :rails: Thread safety for your Rails
http://m.onkey.org/2008/10/23/thread-safety-for-your-rails
Long story short, Rails can now serve multiple requests in more than one ruby threads ( or native threads if you’re on JRuby ) parallelly. Charles Nutter has done a good job of explaining the details here. Should you give a flying fuck ? You totally should if : * You’re using JRuby * You’re bold enough to play around with bleeding edge Neverblock stuff * Your application has a lot of long running processes, which are not heavy on blocking IO ( this would be rare I imagine ) You totally should NOT if : * You’re using Event based mongrel, thin or any of the event based web server in production. Event based servers don’t use Threads, so it just doesn’t matter. * You CBA You may have heard a bunch of hype about how threads make everything 100x faster, this is far from the truth. Don’t believe everything the hype merchants want to sell you, test your application first and see if it helps.
TCMalloc : Thread-Caching Malloc
http://google-perftools.googlecode.com/svn/trunk/doc/tcmalloc.html
Concurrency Hazards: Solving 11 Likely Problems In Your Multithreaded Code
http://msdn.microsoft.com/en-us/magazine/cc817398.aspx
Solving 11 Likely Problems In Your Multithreaded Code
MSDN Library 2008/11 - Joe Duffy
Server-side programs have long had to deal with a fundamentally concurrent programming model, and as multicore processors become more commonplace, client-side programs will have to as well. Along with the addition of concurrency comes the responsibility for ensuring safety. In other words, programs must continue to achieve the same level of robustness and reliability in the face of large amounts of logical concurrency and ever-changing degrees of physical hardware parallelism.
Fix a bug in Ruby’s configure.in and get a ~30% performance boost. at time to bleed by Joe Damato
http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30-performance-boost/
technical ramblings from a wanna-be unix dinosaur
Fixing Threads in Ruby 1.8: A 2-10x performance boost at time to bleed by Joe Damato
http://timetobleed.com/fixing-threads-in-ruby-18-a-2-10x-performance-boost/
good explanation of Ruby's threads & stack implementation
6s
ruby 1.8 mri assembly threads
Multiprocessing with Python
http://www.ibm.com/developerworks/aix/library/au-multiprocessing/index.html?ca=dgr-lnxw97Python-Multi&S_TACT=105AGX59&S_CMP=grsitelnxw97
Learn to scale your UNIX® Python applications to multiple cores by using the multiprocessing module which is built into Python 2.6. Multiprocessing mimics parts of the threading API in Python to give the developer a high level of control over flocks of processes, but also incorporates many additional features unique to processes.
In a previous article for IBM® developerWorks®, I demonstrated a simple and effective pattern for implementing threaded programming in Python. One downside of this approach, though, is that it won't always speed up your application, because the GIL (global interpreter lock) effectively limits threads to one core. If you need to use all of the cores on your machine, then typically you will need to fork processes, to increase speed. Dealing with a flock of processes can be a challenge, because if communication between processes is needed, it can often get complicated to coordinate all of the calls. Fortunately, as of version 2.6, Python includes a module called "multiprocessing" to help you deal with processes. The API of the processing module has some similarities to the way the threading API works, but there are also few differences to keep in mind. One of the main differences is that processes have subtle underlying behavior that a high-level API will never be able to completely abst
Mailinator(tm) Blog: How I sped up my server by a factor of 6
http://mailinator.blogspot.com/2010/02/how-i-sped-up-my-server-by-factor-of-6.html
Interesting post about java and concurrency problems, with some nice comments too: http://bit.ly/dtzUL1 – Sergio Bossa (sbtourist) http://twitter.com/sbtourist/statuses/15701705927
270,000