In my opinion we should make a note that pygr 0.8 is not thread safe,
use the temporary file solution for now and put thread safety on a to
do list for 1.0.

Having proper concurrency would be a big plus for bioinformatics,
since the machines are moving multi-core. Even with PIL my threading
code was utilizing ~150% of cpu on a dual core machine. This is
because blastall was running in a separate process scheduled on a
separate core. Now when we go and do more graphical stuff (I'll add
more thoughts/ideas on this later) then threading would be very
important for usability. So eventually thread-safety should happen.

Currently, the key conflict with threads is that mutable and immutable
operations are intermixed. For instance, reading a sequence from a
sequence database feels like an immutable operation, however, since we
are doing caching in the background, the operation does change the
internal state of the database object. Hence, two threads cannot use a
single sequence database object even for reading. I am sure there are
other examples of this unintuitive behavior with respect to mutability
elsewhere.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pygr-dev" group.
To post to this group, send email to pygr-dev@googlegroups.com
To unsubscribe from this group, send email to 
pygr-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pygr-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to