#jython IRC Log (v0.9)

Index

IRC Log for 2011-03-26

Timestamps are in GMT/BST.

[00:02] == clajo04_ [~clajo04_@pool-74-108-95-175.nycmny.fios.verizon.net] has joined #jython
[00:33] == lopexx [lopex@84-10-213-252.dynamic.chello.pl] has joined #jython
[00:35] == lopex [lopex@84-10-213-252.dynamic.chello.pl] has quit [Ping timeout: 252 seconds]
[00:40] == Soroushi [~chatzilla@85.15.35.168] has quit [Quit: ChatZilla 0.9.86.1 [Firefox 3.6.16/20110319135224]]
[00:46] == lopexx [lopex@84-10-213-252.dynamic.chello.pl] has quit []
[00:46] == lopex [lopex@84-10-213-252.dynamic.chello.pl] has joined #jython
[04:09] == stakkars__ [~tismer@82.113.99.10] has quit [Quit: schnarch]
[04:14] == pr3d4t0r [~cu4cu4@varenka.cime.net] has quit [Ping timeout: 255 seconds]
[05:06] == stakkars_ [~tismer@82.113.99.10] has joined #jython
[06:23] == shashank [~shashank@c-98-245-87-8.hsd1.co.comcast.net] has quit [Quit: Leaving.]
[07:49] == pr3d4t0r [~cu4cu4@varenka.cime.net] has joined #jython
[9:25] * JythonLogBot disconnected - trying to reconnect...
[9:25] -lindbohm.freenode.net- *** Looking up your hostname...
[9:25] -lindbohm.freenode.net- *** Checking Ident
[9:25] -lindbohm.freenode.net- *** Couldn't look up your hostname
[9:25] -lindbohm.freenode.net- *** No Ident response
[9:25] [frigg VERSION]
[09:50] == shashank [~shashank@c-98-245-87-8.hsd1.co.comcast.net] has joined #jython
[10:08] == stakkars_ [~tismer@82.113.99.10] has quit [Remote host closed the connection]
[10:08] == stakkars_ [~tismer@89.204.153.86] has joined #jython
[10:10] == pjenvey_ [~pjenvey@underboss.org] has joined #jython
[10:12] == stakkars__ [~tismer@82.113.99.10] has joined #jython
[10:12] == lopex [lopex@84-10-213-252.dynamic.chello.pl] has quit [Ping timeout: 248 seconds]
[10:15] == stakkars_ [~tismer@89.204.153.86] has quit [Ping timeout: 250 seconds]
[10:15] == pjenvey [~pjenvey@underboss.org] has quit [*.net *.split]
[10:27] == shashank [~shashank@c-98-245-87-8.hsd1.co.comcast.net] has quit [Ping timeout: 246 seconds]
[11:18] == thobe [~Adium@c83-249-235-76.bredband.comhem.se] has joined #jython
[11:23] == stakkars__ [~tismer@82.113.99.10] has quit [Remote host closed the connection]
[11:24] == stakkars_ [~tismer@89.204.153.73] has joined #jython
[12:34] == stakkars__ [~tismer@82.113.99.10] has joined #jython
[12:36] == stakkars_ [~tismer@89.204.153.73] has quit [Read error: No route to host]
[12:37] == stakkars_ [~tismer@89.204.153.73] has joined #jython
[12:40] == stakkars__ [~tismer@82.113.99.10] has quit [Ping timeout: 246 seconds]
[13:04] == lopex [lopex@84-10-213-252.dynamic.chello.pl] has joined #jython
[13:46] == juneau001 [~juneau@50.44.43.147] has joined #jython
[13:47] == stakkars__ [~tismer@89.204.137.73] has joined #jython
[13:50] == stakkars_ [~tismer@89.204.153.73] has quit [Ping timeout: 240 seconds]
[14:00] == juneau001 [~juneau@50.44.43.147] has quit [Ping timeout: 260 seconds]
[14:11] == Aiwass [~Aiwass4@188.26.203.162] has joined #jython
[15:20] == lopex [lopex@84-10-213-252.dynamic.chello.pl] has quit []
[15:42] == lopex [lopex@84-10-213-252.dynamic.chello.pl] has joined #jython
[17:19] == Aiwass [~Aiwass4@188.26.203.162] has quit [Ping timeout: 252 seconds]
[17:23] == shashank [~shashank@c-98-245-87-8.hsd1.co.comcast.net] has joined #jython
[17:41] == stakkars_ [~tismer@89.204.153.109] has joined #jython
[17:43] == stakkars__ [~tismer@89.204.137.73] has quit [Ping timeout: 240 seconds]
[17:01] -barjavel.freenode.net- *** Looking up your hostname...
[17:01] -barjavel.freenode.net- *** Checking Ident
[17:01] -barjavel.freenode.net- *** Couldn't look up your hostname
[17:01] -barjavel.freenode.net- *** No Ident response
[17:01] [frigg VERSION]
[17:01] * JythonLogBot (~PircBot@74.50.59.201) has joined #jython
[17:01] * Topic is '[Jython 2.5.2 at http://tinyurl.com/jython252 | 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]'
[17:01] * Set by agronholm!~demigod@nblzone-211-37.nblnetworks.fi on Wed Mar 02 22:58:19 UTC 2011
[17:50] * stakkars (~tismer@91-66-101-126-dynip.superkabel.de) Quit (Read error: Operation timed out)
[17:50] * stakkars_ is now known as stakkars
[18:05] * lopex (lopex@84-10-213-252.dynamic.chello.pl) Quit (Ping timeout: 240 seconds)
[18:36] * Tyoc213 (~yaaic@189.145.203.31) has joined #jython
[18:38] <Tyoc213> How fast is to run an app in jython? There exist big differences?
[18:45] * MarderIII (~marderii@enneman.demon.nl) has joined #jython
[19:09] * MarderIII (~marderii@enneman.demon.nl) Quit (Quit: [IRSSI] Curiosity killed the cat, but for a while I was a suspect.)
[19:41] * shashank (~shashank@c-98-245-87-8.hsd1.co.comcast.net) Quit (Quit: Leaving.)
[20:06] * stakkars_ (~tismer@91-66-101-126-dynip.superkabel.de) has joined #jython
[20:11] * stakkars__ (~tismer@91-66-101-126-dynip.superkabel.de) has joined #jython
[20:11] * stakkars_ (~tismer@91-66-101-126-dynip.superkabel.de) Quit (Ping timeout: 260 seconds)
[20:17] * lopex (lopex@84-10-213-252.dynamic.chello.pl) has joined #jython
[20:19] * stakkars__ (~tismer@91-66-101-126-dynip.superkabel.de) Quit (Quit: hasta la vista)
[20:53] * stakkars_ (~tismer@89.204.153.66) has joined #jython
[20:57] * stakkars (~tismer@89.204.153.109) Quit (Ping timeout: 246 seconds)
[20:57] * stakkars_ is now known as stakkars
[21:18] * stakkars (~tismer@89.204.153.66) Quit (Remote host closed the connection)
[21:19] * stakkars (~tismer@89.204.153.70) has joined #jython
[21:21] * stakkars (~tismer@89.204.153.70) Quit (Client Quit)
[21:30] * headius (~headius@184-97-173-164.mpls.qwest.net) has joined #jython
[21:31] * shashank (~shashank@c-98-245-87-8.hsd1.co.comcast.net) has joined #jython
[21:32] * shashank (~shashank@c-98-245-87-8.hsd1.co.comcast.net) Quit (Client Quit)
[21:33] * shashank (~shashank@c-98-245-87-8.hsd1.co.comcast.net) has joined #jython
[21:39] <shashank> Hi headius
[21:39] <headius> hello!
[21:39] <shashank> I'm trying to get indy working with Jython
[21:39] <headius> oh yeah? cool
[21:39] <shashank> yeah.. so basically I'm trying to (for now) use indy for builtin functions
[21:40] <shashank> For example min() is a builtin function in python
[21:40] <shashank> and calls to that would use indy instead of the normal call resolution
[21:40] <shashank> the code for that is at: http://pylonshq.com/pasties/d8e632808bac1ce1d105240266b1963c
[21:40] <headius> wouldn't they generally just be static dispatches?
[21:41] <shashank> I have a bootstrap method (bsm - line 157) which uses the guardWithTest from MethodHandle
[21:41] <headius> I think print is another one that's builtin pre-3.0, yes?
[21:41] <shashank> mm yes, they would generally invoke a __call__ method on the PyObject
[21:41] <shashank> it would be an invokeVirtual call
[21:42] <shashank> I'm not too sure what print is :-P
[21:42] <shashank> in any case, so while I did this and it kinda worked with simple examples,
[21:42] <headius> so why would you make them invokedynamic if they can just be invokevirtual?
[21:43] <shashank> the JVM itself crashes when I run the regression tests
[21:43] <headius> are they dispatched dynamically now even though they only go to a specific method always?
[21:44] <shashank> well what I'm trying to do is to identify the builtin functions statically, but python being dynamic, at runtime it might not actually refer to a builtin function
[21:44] <headius> i.e. if I understand your paste, calls to min() are dynamically dispatched just like other non-builtin-function calls?
[21:44] <headius> ahh ok
[21:44] <shashank> so I'm trying to use the guardWithTest feature of indy
[21:44] <headius> that answers my question...so it's possible for a scope to have its own min() defined?
[21:44] <shashank> yes
[21:44] <headius> ok
[21:44] <shashank> python allows that
[21:44] <headius> yeah, then GWT is right
[21:44] <headius> what's the guard?
[21:45] <shashank> so the guard checks, at runtime, if the thing that we thought was min, actually refers to this MinFunction.class
[21:46] <shashank> if the guard fails, then it calls via invokeVirtual the __call__ of the PyObject (which is slow)
[21:46] <shashank> if the guard passes, then we dispatch a static all to the fast min() function implementation
[21:47] <headius> how do you determine if it's the right min
[21:47] <headius> that sounds right, but the guard is the tricky bit
[21:48] <shashank> I'm checking if the PyObject named min actually resolves to MinFunction.class at runtime
[21:48] <headius> so you do the lookup of "min" in the guard anyway?
[21:48] <shashank> yes I do
[21:49] <headius> ok...so you know you're not getting rid of the lookup, which isn't quite perfect...but the direct call to min should help some
[21:49] <headius> jython needs to get a better cache-busting mechanism in place so you can eliminate the hash lookups entirely
[21:49] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Ping timeout: 255 seconds)
[21:49] <shashank> yes, the direct call does speed things up
[21:49] <shashank> yeah, so all this works on simple examples
[21:50] <shashank> but when I try to run the Jython regression test suite
[21:50] <headius> in jruby, the guard is just "does the current object's class match what we saw last time" and boils down to an int compare
[21:50] <headius> so it's almost free
[21:50] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[21:50] <shashank> ahh that's pretty cool, we should get caching into Jython
[21:51] <shashank> anyway, when I run the regression tests, the JVM crashes, with a weird SEGV_MAPERR
[21:51] <headius> I'd guess it crashes even without your change though
[21:51] <shashank> have you faced issues with JVM and indy?
[21:51] <headius> can you paste the dump somewhere?
[21:51] <headius> yeah, I've had occasional issues
[21:51] <shashank> well no, If I remove my changes
[21:51] <headius> it's not perfect yet
[21:51] <shashank> well no, If I remove my changes, then all the tests pass without a crash
[21:52] <headius> ah interesting
[21:52] <shashank> it's only when I introduce the indy that it crashes
[21:52] <headius> paste the crash log
[21:52] <shashank> the paste: http://pylonshq.com/pasties/5b762c8d917f72e3ecb1da810d081ddb
[21:52] <headius> what build version?
[21:52] <shashank> I used the new Java7 early release
[21:52] <headius> b135, so that's pretty recent
[21:52] <shashank> yeah
[21:53] <headius> GC crash
[21:53] <headius> you should report that on mlvm list
[21:53] <headius> there have been occasional bad interactions between indy and GC
[21:53] <headius> things not getting marked properly, etc
[21:54] <shashank> yup, I've tried this on another machine, and it still has a similar crash.. so I think my memory is not corrupt
[21:54] <shashank> oh ok I will do that
[21:54] <headius> in this case it looks like it's trying to get references on the stack, so that could definitely be an indy problem
[21:56] <shashank> thanks a lot! I will post this on the list
[21:56] <headius> sure
[21:57] <shashank> headius: was nice talking to you. thanks for your time
[21:57] <headius> no problem, any time
[22:02] * wmeissner (~wmeissner@121.91.26.96) Quit (Quit: wmeissner)
[22:40] * headius (~headius@184-97-173-164.mpls.qwest.net) Quit (Quit: headius)

Index

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