--- Log opened Tue Dec 03 00:00:53 2013 |
00:42 | <@Tarinaky> | So I might have just spent the last 1hr30min writing a lengthy cry for help at the end of my assignment. |
00:42 | <@Tarinaky> | It /still/ doesn't make it to the four pages that the brief asks for. |
00:49 | | Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has joined #code |
00:49 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
01:11 | | Derakon[AFK] is now known as Derakon |
01:20 | | You're now known as TheWatcher[T-2] |
01:23 | | Kindamoody is now known as Kindamoody[zZz] |
01:44 | | You're now known as TheWatcher[zZzZ] |
04:05 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
04:24 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
--- Log closed Tue Dec 03 05:07:08 2013 |
--- Log opened Tue Dec 03 05:18:36 2013 |
05:18 | | TheWatcher[zZzZ] [chris@Nightstar-ksqup0.co.uk] has joined #code |
05:18 | | Irssi: #code: Total of 38 nicks [16 ops, 0 halfops, 0 voices, 22 normal] |
05:18 | | mode/#code [+o TheWatcher[zZzZ]] by ChanServ |
05:19 | | Irssi: Join to #code was synced in 39 secs |
05:21 | | Derakon is now known as Derakon[AFK] |
05:28 | | Turaiel is now known as Turaiel[Offline] |
06:08 | | ErikMesoy|sleep is now known as ErikMesoy |
06:30 | | RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has quit [[NS] Quit: Gone.] |
06:34 | | RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has joined #code |
06:45 | | celticminstrel [celticminst@Nightstar-gj43l1.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
06:54 | | himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has quit [Ping timeout: 121 seconds] |
07:02 | | AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has joined #code |
08:11 | | Kindamoody is now known as Kindamoody|out |
09:21 | | AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has quit [[NS] Quit: Leaving] |
09:34 | | Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has quit [Connection closed] |
09:43 | | You're now known as TheWatcher |
10:02 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
10:02 | | mode/#code [+o himi] by ChanServ |
13:42 | | Turaiel[Offline] is now known as Turaiel |
14:05 | | Turaiel is now known as Turaiel[Offline] |
15:47 | | Turaiel[Offline] is now known as Turaiel |
16:04 | | Turaiel is now known as Turaiel[Offline] |
16:38 | | Turaiel[Offline] is now known as Turaiel |
16:55 | | celticminstrel [celticminst@Nightstar-gj43l1.dsl.bell.ca] has joined #code |
16:55 | | mode/#code [+o celticminstrel] by ChanServ |
18:41 | | Turaiel is now known as Turaiel[Offline] |
18:50 | | Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has joined #code |
18:50 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
20:14 | | Kindamoody|out is now known as Kindamoody |
20:50 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code |
20:50 | | mode/#code [+o Reiv] by ChanServ |
21:37 | < RichyB> | There should be a python-threading song, akin to the dwarven poetry, http://www.lspace.org/fandom/afp/timelines/gold-gold-gold.html |
21:37 | < RichyB> | "GIL GIL GIL GIL GIL GIL GILā¦" |
21:38 | <&jerith> | http://thecodelesscode.com/case/121 |
21:39 | | Kindamoody is now known as Kindamoody[zZz] |
21:42 | < RichyB> | eh, whatever |
21:43 | < ErikMesoy> | GIL? |
21:43 | <&jerith> | Global Interpreter Lock. |
21:43 | < RichyB> | Yes, you're irrevocably doomed if you ever write sem_wait() or acquire_mutex() in business logic, but raw access to shared-memory multiprocessing is exactly what you want for writing systems software that doesn't suck. |
21:45 | < RichyB> | ErikMesoy, Python has a "thread" module; CPython's threads are OS threads (e.g. pthreads); CPython can't cope with multiple threads accessing the Python interpreter concurrently, so it protects the entire interpreter state with a single global lock. |
21:46 | < RichyB> | Effectively, each Python process emulates a task-switching uniprocessor atop your multiple CPU cores. |
21:46 | < ErikMesoy> | wtf |
21:46 | < ErikMesoy> | Is this as wtf as it sounds? |
21:47 | <&jerith> | Most people don't even notice it. |
21:48 | < RichyB> | Semantically, it's just meh. |
21:48 | < RichyB> | It becomes royally BLETCH if you try to have multiple compute-bound threads in the same process. |
21:50 | <&jerith> | Fortunately arigato has his STM pypy implementation. |
21:51 | < RichyB> | Partly for fun, I happen to be hacking on https://bitbucket.org/rbarrell/cpython |
21:51 | < ErikMesoy> | Also: I have only ever heard the "two problems" proverb with regular expressions. For threads I have heard the variant where the words come slightly out of order. |
21:53 | < RichyB> | jerith, that whole thing just sounds like a really awful tradeoff to me. |
21:54 | < RichyB> | Like we're just going to pay the price of setting up and tearing down an entire STM transaction every few opcodes just for the sake of preserving backwards-compatibility with the fact that CPython happens to have "lookup item from dict" as an atomic operation? |
21:54 | < RichyB> | Bletch, I say, bletch! Whatever program was relying on the ability to do that was NUTBAGS in the first place! |
21:55 | < RichyB> | (criticism or dissent would be greatly appreciated, btw) |
21:55 | <&jerith> | RichyB: No Silver Bullets. |
21:56 | < RichyB> | What about it? |
21:56 | | Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has quit [[NS] Quit: Leaving] |
22:01 | < RichyB> | (er, not that I think that STM is a bad idea; I've used it in Haskell and it's really lovely. What I find objectionable is the idea of writing an entire STM implementation just for the sake of staying backwards-compatible with old CPython programs that were doing insane things like mutually-unsynchronised accesses to some dict) |
22:05 | <&jerith> | RichyB: That's not the reason. |
22:06 | <&jerith> | (But compat is important.) |
22:06 | < RichyB> | Compat with useful things is important. |
22:07 | < RichyB> | Being backwards compatible with semantics that aren't useful anyway leads you to attach an enormous ball-and-chain to your own performance. |
22:09 | | ErikMesoy is now known as ErikMesoy|sleep |
22:10 | | Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
22:11 | < RichyB> | jerith, please could you elaborate on why you mentioned that? It's eating at me now. |
22:14 | <&jerith> | RichyB: A "with atomic:" context manager is an incredibly useful concurrency abstraction. |
22:16 | < RichyB> | Right, so get a good STM implementation for the sake of being able to write "with atomic:" blocks. |
22:18 | < RichyB> | That's not at all the same thing as having the language implementation transparently turn every few opcodes into a transaction. |
23:24 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
23:42 | | Turaiel[Offline] is now known as Turaiel |
23:49 | | Vorntastic [Vorn@Nightstar-5u8cto.sub-70-211-10.myvzw.com] has joined #code |
--- Log closed Wed Dec 04 00:00:09 2013 |