#jython IRC Log (v0.9)

Index

IRC Log for 2010-08-30

Timestamps are in GMT/BST.

[6:20] -verne.freenode.net- *** Looking up your hostname...
[6:20] -verne.freenode.net- *** Checking Ident
[6:20] -verne.freenode.net- *** Couldn't look up your hostname
[6:20] -verne.freenode.net- *** No Ident response
[6:20] [frigg VERSION]
[6:20] * JythonLogBot (~PircBot@74.50.59.201) has joined #jython
[6:20] * Topic is '[Jython 2.5.2 beta 1 at http://www.jython.org/ | This channel is logged: http://jython.extreme.st/irclogs/ | Please update the wiki: http://wiki.python.org/jython/ | Pastebin: http://pylonshq.com/pasties | IRC Channel: http://wiki.python.org/jython/IrcChannel | Jython Book: http://jythonbook.com | Podcast: http://www.jythonpodcast.com]'
[6:20] * Set by Oti!5390f2dc@gateway/web/freenode/ip.83.144.242.220 on Mon Jun 28 13:30:58 UTC 2010
[6:21] <Oti> the logbot lost it's connection to the channel yesterday
[6:27] <Oti> now it is up an running again
[6:27] <Oti> there are missing logs for about 12 hours - sorry for that!
[7:20] * enebo (~enebo@222-151-097-129.jp.fiberbit.net) has joined #jython
[7:41] * thobe (~Adium@c83-249-252-237.bredband.comhem.se) Quit (Quit: Leaving.)
[7:54] * enebo (~enebo@222-151-097-129.jp.fiberbit.net) Quit (Quit: enebo)
[8:52] * thobe (~Adium@212-162-171-110.skbbip.com) has joined #jython
[9:00] * rwalter (~chatzilla@64.209.43.161) has joined #jython
[9:06] * seberg (~sebastian@vpn-3118.gwdg.de) has joined #jython
[9:07] * rwalter is now known as r_walter
[9:52] * jabley (~jabley@cpc1-farn4-0-0-cust318.6-2.cable.virginmedia.com) has joined #jython
[10:18] * juneau001 (~juneau@pool-72-69-86-86.chi01.dsl-w.verizon.net) Quit (Quit: juneau001)
[10:20] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Ping timeout: 272 seconds)
[10:22] * jabley (~jabley@cpc1-farn4-0-0-cust318.6-2.cable.virginmedia.com) Quit (Quit: jabley)
[10:37] * r_walter (~chatzilla@64.209.43.161) Quit (Quit: ChatZilla 0.9.86 [Firefox 3.6.8/20100722155716])
[10:44] * jabley (~jabley@cpc1-farn4-0-0-cust318.6-2.cable.virginmedia.com) has joined #jython
[10:45] * jabley (~jabley@cpc1-farn4-0-0-cust318.6-2.cable.virginmedia.com) Quit (Client Quit)
[10:49] * seberg (~sebastian@vpn-3118.gwdg.de) Quit (Quit: Ex-Chat)
[10:55] * stakkars_ (~tismer@i577B455F.versanet.de) Quit (Ping timeout: 276 seconds)
[10:56] * stakkars (~tismer@i577B455F.versanet.de) Quit (Ping timeout: 265 seconds)
[11:01] * stakkars (~tismer@i59F7FEDF.versanet.de) has joined #jython
[11:01] * stakkars_ (~tismer@i59F7FEDF.versanet.de) has joined #jython
[11:06] * juneau001 (~juneau@131.225.174.107) has joined #jython
[11:18] * juneau001 (~juneau@131.225.174.107) Quit (Remote host closed the connection)
[11:18] * juneau001 (~juneau@131.225.24.72) has joined #jython
[11:42] * seberg (~sebastian@vpn-3150.gwdg.de) has joined #jython
[11:44] * lopex (lopex@chello089076044027.chello.pl) has joined #jython
[11:51] * lheuer (~heuer@unaffiliated/lheuer) has joined #jython
[12:05] * seberg (~sebastian@vpn-3150.gwdg.de) Quit (Ping timeout: 258 seconds)
[12:19] * seberg (~sebastian@vpn-3150.gwdg.de) has joined #jython
[12:27] * verterok (~ggonzalez@unaffiliated/verterok) has joined #jython
[12:27] * seberg (~sebastian@vpn-3150.gwdg.de) Quit (Ping timeout: 272 seconds)
[12:39] * seberg (~sebastian@vpn-3150.gwdg.de) has joined #jython
[13:16] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[13:16] * pigletto (~quassel@94.254.232.66) Quit (Ping timeout: 252 seconds)
[13:38] * thobe (~Adium@212-162-171-110.skbbip.com) Quit (Quit: Leaving.)
[13:59] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Ping timeout: 258 seconds)
[14:23] * skay (~skay@pat1.orbitz.net) has joined #jython
[14:24] * lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) has joined #jython
[15:07] * enebo (~enebo@222-151-097-129.jp.fiberbit.net) has joined #jython
[15:25] * Oti (~ohumbel@adsl-89-217-128-14.adslplus.ch) Quit (Quit: Oti)
[15:37] * enebo (~enebo@222-151-097-129.jp.fiberbit.net) Quit (Quit: enebo)
[15:49] * lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) Quit (Ping timeout: 276 seconds)
[16:01] * seberg (~sebastian@vpn-3150.gwdg.de) Quit (Ping timeout: 276 seconds)
[16:08] * seberg (~sebastian@vpn-3150.gwdg.de) has joined #jython
[16:08] * jimbaker (~jbaker@64.134.150.140) has joined #jython
[16:15] * seberg (~sebastian@vpn-3150.gwdg.de) Quit (Quit: Ex-Chat)
[16:44] <ropoctl> I did a little hacking on some of the Java blocked queues -- I added a join() so that they acted like python Queue and got a big performance boost
[16:47] * lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) has joined #jython
[16:47] <jimbaker> ropoctl: cool, when i took at look at this i couldn't figure out how to add join without a third condition variable for the join (as i recall it)
[16:48] * lheuer (~heuer@unaffiliated/lheuer) Quit (Quit: Closing Time)
[16:48] <ropoctl> i will paste my source for the ArrayBlockingQueue modification
[16:48] <jimbaker> sounds good
[16:50] <ropoctl> http://pastebin.com/4Wg7YFDu
[16:50] <ropoctl> don't laugh, its probably dirty
[16:51] <ropoctl> oh yah i did use a third condition variable
[16:51] <ropoctl> but it's still significantly faster than the native python Queue
[16:51] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[16:55] <ropoctl> heh, i also added a lock and condition for ConcurrentLinkedQueue for join()
[16:57] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Ping timeout: 258 seconds)
[17:07] <jimbaker> ropoctl: ok, that would work, modifying the underlying code ;)
[17:08] <jimbaker> how much of a speedup did you get in doing this?
[17:10] <jimbaker> if reasonable, maybe we could write a java version of Queue for the release candidate
[17:12] <jimbaker> as i mentioned yesterday - but the logs were down - i think we are just about ready to go for 2.5.2 beta 2, assuming the resource leak of http://bugs.jython.org/issue1327 is fixed, as i think it is
[17:13] <ropoctl> using a worker threads doing time.sleep(.1) between get and task_done i got about 50 microseconds per queue item, i believe it was
[17:13] <jimbaker> ropoctl: vs what for the pure python version?
[17:13] <ropoctl> so with the application im using it for, it ended up speeding things up 2x
[17:13] <jimbaker> ok, that's significant
[17:13] <ropoctl> the delta was 50 us per queue item
[17:15] <jimbaker> rewriting Queue into java should be easy - if necessary, we could go to the underlying public domain code from JSR166
[17:15] <jimbaker> but probably not necessary
[17:17] <ropoctl> the hacked ConcurrentLinkedQueue is 2x faster than that modified java blocking queue, but it's really hackish
[17:18] <ropoctl> worker threads doing a lot of useless cycles
[17:20] <ropoctl> really, it would require me to modify the entire program a little bit to use that one
[17:20] <jimbaker> ropoctl: yeah, i don't ConcurrentLinkedQueue is a good backend for Queue in jython
[17:21] <jimbaker> don't think
[17:22] <ropoctl> my program assigns lots of tasks in blocks, then has to take all that stuff and process it in a single thread and then assign more tasks in blocks based on the results
[17:23] <ropoctl> so i'm able to use the concurrentlinked thing along with start and stop signals
[17:26] <jimbaker> ropoctl: besides switching out Queue, have you found other areas in jython that are creating inefficient hot spots?
[17:26] <ropoctl> not yet
[17:26] <ropoctl> the intense computation is all in a java extension
[17:27] <jimbaker> sounds reasonable, and what it should be
[17:27] <jimbaker> it would be nice to get some additional perf enhancements in 2.5.2 - so far, i think the only thing that we might want to consider is mitigating startup time costs
[17:28] <jimbaker> this is a pet peeve of agronholm
[17:32] <jimbaker> but to be clear - only low hanging fruit, where it's easy to determine it will have performance improvements. there are lots of improvements we can make in 2.6, around invoke dynamic support, etc. but that has to wait
[17:38] <ropoctl> Queue is definitely a low hanging fruit I think
[17:39] <ropoctl> because the major selling point for jython im seeing is concurrency
[17:50] <jimbaker> ropoctl: agreed on concurrency
[17:52] <jimbaker> i think that would also be what makes jython appealing for working with numpy. if we can get robust c extension api support, being able to combine forkjoin with code implemented in c/fortran, for example, could truly be... something interesting
[17:54] <jimbaker> that it would require implementing a "global interpreter lock" for any such api calls would be ironic - the key would be to ensure that such a thing, and general issues around going back & forth across the api - would not impact at least coarse-grained computations
[17:55] * jimbaker (~jbaker@64.134.150.140) Quit (Quit: jimbaker)
[18:29] * verterok (~ggonzalez@unaffiliated/verterok) Quit (Quit: Lost terminal)
[18:40] * verterok (~ggonzalez@unaffiliated/verterok) has joined #jython
[18:41] * jimbaker (~jbaker@c-24-8-39-78.hsd1.co.comcast.net) has joined #jython
[18:46] * jcp (~jw@bzflag/contributor/javawizard2539) Quit (Excess Flood)
[18:51] * jcp (~jw@bzflag/contributor/javawizard2539) has joined #jython
[19:04] <jimbaker> jcp: any luck on sys.modules sharing?
[19:05] <jcp> I haven't tried yet. I've been working on something else (namely, getting pidgin to work with IRC, and no comments from the peanut gallery on that :)
[19:06] <jimbaker> jcp: no worries, it would be interesting to see if we can get this work. in general, i think we are pretty good for working with classloaders now, just need to find the right patterns of usage
[19:07] <jimbaker> (if we are not, i want to find out asap - really want to get 2.5.2 out so we can focus on 2.6+)
[19:07] <jcp> ok
[19:07] <jcp> I
[19:08] <jcp> I'll let you know when I try it
[19:08] <jcp> Out of curiosity, has there been any thought of skipping 2.6 altogether and going directly to 2.7?
[19:08] <jimbaker> jcp: thanks!
[19:08] <jcp> It has some useful features such as dict comprehension that would be nice
[19:08] <jimbaker> we have talked about that, however i think the best bet is to release a strict superset of 2.6
[19:08] <jimbaker> that's backwards compatible
[19:08] <jimbaker> going for 2.7 is probably too risky
[19:09] <jimbaker> but... in 2.5 we implemented some limited 2.6 functionality which were enablers or just cool
[19:10] <jcp> Ok. Would there be any chance of including things like dict comprehensions in 2.6 then?
[19:10] <jimbaker> set and dict comprehensions are definitely cool, so they probably would make it
[19:10] <jcp> To my knowledge it doesn't break any 2.6 apps so it's completely backwards-compatible
[19:10] <jcp> Ok, awesome :)
[19:12] <jimbaker> i half suspect that dict/set comprehensions are really easy to implement, except for some annoying corner cases that will take 95% of the time. still we should do them in jython 2.6
[19:14] * juneau001 (~juneau@131.225.24.72) Quit (Quit: juneau001)
[19:37] * pigletto (~pigletto@duj167.neoplus.adsl.tpnet.pl) has joined #jython
[20:37] * jcp is now known as javawizard
[20:37] * javawizard is now known as jcp
[20:38] * jcp is now known as javawizard2539
[20:39] * javawizard2539 is now known as jcp
[20:41] * lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) Quit (Ping timeout: 240 seconds)
[21:13] * robbyoconnor (~wakawaka@cpe-24-164-169-240.hvc.res.rr.com) has joined #jython
[21:14] * robbyoconnor (~wakawaka@cpe-24-164-169-240.hvc.res.rr.com) Quit (Changing host)
[21:14] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[21:21] * jimbaker (~jbaker@c-24-8-39-78.hsd1.co.comcast.net) Quit (Quit: jimbaker)
[21:49] * jimbaker (~jbaker@64.134.236.45) has joined #jython
[22:02] * pigletto (~pigletto@duj167.neoplus.adsl.tpnet.pl) Quit (Ping timeout: 260 seconds)
[22:23] * skay (~skay@pat1.orbitz.net) Quit (Quit: skay)
[23:28] * juneau001 (~juneau@pool-72-69-86-86.chi01.dsl-w.verizon.net) has joined #jython
[23:40] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Remote host closed the connection)
[23:42] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[23:46] * jimbaker (~jbaker@64.134.236.45) Quit (Quit: jimbaker)
[23:57] * enebo (~enebo@222-151-097-129.jp.fiberbit.net) has joined #jython

Index

These logs were automatically created by JythonLogBot_ on irc.freenode.net using a slightly modified version of the Java IRC LogBot (github).