#jython IRC Log


IRC Log for 2014-06-13

Timestamps are in GMT/BST.

[0:33] * oscar_toro (~Thunderbi@80-62-162-242-static.dk.customer.tdc.net) Quit (Ping timeout: 272 seconds)
[1:10] * clajo04 (~clajo04@pool-96-232-190-28.nycmny.fios.verizon.net) Quit (Quit: clajo04)
[1:12] * clajo04 (~clajo04@pool-96-232-190-28.nycmny.fios.verizon.net) has joined #jython
[2:05] * paolo (~paolo@unaffiliated/paolo) Quit (Quit: Ex-Chat)
[7:18] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[7:23] * jimbaker (~jbaker@unaffiliated/jimbaker) Quit (Ping timeout: 264 seconds)
[7:37] * paolo (~paolo@unaffiliated/paolo) has joined #jython
[7:58] * Arfrever (~Arfrever@apache/committer/Arfrever) has joined #jython
[9:21] * oscar_toro (~Thunderbi@80-62-162-242-static.dk.customer.tdc.net) has joined #jython
[10:36] * jarekps (~jarekps@office.clearcode.cc) has joined #jython
[12:37] * zz_whg is now known as whg
[14:29] <topi`> peke: he was working on beta 3 release notes a few days back, so I guess it's already out ;)
[14:30] <topi`> but the problem is, I can't find even the beta 2, or the *installer* for it ... so my documentation has to wait a bit more.
[14:32] <paolo> topi`, i don't understand, you don't find the beta 2 jar? http://mvnrepository.com/artifact/org.python
[14:33] <topi`> oh, it's in the "jython-installer" repo!
[14:33] <topi`> I was only looking at "jython". stupid
[14:33] <paolo> :)
[14:34] <topi`> I was mislead there by the download links in jython.org/downloads
[14:35] <paolo> i like to be frank and i say that it *is* misleading for almost everyone.
[14:37] <paolo> topi`, if you want to test b3, just clone the repository and compile yourself
[14:38] <paolo> in this case, ask if you are in trouble and someone will help
[14:41] <topi`> yeah, I can compile it myself
[14:41] <topi`> problem is, I'm creating documentation for my code project, and the doc has to give detailed instructions on how to install jython - in order to run everything
[14:41] <topi`> and I should only refer to "official" jython packages
[14:42] <topi`> I guess it would have been wiser to go with jython 2.5 :)
[14:42] <paolo> ok, then document against b2, for now!
[14:42] <topi`> yes, it will work on b2
[14:43] <topi`> using easy_install ;)
[14:44] <paolo> btw, the installation docs for b2 b3, b4 ... should be mostly the same, no?
[14:44] <topi`> funny, jython 2.7 b2 gives slightly higher pystone results on my OSX, than py2.7
[14:44] <topi`> This machine benchmarks at 63497.2 pystones/second
[14:44] <topi`> This machine benchmarks at 74746.8 pystones/second
[14:45] <topi`> maybe this holds true even for earlier jython2.7 betas
[14:46] <paolo> so jython 2.7b2 performs almost the same as py2.7, good
[14:46] <topi`> import ssl, socket works
[14:46] <topi`> no, the pystone benchmark shows a higher figure
[14:46] <topi`> than CPython
[14:46] <topi`> however, the pystone can be taken with a grain of salt...
[14:46] <paolo> as benchmarks in general i believe
[14:51] <paolo> topi`, if i can ask, are you writing docs for private projects or for the public, like blog posts etc?
[14:51] <topi`> paolo: a corporate project, not open source
[14:51] <paolo> nvm :)
[14:52] <paolo> i would have been an early reader!
[14:53] <topi`> I wrote a small mandelbrot benchmark, there CPython wins by 2x
[14:54] * jimbaker (~jbaker@unaffiliated/jimbaker) has joined #jython
[14:55] <topi`> but 2x slower isn't really the end of the world... the only thing where Jython is clearly left behind, is when importing lots of modules
[14:55] <topi`> module import is very very slow in jython
[14:56] <topi`> list comprehensions are 2-3x slower than CPython
[14:56] <paolo> does it affect only startup time or even when the application is running?
[14:57] <topi`> jimbaker: would it be possible to make a "hack" for Lists so that if all entries in a List are of the same type (an internal flag for that purpose) then it would be treated as a Java List<?> construct
[14:57] <topi`> which would surely be faster to operate on
[14:59] <peke> topi`: start-up time in general is pretty slow too. and definitely gets works if you import lot of modules. both of are problems if you have somewhat big command line app. like i have...
[15:00] <topi`> I'm pretty sure Jython internally deals lists as collections of a generic PyObject type, which means that those are probably inside a Java List<PyObj> and then there's code to handle conversion from PyObj to a POJO
[15:00] <jimbaker> topi`, i am hopeful that we could make some improvements on jython performance along the lines a student (shashank) and i have explored
[15:01] <topi`> peke: startup time is *slow* for almost any JVM-using product ;) Take a look at scala! It takes ages to launch that interactive :)
[15:01] <topi`> jimbaker: good to hear you're coming to Europython. I'm also planning on booking some flights for 23rd July :)
[15:01] <jimbaker> re PyList, which is the implementation of list - it does internally use List<PyObject>
[15:02] <topi`> jimbaker: it would be a lot faster to use internally List<Int> if we *knew* that that list only contained ints! :)
[15:03] <topi`> this one of the fundamental differences in implementation vis-a-vis CPython
[15:03] <jimbaker> topi`, cool about europython. yeah, it was too bad i couldn't make it for poland/finland, or switzerland this time around
[15:03] <jimbaker> topi`, i don't know all the optimizations cpython uses, but i don't believe it optimizes in that fashion
[15:04] <topi`> no it doesn't, there are no special cases for lists, a list is a collection of PyObjects internally
[15:04] <topi`> albeit a highly optimized one
[15:04] <topi`> but such an optimization that I proposed, would make *sense* for Java
[15:05] <topi`> not for C
[15:05] <jimbaker> topi`, we pay some overhead in terms of supporting standard python threadsafety semantics, so all access is synchronized
[15:05] <peke> jimbaker: topi`: my europython plans are still pretty open. a collague and i submitted talk and training proposals related to robot framework. talk was rejected and we heard nothing about the training. now our training apparently is accepted, at leat it is in agenda, but my colleague already booked a business trip to bangalore same time...
[15:05] * ebarrett (~edd@host-92-23-237-74.as13285.net) Quit (Quit: bbl)
[15:06] <topi`> ok, there are several gotchas as well. If such a list is used as an iterable for e.g. some function, then there needs to be an intermediate PyObject conversion anyway...
[15:06] <jimbaker> similar to how a dict maps to a ConcurrentHashMap
[15:06] <topi`> but I rarely see code of map(somefun, list) in python anyways
[15:06] <jimbaker> i did think it would be cool if the user could select a more optimized type, but not have to pay for it
[15:06] <jimbaker> peke, hope you can still be at europython then
[15:07] <topi`> jimbaker: you can choose optimized types in Cython ;)
[15:07] <jimbaker> i still have to book my flight from brussels to berlin, but otherwise set
[15:07] <topi`> and I bet PyPy is doing similar tricks at runtime
[15:09] <peke> jimbaker: i need to consult my wife. we have sauna cottage building project going on and thus plenty of work to do. few day trip to berlin would be great, though. what kind of jython plans you have? sprints? which dates?
[15:09] <jimbaker> topi`, so a user can pick a better type in jython from java. pick a HashMap instead. but right now they have to pay for extra overhead in terms of going to/from java space. ideally this conversion could be avoided
[15:10] <jimbaker> peke, right now i plan to be there for the entirety of the conference, which apparently includes the weekend as well
[15:11] <peke> the whole week is likely too long for me. =/
[15:11] <jimbaker> peke, it might be too long for me as well
[15:12] <jimbaker> it's a bit unclear to me what the schedule of the sprints are. also i have my wife and 11 year old son with me, they might want to see me during part of this time
[15:13] * enebo (~enebo@c-75-73-8-169.hsd1.mn.comcast.net) has joined #jython
[15:15] <jimbaker> topi`, i did reserve expose as the name for this support
[16:45] * paolo (~paolo@unaffiliated/paolo) has left #jython
[16:52] * edd_ (~edd@host-92-23-237-74.as13285.net) has joined #jython
[16:53] * edd_ is now known as ebarrett
[17:00] <jimbaker> topi`, btw - it's perfectly feasible to do the necessary optimization such that you can get collections of PyObject without the extra overhead without touching jython core. in particular, it should be doable using method handles to avoid codegen. so something fun to look at post 2.7.0
[17:17] * ebarrett (~edd@host-92-23-237-74.as13285.net) Quit (Quit: ZNC - http://znc.in)
[17:18] * edd_ (~edd@host-92-23-237-74.as13285.net) has joined #jython
[17:33] * jarekps (~jarekps@office.clearcode.cc) Quit (Quit: Computer has gone to sleep.)
[17:53] * paolo (~paolo@2a03:8180:1001:b2:25::12c) has joined #jython
[17:54] * paolo (~paolo@2a03:8180:1001:b2:25::12c) Quit (Changing host)
[17:54] * paolo (~paolo@unaffiliated/paolo) has joined #jython
[18:25] * paolo (~paolo@unaffiliated/paolo) Quit (Quit: ZNC - http://znc.in)
[18:26] * paolo (~paolo@2a03:8180:1001:b2:25::12c) has joined #jython
[18:26] * paolo (~paolo@2a03:8180:1001:b2:25::12c) Quit (Changing host)
[18:26] * paolo (~paolo@unaffiliated/paolo) has joined #jython
[18:48] * edd_ is now known as ebarrett
[20:39] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Excess Flood)
[20:39] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[20:59] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Ping timeout: 255 seconds)
[20:59] * whg is now known as zz_whg
[21:18] * oscar_toro (~Thunderbi@80-62-162-242-static.dk.customer.tdc.net) Quit (Ping timeout: 272 seconds)
[21:56] * enebo (~enebo@c-75-73-8-169.hsd1.mn.comcast.net) Quit (Quit: enebo)


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