#pypy IRC log for Monday, 2012-01-09

EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) joined #pypy.00:03
fermianyon (~lane@c-68-35-198-245.hsd1.al.comcast.net) joined #pypy.00:05
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Remote host closed the connection00:09
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy.00:09
Taggnostr2 (~quassel@host224-64-dynamic.116-80-r.retail.telecomitalia.it) left irc: Quit: No Ping reply in 180 seconds.00:11
Taggnostr (~quassel@host224-64-dynamic.116-80-r.retail.telecomitalia.it) joined #pypy.00:12
nedbat (~nedbat@python/psf/nedbat) joined #pypy.00:12
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Ping timeout: 268 seconds00:14
squiddy (~squiddy@g224197082.adsl.alicedsl.de) left irc: Quit: Leaving01:03
whitelynx (~whitelynx@75.111.197.204) joined #pypy.01:11
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving01:20
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Ping timeout: 252 seconds01:24
mikefc2 (9665bcc5@gateway/web/freenode/ip.150.101.188.197) left irc: Quit: Page closed01:27
zain (~textual@66.175.91.194) joined #pypy.01:27
mikefc_ (9665bcc5@gateway/web/freenode/ip.150.101.188.197) joined #pypy.01:27
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy.01:27
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Computer has gone to sleep.01:38
fermianyon (~lane@c-68-35-198-245.hsd1.al.comcast.net) left irc: Ping timeout: 240 seconds01:43
Arach (~arach@FTTB-Beeline-79.104.220.149.ranetka.ru) left irc: Quit: bye01:46
bbot24Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/77001:47
Arach (~arach@FTTB-Beeline-79.104.220.149.ranetka.ru) joined #pypy.01:51
CIA-126 (~CIA@cia.atheme.org) left irc: Ping timeout: 260 seconds01:54
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/191702:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/67202:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/32102:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/67002:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/33202:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/118702:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/85302:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/150502:00
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/78202:00
mat^2 (~mathias@212.130.113.35) left irc: 02:05
stakkars_ (~stakkars@89.204.130.166) joined #pypy.02:06
stakkars_Howdy!02:07
stakkars_I have looked into OCR software02:07
stakkars_Pretty much, including Tesseract. 02:08
Arach (~arach@FTTB-Beeline-79.104.220.149.ranetka.ru) left irc: Quit: bye02:08
stakkars_Actually, I'm not very impressed, and I'm thinking to write02:09
stakkars_something essentially different for PyPy!02:09
stakkars_I think PyPy scripted OCR could be02:10
stakkars_a valuable new research area for PyPy,02:11
stakkars_where various companies are developing02:11
exarkunOptical Character Recognition?02:11
Arach (~arach@FTTB-Beeline-79.104.220.149.ranetka.ru) joined #pypy.02:12
stakkars_their home-brewn crap. I want to finish that. 02:12
stakkars_exarkun: yep02:13
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 245 seconds02:13
stakkars_OCR should be improved, by simple PyPy scripts. I will do that after a working Win64 version. Bored by OCR crap at high prices02:15
stakkars_Looked into Tesseract. Not so bad, but bad from the ground. They did not do it right02:17
CIA-17 (~CIA@cia.atheme.org) joined #pypy.02:17
espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 240 seconds02:20
mikefc_ (9665bcc5@gateway/web/freenode/ip.150.101.188.197) left irc: Quit: Page closed02:21
nedbat (~nedbat@python/psf/nedbat) joined #pypy.02:25
espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy.02:27
Arach (~arach@FTTB-Beeline-79.104.220.149.ranetka.ru) left irc: Quit: bye02:33
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy.02:35
Arach (~arach@FTTB-Beeline-79.104.220.149.ranetka.ru) joined #pypy.02:42
JaredW (~JaredW@118.142.17.238) joined #pypy.02:45
ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) joined #pypy.02:52
bbot24Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/191703:00
stakkars_ (~stakkars@89.204.130.166) left irc: Quit: Colloquy for iPhone - http://colloquy.mobi03:01
Kaskuka (~John@osbk-4db16630.pool.mediaWays.net) left irc: Ping timeout: 240 seconds03:04
Kaskuka (~John@osbk-4db1589d.pool.mediaWays.net) joined #pypy.03:04
ernop (~ernie@114.250.129.15) left irc: Ping timeout: 248 seconds03:08
craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) left irc: Quit: craigkerstiens03:14
craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) joined #pypy.03:14
craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) left irc: Read error: Connection reset by peer03:15
craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) joined #pypy.03:17
dracman (~draco@212.255.45.64) left irc: Ping timeout: 252 seconds03:18
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Computer has gone to sleep.03:20
dracman (~draco@212.255.37.149) joined #pypy.03:25
Nick change: davisagli -> davi|cooking03:33
mikefc_ (9665bcc5@gateway/web/freenode/ip.150.101.188.197) joined #pypy.03:37
GoGi (~gogi@p5B102405.dip.t-dialin.net) left irc: Read error: Operation timed out03:41
GoGi (~gogi@p5B103EAA.dip.t-dialin.net) joined #pypy.03:57
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/85304:03
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/150504:07
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/67004:07
anish_ (anish@nat/redhat/x-xlpgnlvnuqizplvq) joined #pypy.04:08
ernop (~ernie@114.250.129.15) joined #pypy.04:13
ernop (~ernie@114.250.129.15) left irc: Ping timeout: 240 seconds04:27
ernop (~ernie@114.250.129.15) joined #pypy.04:27
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/118704:34
ernop (~ernie@114.250.129.15) left irc: Ping timeout: 240 seconds04:45
kushal (~kdas@114.143.164.159) joined #pypy.05:13
kushal (~kdas@114.143.164.159) left irc: Changing host05:13
kushal (~kdas@fedora/kushal) joined #pypy.05:13
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy.05:25
Arach (~arach@FTTB-Beeline-79.104.220.149.ranetka.ru) left irc: Ping timeout: 240 seconds05:34
nettok (~quassel@190.148.27.164) left irc: Remote host closed the connection05:38
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds05:57
ernop (~ernie@114.250.129.15) joined #pypy.06:05
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/67206:12
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.06:14
mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord06:15
Arach (~arach@128-75-174-161.broadband.corbina.ru) joined #pypy.06:33
cwillu (~cwillu@cwillu.com) left irc: Ping timeout: 240 seconds06:38
ronny (~ronny@pida/ronny) left irc: Ping timeout: 240 seconds06:38
jacob|home (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: Remote host closed the connection06:38
cwillu (~cwillu@cwillu.com) joined #pypy.06:39
ronny (~ronny@shell.moinmo.in) joined #pypy.06:40
Unhelpful (~quassel@rockbox/developer/Unhelpful) left irc: Remote host closed the connection06:40
jacob|home (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) joined #pypy.06:41
pybot (~pybot@static.90.65.9.176.clients.your-server.de) left irc: Ping timeout: 240 seconds06:44
-ERROR from server- Closing Link: static.90.65.9.176.clients.your-server.de (Ping timeout: 240 seconds)06:44
pypybot joined #pypy.06:44
-ChanServ (ChanServ@services.)- [#pypy] Welcome!06:44
-ChanServ (ChanServ@services.)- [#stackless] Welcome to #stackless. This channel is for the discussion of matters relating to Stackless Python. Remember that others in this channel may not be in the same timezone as you, so stick around for an answer (even if only in your channel history) if you ask a question. The mailing list is also recommended as being a faster place to get help (http://www.stackless.com/mailman/listinfo/stackless).06:45
cwillu (~cwillu@cwillu.com) left irc: Ping timeout: 240 seconds06:46
ronny (~ronny@pida/ronny) left irc: Ping timeout: 240 seconds06:46
jacob|home (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: Remote host closed the connection06:46
cwillu (~cwillu@cwillu.com) joined #pypy.06:46
cwillu (~cwillu@cwillu.com) got netsplit.06:46
Arach (~arach@128-75-174-161.broadband.corbina.ru) got netsplit.06:46
Kaskuka (~John@osbk-4db1589d.pool.mediaWays.net) got netsplit.06:46
EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) got netsplit.06:46
Alex_Gaynor (u1246@gateway/web/irccloud.com/x-iuyswztbprysyuij) got netsplit.06:46
setmeaway (setmeaway3@119.201.52.190) got netsplit.06:46
jimbaker (~jbaker@canonical/jimbaker) got netsplit.06:46
thinker (~thinker@123-194-52-90.dynamic.kbronet.com.tw) got netsplit.06:46
voidspace (~voidspace@python/psf/voidspace) got netsplit.06:46
mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) got netsplit.06:46
lambacck_ (~chris@d24-150-124-118.home.cgocable.net) got netsplit.06:46
pybot (~pybot@static.90.65.9.176.clients.your-server.de) got netsplit.06:46
Varriount (~Varriount@hnng.public-craft.com) got netsplit.06:46
__pv_ (pav@xen.ihme.org) got netsplit.06:46
_root_ (~Scalable@li252-14.members.linode.com) got netsplit.06:46
Nisstyre (~yours@c-208-90-102-250.netflash.net) got netsplit.06:46
xorAxAx (~alexander@moinmoin/coreteam/alexander) got netsplit.06:46
Unhelpful (~quassel@rockbox/developer/Unhelpful) got netsplit.06:46
dimazest (~dimazest@balticom-202-59.balticom.lv) got netsplit.06:46
Eruquen (Eruquen@server3.raumopol.de) got netsplit.06:46
Fluxid (~fluxid@schranz.io) got netsplit.06:46
Nick change: pypybot -> pybot06:46
Possible future nick collision: pybot06:46
mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) returned to #pypy.06:48
thinker (~thinker@123-194-52-90.dynamic.kbronet.com.tw) returned to #pypy.06:50
jacob22 (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) joined #pypy.06:50
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) joined #pypy.06:50
ronny (~ronny@shell.moinmo.in) joined #pypy.06:50
cwillu (~cwillu@cwillu.com) returned to #pypy.06:50
Arach (~arach@128-75-174-161.broadband.corbina.ru) returned to #pypy.06:50
Kaskuka (~John@osbk-4db1589d.pool.mediaWays.net) returned to #pypy.06:50
EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) returned to #pypy.06:50
setmeaway (setmeaway3@119.201.52.190) returned to #pypy.06:50
jimbaker (~jbaker@canonical/jimbaker) returned to #pypy.06:50
voidspace (~voidspace@python/psf/voidspace) returned to #pypy.06:50
Nisstyre (~yours@c-208-90-102-250.netflash.net) returned to #pypy.06:50
lambacck_ (~chris@d24-150-124-118.home.cgocable.net) returned to #pypy.06:50
Varriount (~Varriount@hnng.public-craft.com) returned to #pypy.06:50
__pv_ (pav@xen.ihme.org) returned to #pypy.06:50
_root_ (~Scalable@li252-14.members.linode.com) returned to #pypy.06:50
xorAxAx (~alexander@moinmoin/coreteam/alexander) returned to #pypy.06:50
dimazest (~dimazest@balticom-202-59.balticom.lv) returned to #pypy.06:50
Eruquen (Eruquen@server3.raumopol.de) returned to #pypy.06:50
Fluxid (~fluxid@schranz.io) returned to #pypy.06:50
Nisstyre (~yours@c-208-90-102-250.netflash.net) left irc: Max SendQ exceeded06:50
Nick change: thinker -> Sinker06:50
Nick change: ronny -> Guest9620806:50
Nisstyre (~yours@c-208-90-102-250.netflash.net) joined #pypy.06:51
Alex_Gaynor (u1246@gateway/web/irccloud.com/x-udnawuwrosxgieus) joined #pypy.06:53
#pypy: mode change '+o Alex_Gaynor' by ChanServ!ChanServ@services.06:53
Unhelpful (~quassel@rockbox/developer/Unhelpful) got lost in the net-split.06:57
craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) left irc: Ping timeout: 252 seconds07:10
bbot24Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/78207:12
mikefc__ (9665bcc5@gateway/web/freenode/ip.150.101.188.197) joined #pypy.07:15
mikefc_ (9665bcc5@gateway/web/freenode/ip.150.101.188.197) left irc: Ping timeout: 258 seconds07:16
craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) joined #pypy.07:19
mikefc__ (9665bcc5@gateway/web/freenode/ip.150.101.188.197) left irc: Ping timeout: 258 seconds07:20
mvt (~mvantelli@87.213.45.85) joined #pypy.07:30
kushal (~kdas@fedora/kushal) left irc: Quit: Leaving07:33
kushal (~kdas@114.143.164.159) joined #pypy.07:33
kushal (~kdas@114.143.164.159) left irc: Changing host07:33
kushal (~kdas@fedora/kushal) joined #pypy.07:33
CIA-1703mikefc 07roundup * 10#934/subprocess hangs in 1.7 (but not in 1.6 or 1.5): 07:38
CIA-17[chatting] I'm running on latest OSX nightly and it does not hang, but I do get a 'build failed' error.07:38
CIA-17===================================== ... * 14https://bugs.pypy.org/issue93407:38
fijal (~fijal@196-215-5-11.dynamic.isadsl.co.za) joined #pypy.07:39
fijalmeh07:40
fijalcan someone move the pypy-issue thingie from bounces queue?07:40
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/32107:57
bivab (~david@fwstups.cs.uni-duesseldorf.de) joined #pypy.08:05
amaury_ (~amaury_@74.125.57.34) joined #pypy.08:08
amaury_ (~amaury_@74.125.57.34) left irc: Ping timeout: 240 seconds08:14
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/33208:21
CIA-1703mikefc 07roundup * 10#932/Python 1.7 slower on home maid path tracing than 1.6: 08:30
CIA-17[chatting] Confirmed on latest OSX nightly. Just for comparison's sake - python takes 16 *minutes*08:30
CIA-17=========================================== ... * 14https://bugs.pypy.org/issue93208:30
Eventh (evenwiik@caracal.stud.ntnu.no) joined #pypy.08:36
alexsuraci (~alexsurac@173-228-88-149.dsl.dynamic.sonic.net) left irc: Ping timeout: 240 seconds08:49
alexsuraci (~alexsurac@173-228-88-149.dsl.dynamic.sonic.net) joined #pypy.08:51
elipsion (~elipsion@81-232-141-35-no217.tbcn.telia.com) left irc: Ping timeout: 255 seconds08:51
hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy.08:55
kushal (~kdas@fedora/kushal) left irc: Quit: Leaving09:02
kushal (~kdas@114.143.164.159) joined #pypy.09:02
kushal (~kdas@114.143.164.159) left irc: Changing host09:02
kushal (~kdas@fedora/kushal) joined #pypy.09:02
antocuni (~antocuni@host208-85-dynamic.7-79-r.retail.telecomitalia.it) joined #pypy.09:03
CIA-1703bdarnell 07roundup * 10#990/pypy ssl module defaults to SSLv2 for client connections: 09:04
CIA-17[new] CPython's ssl module defaults to a hybrid mode that can connect to a server09:04
CIA-17using SSLv3 or TLSv1. pypy's ssl module appears to be default ... * 14https://bugs.pypy.org/issue99009:04
CIA-1703lekma 07roundup * 10#991/[Feature Request]: Implement PyErr_SetFromErrnoWithFilenameObject: 09:05
CIA-17[new] Even though it's not documented on docs.python.org, it's a very useful CPython09:05
CIA-17function to associate an errno with a more detailed message ... * 14https://bugs.pypy.org/issue99109:05
Eventh (evenwiik@caracal.stud.ntnu.no) left irc: Quit: Lost terminal09:07
antocuni_ (~antocuni@host157-123-dynamic.2-87-r.retail.telecomitalia.it) joined #pypy.09:09
antocuni (~antocuni@host208-85-dynamic.7-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds09:12
vpelletier (~vincent@was59-1-82-226-112-70.fbx.proxad.net) joined #pypy.09:14
arigato (~arigo@xdsl-188-154-144-172.adslplus.ch) joined #pypy.09:14
vpelletierhi. giving pypy a try with one of my projects, I found that import precedence is different from cpython: https://github.com/vpelletier/ITI1480A-linux/tree/master/iti1480a09:15
espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 268 seconds09:15
vpelletierdisplay.py imports "parser", which when run from that directory succeeds with cpython (ie, imports CWD's parser.py), but fails with pypy (imports the standard module)09:17
arigatovpelletier: yes, we fixed this recently09:17
vpelletierI realise it's a bad naming (or bad import, IMHO) from me, and will fix it... but I thought I should report09:17
vpelletierarigato: ah, perfect :)09:17
arigatoin fact it's CPython's behavior that is a bit undefined09:18
arigatoif you compile yourself CPython with the "parser" module a built-in module instead of as an .so09:18
arigatothen you get the same problem09:18
vpelletierheh09:18
fijalarigato: http://paste.pocoo.org/show/532113/09:18
fijalhow cool is that?09:19
arigatoheh :-)09:19
alexsuraci (~alexsurac@173-228-88-149.dsl.dynamic.sonic.net) left irc: Ping timeout: 240 seconds09:20
fijalarigato: FYI the hack is more or less complete09:20
arigatonice09:20
fijalas in does not expose the full API, but nothing stops you from fixing it09:20
fijalit works though09:20
fijalI did play with moving boxes around and such09:20
fijalmy idea is to be able to feed that back to optimizeopt09:21
vpelletierbtw, display.py (parses a USB analyser capture file and generates human-readable output) is 5 times faster with pypy than with cpython (11.1s vs 2.70s)09:21
fijalcpcool :)09:21
fijalvpelletier: cool09:21
arigato:-)09:21
vpelletiers/5/4/09:21
espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy.09:21
arigatobtw, should be push a release 1.7.1?09:22
arigatoshould *we*?09:22
fijalarigato: also the branch seems fairly complete (modulo the debug_print/raise problem in the backend)09:22
fijalso if you feel like reviewing, please do09:22
GoGi (~gogi@p5B103EAA.dip.t-dialin.net) left irc: Remote host closed the connection09:23
arigatook09:25
fijalarigato: but the "detect already compiled bridge" should be somehow attacked09:25
fijalany reason for doing 1.7.1 now other than "let's do releases"?09:25
arigatono, it's vpelletier's remark that reminds me that we fixed a few important things09:26
arigatoand also speed.pypy.org shows again a good speed-up09:26
zain (~textual@66.175.91.194) left irc: Quit: Computer has gone to sleep.09:26
fijalyes ok09:26
fijalI would call it 1.8 though09:26
fijalI'm ready to give up without discussion as well :)09:27
fijalarigato: I'm fine with being a release manager btw09:27
arigatowhat annoys me with 1.8 is that it's getting close to 1.no-more-digit09:27
arigato:-)09:27
fijalyou mean 1.10 is not > 1.9?09:28
fijalif you ask em I'm fine with 1.a09:28
fijalor even 0x1.a09:28
arigato:-/09:28
fijal<joke>09:28
arigatoI suppose that 1.10 > 1.9 for some other programs, so it could work here too09:29
fijalany reason for not doing 2.0 besides?09:29
arigatodunno09:29
fijalit's somehow cool recently to do 7 8 9 10 releases09:29
fijalinstead of 1.7 1.809:29
arigatowell09:29
Action: vpelletier doesn't want to carry the guilt of turning pypy release cycle into firefox'09:30
fijalvpelletier: :)09:31
arigatoprecisely :-)09:31
fijalyes ok09:31
fijalbut still doing 2.0 after 1.9 makes some sense IMO09:31
arigatook, works for me too09:31
jimbaker (~jbaker@canonical/jimbaker) left irc: Quit: Coyote finally caught me09:32
fijalanyway, I think in the spirit of cpython releases, we have too many disruptive changes 1.7.109:32
fijaler09:32
fijalto do 1.7.109:32
jimbaker (~jbaker@c-75-71-80-146.hsd1.co.comcast.net) joined #pypy.09:32
jimbaker (~jbaker@c-75-71-80-146.hsd1.co.comcast.net) left irc: Changing host09:32
jimbaker (~jbaker@canonical/jimbaker) joined #pypy.09:32
arigatook09:32
vpelletiermy (very) newcomer point of view is: I would expect pypy revision number to somewhat stick to cpython's. though I don't expect pypy 1.7 to be bug-for-bug compatible with cpython 1.7, I would find it weird to use cpython 42.20 when there is cpyhton 2.7 out there09:32
vpelletierand by "stick", I mean the numbering scheme, not synchronising releases09:33
fijalvpelletier: hm09:33
fijalvpelletier: how do we do that?09:33
fijalwe have waaay too many releases I would say09:33
vpelletierno idea :) . I'm following pypy for about 30 mintues now :p09:33
fijalhow would you release 5 versions of python 2.7?09:34
arigatothat's a bit hard; e.g. in the future we're likely to release two versions of pypy in parallel, one compatible with cpython 2.7 and one with cpython 3.x09:34
fijalwell, that's a bit irrelevant to pypy itself so you still migh have opinions :)09:34
arigatofrom that point of view I think we should avoid the 2.x and the 3.x numbers altogether09:34
fijalarigato: you did not reply to my "I volunteer to do the release" msg :)09:39
vpelletierarigato: my (again, little-informed) opinion would be to release (or maybe "package") them with 2.7 and 3.x version numbers. From the comming-from-cpython-3rd-party-dev (which I am) point of view, it will take fewer neurons to fetch the one suiting the application...09:41
fijalvpelletier: how would you differentiate between multiple releases of 2.7?09:42
fijal2.7 2.7 and 2.7?09:42
arigatofijal: "thank you" :-)09:42
fijal:]09:43
arigatowe could use 2.7.number and 3.4.number09:43
fijalthat would be very confusing09:43
vpelletierfijal: 2.7.x, with "x" being unrelated to cpython's09:43
arigatoI fear so too09:43
fijalbecause cpython uses .x09:43
Action: arigato -> train09:43
fijalso pypy 2.7.8 supporting cpython 2.7.2?09:43
fijalfor example?09:44
arigato (~arigo@xdsl-188-154-144-172.adslplus.ch) left irc: Quit: See you09:44
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy.09:44
vpelletierfijal: that's my opinion, yes... and maybe "supporting python 2.7" should be enough09:44
CIA-1703bdarnell 07roundup * 10#990/pypy ssl module defaults to SSLv2 for client connections: 09:45
CIA-17[resolved] Nevermind, this difference is actually caused by the fact that on my system09:45
CIA-17cpython is linked against a newer version of openssl than ... * 14https://bugs.pypy.org/issue99009:45
vpelletierin my understanding "2.7" means a set of features, and ".2" means there were 2 bug-fix releases - which are not *supposed* to have visible effects outside of features09:45
vpelletieralthough one of my project got recently broken by a minor cpython release - but we are doing nasty things to logging module, so it was called for09:46
fijalvpelletier: to my defence it's not very hard to find what sort of python version pypy supports :)09:46
vpelletiers/visible effects outside of features/visible effects on features/09:46
G2P (~G2P@fw-asn1.ornis.com) joined #pypy.09:49
vpelletierah, and my point of view also includes the state of mind that "reference python is cpython". if pypy takes over the python world and cpython fades from memories, you might not want to be stuck in their numbering scheme... nor get away from it brutaly later, firefox-style09:50
fijalvpelletier: cpython will stay reference for the forseeable future09:53
fijalbut I would like to keep pypy releases from python (language) numbers09:53
lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) joined #pypy.09:53
squiddy (~squiddy@f053084228.adsl.alicedsl.de) joined #pypy.10:01
kushal (kdas@fedora/kushal) left #pypy ("Leaving").10:06
kushal (~kdas@fedora/kushal) joined #pypy.10:07
kushal (~kdas@fedora/kushal) left irc: Client Quit10:11
squiddy (~squiddy@f053084228.adsl.alicedsl.de) left irc: Remote host closed the connection10:30
arigato (~arigo@adsl-89-217-237-16.adslplus.ch) joined #pypy.10:34
jell10:43:58 < fijal> so pypy 2.7.8 supporting cpython 2.7.2?10:35
jellbetter would be 2.7p8 and 2.7.2p910:35
jelli mean supported features, 'p', pypy patch release, but that could be also misleading, that pypy is patch to cpython...10:37
jellpypy patch release -> named tag release10:38
kenaan12arigo concurrent-marksweep 1175ce27172ee1 15/pypy/rpython/memory/gc/concurrentgen.py: Remove the extra debug prints.10:38
arigatoconcurrent-marksweep is disappointing: it runs 5 times more slowly than minimark on targetgcbench10:38
arigatoit might be only because there are 5 times more operations in a "malloc", for now10:39
mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) joined #pypy.10:43
witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy.10:43
witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy.10:43
mattiphi10:43
Da_Blitzwhy the increase in operations in malloc for the concurrent marksweep?10:44
arigatohi10:44
arigatoDa_Blitz: mostly because it was not optimized so far10:44
mattipfijal: I would be happy if numpypy-axisops could make it into the next release10:44
arigatoalso, concurrent-marksweep is not a moving collector10:44
arigatowhich means that even optimized to the maximum, allocation takes one or two extra CPU instructions10:45
arigatobut that's probably fine10:45
Da_Blitzhow does it affect GC pauses?10:45
arigatoit should have lower pauses10:46
arigatoif you care10:46
arigatotypically only scanning the stack, and sometimes waiting a bit for collection to finish10:46
mattipbut I cannot get the test_zjit test_axissum to behave more nicely10:47
mattipI add unroll and messed with attributes to no avail10:48
mattipI cannot get the frame.next() (inside an if statement) to inline10:49
mattipoh well, I'll try again later.10:52
mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Quit: Page closed10:53
bivab<spam>10:56
kenaan12bivab arm-backend-2 119688a1080b2b 15/pypy/jit/backend/arm/test/: update some more tests10:56
kenaan12bivab arm-backend-2 1172a4e791d5e5 15/pypy/jit/backend/arm/assembler.py: remove assertion, that does not work anymore10:56
kenaan12bivab arm-backend-2 11a796398e72b0 15/pypy/jit/backend/arm/codebuilder.py: make sure we get an int here10:56
kenaan12bivab arm-backend-2 11b7e4239284ca 15/pypy/jit/backend/arm/test/: fix tests10:56
kenaan12bivab arm-backend-2 110a79c804ce94 15/pypy/jit/backend/arm/: add a DOUBLEWORD constant to replace all the  2 * WORD10:56
kenaan12bivab arm-backend-2 112c283e1293a8 15/pypy/jit/backend/arm/: remove unused imports10:56
kenaan12bivab arm-backend-2 11cad3c03c5ac1 15/pypy/jit/backend/arm/: rename field10:56
kenaan12bivab arm-backend-2 115767eb76b3f3 15/pypy/jit/backend/arm/regalloc.py: write the fail index here10:56
kenaan12bivab arm-backend-2 1196d252d2a2e6 15/pypy/jit/backend/arm/: move the actual call to assembler.py10:56
kenaan12bivab arm-backend-2 117fe04da61940 15/pypy/jit/backend/arm/codebuilder.py: remove the condition flag from BKPT, which is an uncondional instruction10:56
kenaan12bivab arm-backend-2 11f02dc5c4e43c 15/pypy/jit/backend/arm/: add an alignment check after malloc calls for debugging10:56
kenaan12bivab arm-backend-2 11895cbdd61311 15/pypy/jit/backend/arm/assembler.py: simplify some conditional paths in the generated code10:56
kenaan12bivab arm-backend-2 115e9aadf0b867 15/pypy/jit/backend/arm/: modify stack_locations store position and the offset to the FP. Get rid of the special case for the first slo...10:57
kenaan12bivab arm-backend-2 11ffbd6f34a8c3 15/pypy/jit/backend/arm/: port encoding of locations used for guards from the x86 backend10:57
kenaan12bivab arm-backend-2 11120e4541efaf 15/pypy/jit/backend/arm/codebuilder.py: Add the condition code for always here10:57
kenaan12bivab arm-backend-2 1110eab3fbb965 15/pypy/jit/backend/arm/: Use the codebuilder to write the bytecode used to describe the failarg locations for a guard. Also abuse the ...10:57
bivab</spam>10:57
mikefctracking pypy <-> cpython version numbers sis going to be a little confusing.  "pypy 2.7.8 is cpython2.7.2 compatible" is going to be a headache inducer10:57
jellso if "feature set" would be first part of version number, how bad that would be?10:58
mikefc"pypy version raging.squid.urchin is cpython2.7.2 compatible"10:59
mikefcthere :)10:59
mikefcso much clearer10:59
mikefcverb.noun.noun10:59
mikefcwhere verb is LSB10:59
mikefcum.10:59
mikefcadjective.noun.noun11:00
Action: mikefc fail at all grammars11:00
jellbetter is something like ubuntu way, year-2010.month11:00
mikefcpypy 2.7.2.2012.0111:01
Action: mikefc has no say in the matter, so goes back to his hidey hole11:01
jellon android, miui releases are umbered almost like that (but with day as third part)11:01
jellumbered -> numbered11:01
mikefcwhat if there's 2 releases on a day?11:01
hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Remote host closed the connection11:01
jell.1 as postfix?11:02
anish_ (anish@nat/redhat/x-xlpgnlvnuqizplvq) left irc: Quit: Leaving11:03
arigatoI think we'll just continue with "pypy 1.x" and add "pypy3 1.x"11:05
arigatohum11:05
mikefc booring! 11:05
mikefc:)11:05
arigatoor call it "pypy3.4 1.x"11:05
mikefcconverge on pi? 11:06
arigato:-)11:06
mikefcperhaps if you wrapped the sequence of version numbers to 80char lines, you'd get a mandelbrot 11:07
lucianjust converge on e11:07
mikefcor (to be more meta), it'd produce code that'd make you a mandelbrot11:07
lucian2.7 is the best python anyway :)11:07
vpelletierI like the idea of converging on pi for pypy... renaming to ÀÀ ?11:08
kirmahmmh. I like the interpreter to JIT concept of pypy, but what I'd really want is dynamic code generation which would have all the conditional branches taken on both directions. what other reasonable possibilities I have for that apart horribly kludging pypy or using LLVM? (I mean, with some meaningful level of abstraction, not just emitting individual assembler instructions)11:08
Action: vpelletier runs away11:08
luciankirma: either choose a high-level VM (like JVM), write assembly (like pypy) or use LLVM11:09
kirmathis would be for rather strict special-purpose "language" (not really turing-complete, at least in the intuitive sense)11:09
lucianthings like libjit or nanojit are not being developed anymore11:09
antocuni_fijal: I think that 014afe8c57ac is "wrong"11:09
luciankirma: if you write an interpreter for that language in (r)python, pypy can generate a JIT vm for you11:10
antocuni_the idea was to avoid allocating an int field for each ResOperation instance11:10
mikefcI think https://bugs.pypy.org/issue991 is possibly moronic.11:10
mikefcor a troll?11:11
antocuni_this way, there is the risk that some subclass one day will make opnum an instance field instead of a class field11:11
Action: mikefc wonders who has the time to convincingly troll an isse tracker11:11
kirmaI suspect only project with sufficient vitality and support for generating all branches nicely (and not being heavyweight like JVM!) would be LLVM...11:11
tilgovi (~randall@couchdb/developer/tilgovi) left irc: Ping timeout: 255 seconds11:14
antocuni_fijal, arigato: re release numbers: I think we should skip 2.x and 3.x altogether, to avoid confusion with the python version supported11:17
antocuni_so, after pypy 1.9 I'd do pypy 411:17
antocuni_or, if we support python 3, we could do pypy 5 (== python2 + python3 :-))11:17
bivab (david@fwstups.cs.uni-duesseldorf.de) left #pypy.11:19
arigatoantocuni_: :-)11:21
arigatoyes, that's what I said above too11:21
arigatobut pypy 5 is a good plan11:21
elipsion (~elipsion@81-232-141-35-no217.tbcn.telia.com) joined #pypy.11:21
Da_Blitzwhy not pull a redhat and go stright to 711:21
squiddy (~squiddy@f053084228.adsl.alicedsl.de) joined #pypy.11:23
jell12:05:50 < arigato> or call it "pypy3.4 1.x"11:25
jellarigato: it's almost exactly what i proposed ;)11:25
whyking (~quassel@p4FFB73B6.dip.t-dialin.net) joined #pypy.11:26
Da_Blitz (~Da_Blitz@203.56.250.63) left irc: Ping timeout: 244 seconds11:32
arigatoyes :-)11:33
Da_Blitz (~Da_Blitz@203.56.250.63) joined #pypy.11:39
kenaan12arigo concurrent-marksweep 119ec48159f6e4 15/pypy/rpython/memory/gc/concurrentgen.py: Fix: I corrected the comment but not the actual value11:46
lizardo (~lizardo@189.2.128.130) joined #pypy.11:47
JaRoel (~jaroel|4d@office.fourdigits.nl) joined #pypy.12:02
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 276 seconds12:05
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) left irc: Ping timeout: 240 seconds12:27
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy.12:28
JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 268 seconds12:31
PiotrSikora (~none@nginx/adept/piotrsikora) left irc: Excess Flood12:35
squiddy (~squiddy@f053084228.adsl.alicedsl.de) left irc: Remote host closed the connection12:36
PiotrSikora (~none@nginx/adept/piotrsikora) joined #pypy.12:37
squiddy (~squiddy@f053084228.adsl.alicedsl.de) joined #pypy.12:40
Guest96208 (~ronny@shell.moinmo.in) left irc: Quit: WeeChat 0.3.212:41
ronny (~ronny@pida/ronny) joined #pypy.12:41
squiddy (~squiddy@f053084228.adsl.alicedsl.de) left irc: Remote host closed the connection12:46
squiddy (~squiddy@f053084228.adsl.alicedsl.de) joined #pypy.12:53
espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 240 seconds13:15
umgeher (~umgeher@unaffiliated/umgeher) joined #pypy.13:16
espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy.13:22
witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy.13:35
mat^2 (~mathias@212.130.113.35) joined #pypy.13:48
Rhy0lite (dje@nat/ibm/x-ftjdcaphdiokosos) joined #pypy.13:50
mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy.13:54
mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host13:54
mfoord (~anonymous@python/psf/voidspace) joined #pypy.13:54
mfoord (~anonymous@python/psf/voidspace) left irc: Client Quit13:55
bbot2 (~bbot2@wyvern.cs.uni-duesseldorf.de) left irc: Ping timeout: 240 seconds13:59
nedbat (~nedbat@python/psf/nedbat) left irc: Disconnected by services14:04
nedbat_ (~nedbat@python/psf/nedbat) joined #pypy.14:04
witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy.14:06
[Arfrever] (~Arfrever@apache/committer/Arfrever) left irc: Ping timeout: 276 seconds14:08
[Arfrever] (~Arfrever@apache/committer/Arfrever) joined #pypy.14:11
fprimex (~fprimex@brent-macbook.sc.fsu.edu) joined #pypy.14:13
bivab (~david@fwstups.cs.uni-duesseldorf.de) joined #pypy.14:24
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) joined #pypy.14:31
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) joined #pypy.14:36
Nick change: davi|cooking -> davisagli14:42
whitelynx|work (~whitelynx@63.241.75.144) joined #pypy.14:44
fijalantocuni_: why is it wrong?14:48
fijalwith 014afe8c57ac14:48
whitelynx|work (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat14:50
antocuni_fijal: I wrote it few lines below14:50
antocuni_because the whole point of the thing is to avoid storing opnum as an instance field14:50
fijalit's a class attribute14:50
fijalhow does this allocate an int field in each instance?14:50
antocuni_I know, but now it's very easy to forget about it and write a subclass which suddenly turns opnum in an instance attribute14:51
antocuni_that's why I wrote "wrong" inside quotes14:51
Nick change: nedbat_ -> nedbat14:51
fijalput _attrs_ there14:54
fijaland be done14:54
antocuni_do you feel like doing it? :-)14:55
fijalI can do it yet14:55
fijalyes14:55
fijalbut generating a 100 functions is not a good idea :/14:55
fijalthis way our executable grows immensly14:55
antocuni_true14:57
whitelynx|work (~whitelynx@63.241.75.144) joined #pypy.14:57
Nick change: antocuni_ -> antocuni14:57
arigatofijal: at least rename the attribute to _opnum14:57
antocuniarigato: why? Now .opnum is the public API to get it14:58
arigatoah, ok14:58
arigatoindeed, works too14:58
fijalantocuni: I did not rename all getopnum() to opnum14:59
fijalthat's a lot of work14:59
arigatoand indeed, "_attrs_=()" on the base class solves it all14:59
fijalbut I would love to14:59
fijal_attrs_ = ('result',)14:59
fijalI believe14:59
arigatoyes14:59
fijalarigato: did you get a chance to review better-jit-hooks?15:04
kenaan12fijal better-jit-hooks 1104ce4efd6ee6 15/pypy/jit/metainterp/resoperation.py: make sure there are no more attrs on base class15:06
espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 248 seconds15:06
fijalantocuni: done15:08
antocunithank you15:08
ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) left irc: Quit: Leaving...15:09
arigato (~arigo@adsl-89-217-237-16.adslplus.ch) left irc: Ping timeout: 252 seconds15:09
espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy.15:13
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) left irc: Ping timeout: 240 seconds15:17
zk (~is@whatit.is) left irc: Quit: leaving15:18
zk (~is@whatit.is) joined #pypy.15:19
antocuni (~antocuni@host157-123-dynamic.2-87-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds15:29
Alex_Gaynorfijal: FWIW I think we really should merge in 2.7.2 at some point before a release15:29
fijalyes, totally15:30
fijalAlex_Gaynor: ah15:33
Alex_Gaynor?15:34
fijalAlex_Gaynor: I found (by chance) a reason why our vectorization will be better than C15:34
Alex_Gaynorwe have better alias information?15:34
fijalyes :)15:34
fijaland we already specialize on that15:34
Alex_GaynorYes, although backend doesn't have that information15:34
Alex_Gaynorok I'll review your branch for the last tim shortly15:36
vpelletier (~vincent@was59-1-82-226-112-70.fbx.proxad.net) left irc: Quit: leaving15:37
fijalwe have to learn how to push those informations to the backend15:38
fijalbut we already know that if we execute signature with two different arrays, they're actually different15:38
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.15:38
Alex_Gaynoryup15:40
fijalit's just a simple matter of engineering :)15:44
lambacck (~chris@d24-150-124-118.home.cgocable.net) joined #pypy.15:47
lambacck_ (~chris@d24-150-124-118.home.cgocable.net) left irc: Ping timeout: 240 seconds15:50
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) left irc: Quit: Konversation terminated!15:51
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) joined #pypy.15:53
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) left irc: Read error: Connection reset by peer15:59
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) joined #pypy.15:59
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) left irc: Client Quit15:59
craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) left irc: Quit: craigkerstiens16:02
arigato (~arigo@adsl-89-217-237-16.adslplus.ch) joined #pypy.16:05
arigatofijal: no, I didn't get a chance to review better-jit-hooks so far16:06
arigatoI can do it now16:06
fijalcool, please16:07
fijalthere is still a missing piece about what to do if bridge was already compiled16:07
fijalwhich we should write at least a unittest16:07
fijalI'm sure ARM backend would run into the same problem one day16:07
arigatook16:07
fijalor PPC16:07
arigatoyes16:07
arigatocan you move REVIEW.rst to a more standard place?16:07
fijalI can remove it16:08
fijalI don't think any of this is relevant16:08
arigatoah, ok16:08
fijalas in "later" or "not interesting"16:08
asabil (~asabil@195.159.171.162) joined #pypy.16:08
arigatocan't we have a better interface than "return None, 0, 0" from compile_*()?16:09
fijallike...?16:09
fijalwe probably can16:09
arigatolike, return None-or-an-instance-of-DebugClass16:09
fijalok16:09
fijaland None would mean "bridge already compiled"16:10
fijal?16:10
arigatono16:10
arigatoyou can forbid None altogether16:10
arigatobut I thought that None means "no debug info available"16:10
fijalat least on normal assembler backend there is always a debug info16:10
arigatofor "bridge already compiled", we need to detect the case in the frontend16:10
fijalwe return None, 0, 016:10
fijalin llgraph16:10
fijalbecause I had no better idea16:10
arigatook, then we enforce "don't return None"16:11
fijalfor example now on default we still log the bridge that didn't get compiled16:11
fijalwithout offsets16:11
fijal(for a change)16:12
fijalthat does not crash, but it's not correct16:12
arigatoself.cpu.assembler.set_debug() feels bogus too, it should be self.cpu.set_debug()16:12
bivab (~david@fwstups.cs.uni-duesseldorf.de) left irc: Quit: bivab16:12
fijalah, do you know why I call set_debug from the test?16:12
fijalit's not because we have or not have debug info16:12
fijalit's because if debug is on, we have more assembler from counters there16:13
fijalso introducing new API on CPU does not make sense for this test16:13
arigatothis test is a bit annoying to locate16:15
fijalI had no idea where to put it :(16:16
fijalit probably should not be in test_runner16:16
fijalbut I want it to fail for other processors16:16
arigatoyes16:16
fijaland we only have one test like this16:16
arigatomaybe we should optimistically write it by16:16
arigatocheckops(mc, 1, self.compile_asmlen_expected_loop)16:17
arigatoand have compile_asmlen_expected_loop be a class attribute set in concrete subclasses16:17
fijalthat is very optimistic :)16:17
arigato:-/16:18
fijalI would wait until someone else does this for his CPU :)16:18
fijalyou assume the number of instructions will be identical16:18
arigatono16:18
fijalno?16:18
arigatoah, machine_code_dump() should also be moved to the cpu then16:18
fijalyes, it's a better place than viewcode16:18
arigatowhy?  compile_asmlen_expected_loop can be a list of any size16:18
fijalso what is "1" in your args?16:19
arigatowhat is this "1"?16:19
fijalyou just wrote16:20
fijalcheckops(mc, 1, self.compile_asmlen_expected_loop)16:20
fijalwhat does 1 mean? I thought instruction number16:20
arigatoyes, but I admit I'm not sure I understand what this "1" mean16:20
arigatoit comes straight from your code16:20
fijalthis is an instruction number :)16:21
arigatoI can read your code, but I'm not sure why you skip the 1st instruction --- I thought you were just skipping some headers?16:22
arigatoin other words I don't know what "ops" really is16:22
arigatono, sorry16:22
arigatowhat "mc" really is16:23
fijalah16:23
fijalit's a startline16:23
fijalfirst line is 'data:'16:23
fijalso indeed, you can write it as a class method, sorry sorry16:23
arigato:-)16:23
fijalmc is a dump of machine code as gotten from machine_code_dump16:23
fijaldo you want me to do it?16:23
arigatoyes, please16:23
arigatoah, also, it can't be merged as long as it says "except ValueError: ... raise"16:24
arigatowe really need to do something16:25
arigatoJitPolicy's new "portal" attribute is rather dangerous16:25
fijalyes16:25
fijalI know16:25
arigatothere is only one JitPolicy16:26
arigatobut several portals in pypy16:26
fijalthere is only one portal16:26
fijalthere are several drivers, but only one portal16:26
fijalmaybe a better name then?16:26
arigatoyes16:26
arigatoaa "portal" is something else in warmspot.py16:26
dmalcolm (david@nat/redhat/x-idrjdcmxwbbjxyvb) joined #pypy.16:27
fijalindeed, requires renaming :)16:27
fijalfeel free to come up with a better name for "a general interface between interpreter and the JIT"16:27
Alex_Gaynorfijal: I told you portal was already a thing!16:27
arigatoit's a hook of some kind16:28
fijalJitHooker does not sound too tempting16:28
fijalhttp://paste.pocoo.org/show/532289/16:28
fijalarigato: like this?16:28
arigatoalso, "def get_jit_portal(self): return None" is a bit unexpected as a method where "self.portal" exists and is not None16:28
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy.16:28
fijaluh, is there such a method/?16:29
arigatofijal: yes16:29
Last message repeated 1 time(s).16:29
arigato(to each of your question :-)16:29
JaRoel (~jaroel|4d@office.fourdigits.nl) joined #pypy.16:29
arigatofwiw I could be more happy with some DebugClass returned by compile_loop() and passed directly to after_compile()16:30
kenaan12fijal better-jit-hooks 11941c2be81863 15/pypy/jit/backend/: (fijal, arigo) improve the assembler check (hopefully) usable for other processors16:30
arigatoif we stick a few more things to DebugClass16:31
mvt (~mvantelli@87.213.45.85) left irc: Quit: This computer has gone to sleep16:31
arigatothen we don't have to pass 42 arguments to after_compile()16:31
fijalyes, I agree :)16:31
arigatoactually the Debug thingy might be created before, too, to call before_compile()16:31
fijalI needed a little push to do that16:31
arigatopush push :-)16:31
fijal:-)16:32
kenaan12fijal better-jit-hooks 11c39f96d8c69b 15/pypy/: remove nonsense method, update the docstring16:32
fijalok, so I'll do that16:32
arigato:-)16:32
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 252 seconds16:32
arigatoany reason for exchanging ABORT_BAD_LOOP and ABORT_ESCAPE in jitprof.py?  that looks like it remains after you tried to do something and failed16:33
fijalah, I killed ABORT_BAD_LOOP because it was unused16:34
fijalbut than it got used16:34
fijalso I had to put it back16:34
fijalshould I swap them again?16:34
arigatoyes, if you don't have a reason to exchange them16:34
cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) joined #pypy.16:34
cfbolzhello16:34
arigatocfbolz: hi16:34
fijalarigato: other than history? no :)16:35
fijalcfbolz: hey, seen my hooks?16:35
arigato:-)16:35
cfbolzfijal: some of them16:35
cfbolzfijal: your demo should not be "I use the hook to do this total hack" though :-)16:35
fijalyes16:35
fijalI'll do a better demo for the blog post :)16:36
fijalbut it's impressive to see that 1/3 of our simplest loop is taken by signal checking16:36
fijalalso other jitdrivers don't do signal checking16:36
fijal(not that you can do it in cpython)16:36
fijalcfbolz: ah and also, I found good reasons why we would outperform C in numeric operations16:37
arigato:-)16:37
fijalarigato: it kind of means our approach works I think16:37
arigatogood :-)16:37
fijalbecause there is not much more you can do16:37
Alex_Gaynorfijal: should the hook really provide an address to the python func?  why not just convert it to a string?16:38
fijalshort of modifying assembler in signal code16:38
fijal<evil laugh>16:38
fijalAlex_Gaynor: you mean the pycode?16:38
Alex_Gaynorbetter to do it at the resop level I think16:38
Alex_Gaynorfijal: err, I meant the ASM16:38
cfbolzfijal: the representation of the operations that you get on applevel, how much does it expose?16:38
cfbolzfijal: e.g. does it expose the descr details?16:38
fijalcfbolz: not yet16:39
fijalcfbolz: but it's "easy"16:39
cfbolzheh16:39
fijaleasy as in you have to add it in two places16:39
arigatoI guess that the goal is to use it in pypyjit/test_pypy_c/16:39
fijalbut also it's rather "too boring" than "too exciting"16:39
fijalarigato: I was thinking about being able to feed the resop list back to optimizeopt16:39
fijalcfbolz: for example I would like to prototype SSE without recompiling16:41
fijalarigato: speaking of which, can't we express signal handling by a form of guard_not_invalidated?16:41
arigatofijal: fwiw it's already a guard_not_invalidated, but probably not like you mean16:44
fijaluh?16:44
arigatoit's a guard_not_invalidated that fails when we start a thread16:44
fijalright16:44
arigatoas long as we don't, it's only 1 or 2 cpu instructions16:44
fijalbut there is also a counter after that16:44
fijalfor C-c no?16:45
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 276 seconds16:45
arigatono, C-c can be implemented without a counter16:45
arigatothe counter is only for thread switching16:45
arigatomaybe it's not correctly tested and it broke?16:45
fijalI see both the guard_not_invalidated and a counter?16:46
fijalguard_not_invalidated(, descr=<Guard80>) [p15, p0, p1, p4, i30, None]16:46
fijali32 = getfield_raw(43861128, descr=<FieldS pypysig_long_struct.c_value 0>)16:46
fijali33 = int_lt(i32, 0)16:46
fijalguard_false(i33, descr=<Guard81>) [p15, p0, p1, p4, i30, None]16:46
fijallike this16:46
arigatoah16:46
arigatook, this is not a counter16:47
fijaloh16:47
fijalright16:47
arigatothere is no "int_sub"16:47
fijalcan't we implement this as a guard_not_invalidated as well?16:47
durin42 (~durin@173-15-14-174-Illinois.hfc.comcastbusiness.net) joined #pypy.16:47
durin42 (~durin@173-15-14-174-Illinois.hfc.comcastbusiness.net) left irc: Changing host16:47
durin42 (~durin@adium/durin42) joined #pypy.16:47
arigatonot really16:47
arigatoit would mean that every time the process receives a signal, *all* assembler everywhere is invalidated and thrown away16:48
fijalthat's why I said "a special guard_not_invalidated"16:48
fijalthat patches the assembler back ;-)16:48
arigatoI see :-)16:49
JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection16:49
arigatomaybe we can indeed so that, if we change it "guard_from_outside" or something16:49
arigato...indeed do that...16:50
fijalwell, seriously it is 1/3 of the simplest possible loop16:50
fijalkind of a loop that hakan would care about16:51
arigatoyes, I see16:53
arigatoit's indeed possible to improve16:53
arigatonote also that some hack I did recently should have reduced the huge number of assembler instructions needed for a JUMP16:53
fijalthe tricky part is to get "last executed asm"16:53
fijalcool16:53
mattip (~chatzilla@bzq-79-180-115-39.red.bezeqint.net) joined #pypy.16:55
arigato"return space.wrap('who knows?')" is a bit on the "funny-but-bad" side16:57
fijalarigato: this is "not critical for merge" maybe?16:58
fijalit's fine to block the merge on it16:58
arigatono, no16:59
fijalit's surprisingly hard to do anything useful :/16:59
arigatoI'd just replace it with something more official, like "return space.w_Ellipsis" or just "space.w_None"16:59
fijaloh16:59
fijalI wanted to do get_location_str16:59
arigatogood idea17:00
fijalbut I didn't want to put yet another argument :)17:01
G2P (~G2P@fw-asn1.ornis.com) left irc: Quit: Leaving.17:01
fijalnow that we're having DebugInfo it's fine ;-)17:01
arigato"cache.in_recursion = False" should be in a finally:, ideally17:02
fijaloh yes totally17:02
fijalI already had a problem with that17:02
fijalon the other hand - you should never ever exit this function by exception17:03
fijalyou get a hard crash in the JIT17:03
fijalso it is just for multiple returns only17:03
arigatook17:03
fijalagreed though17:03
arigatoyou should also grep for all JitDrivers, and give them a name17:05
arigatoah, sorry, maybe you did17:06
arigatoI forgot that map() doesn't have one any more17:06
fijalI'm not 100% sure17:06
arigato:-)17:06
fijalI put numpy/main one/rsre17:06
fijalare there more?17:06
fijalunpackiterable?17:06
arigatointerpreter/generator.py17:06
kenaan12fijal better-jit-hooks 11d142d1bd4aa9 15/pypy/module/pypyjit/policy.py: use try: finally: for cache.in_recursion17:08
kenaan12fijal better-jit-hooks 111b168f836dde 15/pypy/interpreter/generator.py: add a name to another jitdriver17:08
fijalarigato: a better name for JitPortal?17:09
fijalJitInterface?17:09
fprimex (~fprimex@brent-macbook.sc.fsu.edu) left irc: Quit: lunch/dentist17:10
arigatoJitHookInterface?17:10
arigatoJitHooksInterface?17:13
craigkerstiens (~craigkers@204.14.152.118) joined #pypy.17:14
kenaan12fijal better-jit-hooks 118fdbf83e4cce 15/pypy/: rename JitPortal to JitHookInterface17:17
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy.17:19
kenaan12fijal better-jit-hooks 11666eb3524b3c 15/pypy/: update the pypyjit module as well17:20
alexsuraci (~alexsurac@173-228-88-149.dsl.dynamic.sonic.net) joined #pypy.17:23
fijalarigato: note the above-average amount of docstrings :)17:24
arigatoyes :-)17:25
asabil (~asabil@195.159.171.162) left irc: Quit: asabil17:29
fijalthis is very crucial IMO17:30
fijalbecause I bet it's not very easy to understand what it is doing17:30
fijalbut again, maybe noone else would ever use this for some other language17:30
fijalseems people are fond with their low-level lang more than with high-level lang17:31
fijalso JS debug info will be in C not in JS17:31
arigatoah, in case people here didn't notice17:34
arigatohttp://pyfound.blogspot.com/2012/01/armin-rigo-receives-psf-community.html17:34
fijalyes, congratulations :)17:35
fijalwe're a bit ahead of you in terms of news ;-)17:35
arigato:-)17:35
arigatook :-)17:35
fijalI was borderline to tell you17:35
arigato:-)17:35
fijalbut on the other hand assumed, about such news someone *has* to inform yuo17:35
arigatoyes, the truth is that I was informed a couple of weeks ago17:35
arigatoI just missed the official announcement17:36
fijalgood :)17:36
fijalI meant news-in-general17:36
fijalarigato: btw, for the fun of it, have you heard about a recent WPA attack?17:36
fijalrecent = december17:36
arigatoprobably not?17:36
fijalhttp://en.wikipedia.org/wiki/Wi-Fi_Protected_Access17:37
mattipBest wishes from an admirer. Someday I will understand the jit enough to appreciate what arigato has done.17:37
fijalthere is a vulnerability descriptions17:37
fijalmattip: oh, I can answer your questions about axisops17:37
fijalin order to inline something you have to do @jit.unroll_safe17:37
fijalbut you must make sure that loops are constant-size per assembler17:37
fijalI mean you must make sure mentally17:37
mattipon the one hand I have progress in that the call() has been eliminated17:39
mattipBut now there are lots of other ops that weren't there before.17:40
mattipincluding new_array :(17:41
espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 248 seconds17:43
mattipfijal: test_zjit test_multidim_slice is skipped with a note about "jit-targets will hopefully fix"17:49
fijalmattip: yes, the call is inlined17:49
fijalthis is what hapens :)17:49
espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy.17:49
kenaan12fijal better-jit-hooks 11b3dd81a62153 15/pypy/: improve the situation with arguments of the hooks17:49
mattipCan I claim the same :)17:50
Alex_Gaynorjit-targets has been merged :)17:50
fijalmattip: depends, I can have a look at loops and judge :)17:50
fijalnew array should not be there ;-)17:50
mattipI mean, an axis op is very similar to a slice.17:50
fijalarigato: I have to go now for a bit17:50
fijalarigato: I'm not done with module/pypyjit, but do you like the interface more?17:50
mattipOK, I'll try to get rid of that later,.17:50
fijalmattip: I can help17:50
fijalmattip: just not right now17:51
lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) left irc: Read error: Operation timed out17:51
mattipOK, when I get fed up I will hg push it and you can have a look.17:52
fijalmattip: it's not trivial took me quite a few turnarounds to do that for the current multidim17:52
mattipProbably ~4-5 hours.17:52
fijalhow are you ending up with new_array?17:55
alexsuraci` (~alexsurac@li175-235.members.linode.com) joined #pypy.18:01
alexsuraci` (~alexsurac@li175-235.members.linode.com) left irc: Client Quit18:04
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.18:06
alexsuraci` (~alexsurac@li175-235.members.linode.com) joined #pypy.18:06
alexsuraci (~alexsurac@173-228-88-149.dsl.dynamic.sonic.net) left irc: Quit: ZNC - http://znc.in18:06
Nick change: alexsuraci` -> alexsuraci18:06
antocuni (~antocuni@host157-123-dynamic.2-87-r.retail.telecomitalia.it) joined #pypy.18:11
Arach (~arach@128-75-174-161.broadband.corbina.ru) left irc: Quit: bye18:12
Arach (~arach@128-75-174-161.broadband.corbina.ru) joined #pypy.18:15
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 240 seconds18:19
arigatofijal: looks good18:22
cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) left irc: Quit: Leaving18:26
espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 252 seconds18:30
espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy.18:36
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum18:37
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.18:39
nedbat (~nedbat@python/psf/nedbat) joined #pypy.18:40
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds18:55
fermianyon (~lane@wan-217-185.usouthal.edu) joined #pypy.18:57
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.18:57
fijalarigato: I'll fix it run buildbots and merge it then19:00
etrepum (~bob@accessnat4.mochimedia.net) joined #pypy.19:00
lmatos (lmatos@staff.linode.com) left #pypy.19:01
ericflo (~ericflo@75.103.8.110) joined #pypy.19:02
Taggnostr2 (~quassel@host127-159-dynamic.2-87-r.retail.telecomitalia.it) joined #pypy.19:03
Taggnostr2 (~quassel@host127-159-dynamic.2-87-r.retail.telecomitalia.it) left irc: Remote host closed the connection19:03
Taggnostr (~quassel@host224-64-dynamic.116-80-r.retail.telecomitalia.it) left irc: Ping timeout: 260 seconds19:03
Nick change: Unhelpful_ -> Unhelpful19:04
Taggnostr (~quassel@host127-159-dynamic.2-87-r.retail.telecomitalia.it) joined #pypy.19:04
vpelletier (~vincent@ALille-154-1-41-182.w86-198.abo.wanadoo.fr) joined #pypy.19:11
vpelletierhi. are cProfile results reliable under pypy ?19:12
vpelletierI was susprised to see it working, and to a quick read the results show coherent timings19:12
zain (~textual@66.175.91.194) joined #pypy.19:12
fijalsorta19:13
vpelletierbut what I'm surprised of is seeing "{method 'release' of 'thread.lock' objects}" and "{method 'acquire' of 'thread.lock' objects}" take 55% of total run time (multiplied by the number of threads)19:15
vpelletierespecially the "release" part, actually... I expected the thread which calls acquire to be lock-bound19:16
vpelletierinterested in a p.sort_stats('cumulative').print_stats() pastebin ?19:16
tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy.19:17
tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host19:17
tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy.19:17
tilgovi (~randall@couchdb/developer/tilgovi) left irc: Read error: Connection reset by peer19:17
vpelletierah, and I'm using a possibly weird lock scheme: profiling under CPython, I found that Queue.Queue was responsible for 2/3rd of application run time, so I wrote my own limited queue class, where (pseudocode) "put" does "append(token);acquire(False);release()" and "get" does "while True:try:return pop();except IndexError:acquire(False);acquire()"19:19
vpelletieractual code is here: https://github.com/vpelletier/ITI1480A-linux/blob/master/iti1480a/parser.py#L1519:21
fox__ (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.19:24
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer19:24
vpelletierah, and profiling under pypy takes 6s on the dataset which takes 38s to CPython...19:24
vpelletier4s/27s without profiling19:26
fijalvpelletier: profiling can have a different overhead (higher) on pypy19:29
fijalthat's cool anyway19:29
fijallock/release might not be optimal at all :/19:29
fijalfeel free to submit bugs19:29
vpelletierI prefer a higher overhead of 2s than a lower overhead of 11s ;)19:30
fijalthat'19:30
vpelletierI'll take a lucky peek at the code, just ni case19:30
fijals profiling overhead :) you should not be too worried19:30
fijalvpelletier: we should look into traces with threads, it's just that none of us uses threads19:31
fijaland inadverently we optimize for stuff we use or we think we might use19:31
vpelletierI'm not so much worried about the overhead than I am of the lock thing... If the whole lock/release overhead goes away in the amount reported by cProfile, my script will reach negative execution time :p19:32
vpelletierof course, and I do the same19:32
vpelletierbtw, I'm using threads because I want to progressively feed tokens to ply.yacc... if it had a better API, I woudn't have to bother with threads to begin with19:33
fijalI'm not judging you :)19:34
vpelletiermmh... any web interface to pypy mercurial ?19:34
vpelletiergah, it's available directly at the "hg clone ..." url19:35
fijalyes :)19:36
fijalit's bitbucket19:36
vpelletierI'm too used to "this url for clone, that for web interface"19:36
fijalwhat are you looking for?19:36
vpelletierthe lock thing19:36
fijaldirectory structure might be nontrivial19:36
fijalyou mean how it is implemented?19:36
vpelletieryes19:36
fijalor how it is compiled to assembler?19:36
fijalpypy/module/thread/...19:36
fijalinterp_lock.py probably19:36
vpelletierwell... not sure then :)19:36
fijalll_thread.py19:36
fijaland os_thread.py19:36
vpelletierthanks19:37
fijalI can tell you upfront why it's not implemented efficiently :)19:38
fijalif you're interested19:38
vpelletierI am19:38
fijalI would suggest having a clone and telling me when it's done though19:38
vpelletierhop, cloning19:38
mat^2 (~mathias@212.130.113.35) left irc: Ping timeout: 240 seconds19:39
Action: vpelletier wonders what's so obvious about the implementation...19:43
fijalI can't tell you upfront because it's obvious19:43
zk (~is@whatit.is) left irc: Quit: Lost terminal19:43
fijalonly because I happen to know19:43
vpelletierall i can come up with right now is that os_lock.Lock.descr_lock_acquire has 3 lines where I would write 1 :)19:44
vpelletier(use-once intermediate locals...)19:44
vpelletierstill cloning, 530kB/s19:45
vpelletiergah, and as I said that... done19:45
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy.19:46
fijalI think this is irrelevant becomes as it's compiled to C it gets optimized19:46
espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 240 seconds19:46
vpelletierI guess so. At least, that's what I would expect from compiled python.19:47
fijalvpelletier: the problem is it is implemented in C and as such can't be inlined by the JIT19:48
fijalnor optimizations can be performed19:48
fijalyou could move parts of it to RPython19:48
fijaland maybe even add soem specialcasing to the JIT19:48
fijalthat would make things faster19:48
vpelletierI'm reading the "how to build" page, and I wonder if there is any option equivalent to make's "-j"19:51
vpelletier6 cores waiting to crunch code here :]19:51
fijalno :/19:52
fijalunfortunately19:52
espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy.19:53
exarkunjoin #mailman19:54
exarkunoops19:54
fijalexarkun: are you trying to make mailman work on pypy by chance?19:55
fijalvpelletier: why do you want to build it?19:56
exarkunfijal: no sorry :/19:56
fijalvpelletier: that's the first issue newcomers face - building is long and tedious, but you don't need to do it for most stuff19:56
lesshaste (~lesshaste@87-194-206-189.bethere.co.uk) joined #pypy.19:59
vpelletierfijal: in case I can figure out anything to do while it builds19:59
lesshastehi all19:59
vpelletier...and to see the mandelbrot19:59
fijallesshaste: hi19:59
vpelletierto my surprise, the mandelbrot is not a lie19:59
lesshastefijal: how are things?19:59
fijallesshaste: things are great20:00
fijallesshaste: the swell should come and wind stop if you ask me, but other than that fine20:00
lesshastegreat :)20:00
lesshastewhere are you? If you don't mind my asking?20:00
lesshasteto within 500 miles :)20:00
fijalCape Town, RSA20:00
fijalwithin 5 miles at least :)20:01
lesshasteaha20:01
lesshastevery  nice20:01
lesshasteI went there once20:01
fijalhow was it?20:01
lesshasteit was great!20:01
fermianyon (~lane@wan-217-185.usouthal.edu) left irc: Ping timeout: 252 seconds20:02
tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy.20:02
tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host20:02
tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy.20:02
nedbat (~nedbat@python/psf/nedbat) left irc: Disconnected by services20:05
nedbat_ (~nedbat@python/psf/nedbat) joined #pypy.20:05
squiddy (~squiddy@f053084228.adsl.alicedsl.de) left irc: Remote host closed the connection20:15
squiddy (~squiddy@f053084228.adsl.alicedsl.de) joined #pypy.20:15
vpelletierfijal: mmh... I doubt I can do anything about locks at my pypy understanding level. I found the .h with RPyThreadAcquireLock & co., but I also found some functions used to handle the GIL... I guess those are efficient, and they look very close to the Lock methods.20:17
vpelletieror I'm still missing somethinf (which loops to my understanding level...)20:17
vpelletiersomething*20:18
vpelletierat least I will be able to give a pypy dev build a try (...when it's done building)20:18
fox__ (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer20:19
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.20:19
etrepum (~bob@accessnat4.mochimedia.net) left irc: Remote host closed the connection20:20
etrepum (~bob@accessnat4.mochimedia.net) joined #pypy.20:20
fijalvpelletier: GIL does not have to be *that* efficient20:21
vpelletierah ? though it should be released and re-acquired quite often, isnt' it ? (I/O operations... on cpython I would say C modules, but I don't know how they go with pypy)20:23
Alex_GaynorYes, all these lock calls release the GIL20:23
vpelletieror is it optimised out on singlethread scripts ? (if so, there might be surprises with ctypes python callbacks from C-generated threads, or so)20:24
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Read error: Operation timed out20:25
arigatoit's optimized in the sense that the GIL, as a lock, is built only when we start the first thread20:27
arigatoas long as it is not built, it's just a check "== NULL"20:27
arigatoand so we have nothing to acquire or release20:28
vpelletierok20:28
Alex_Gaynorarigato: ah, then I suppose the calls do not need RANDOM_EFFECTS if it's known the GIL isn't alive20:29
arigato(JIT talk: eh, that's just yet another guard_not_invalidated to place and invalidate when we start being multithreaded)20:29
Alex_Gaynor(that is: if it's known the thread can't switch)20:29
arigatoAlex_Gaynor: but only if it doesn't invoke callbacks20:29
Alex_Gaynor(stupid callbacks)20:29
fijalwe know what involves callbacks20:30
fijalbut also, we already invalidate stuff on the first thread20:30
arigatoyes, that's all kind-of doable20:30
fijalso why bother20:30
arigatofijal: we don't explicitly20:30
fijalno of course not :)20:30
fijalbut we invalidate every single loop20:30
arigatoit just so happens that all loops end with code that is invalidated at the first thread20:30
arigatobut that's not enough20:30
arigatowe can still happily run the rest of a loop once20:31
fijal:]20:32
fijalok ok20:32
arigatomoreover it would be fragile, e.g. it would crash if we add an optimization like20:32
fijalI see your point, but however I would argue you're arguing for arguments sake :)20:32
arigato"it's a small loop running a bounded number of times, so we don't need any getfield_raw stuff"20:32
arigatono, I'm arguing for "let's avoid fragile magic and rare bugs" sake :-)20:33
fijal:]20:33
fijalyes, we need volatile fields for that20:34
arigatoand even more so, for fragile bugs in case of threads, which is not the most well-tested part20:34
arigatono, I'm saying that it would be ok to just kill the getfield_raw magic if we are sure that the loop is short-running20:34
arigato(somehow)20:35
fijalmost of the times it would be ok to kill the entire loop....20:35
arigatono20:35
fijalsince you very quickly run out of idea how "short" the loop is running20:35
arigatoI'm thinking about "for i in range(3):..."20:35
fijalyou need to check operations20:35
fijalto not contain random calls for example20:36
fijalI doubt that would be a useful optimization20:36
fijalmore useful would be to unroll for i in range(3)....20:36
arigato:-)20:36
Alex_Gaynorheh, fijal beat me to it20:36
fijalwe can already do this btw20:36
fijalwe have constantness in the frontend20:36
Alex_Gaynorfijal: constantness of *what*20:37
fijalso "if it's constant and small, unroll few jit_merge_points"20:37
Alex_Gaynorhow does the JIT compute the number of iterations a loop has?20:37
fijalof course it opens a huge can of workms20:37
fijalAlex_Gaynor: you're tracing the outer loop, not the inner20:37
Alex_GaynorRight20:37
fijalanyway20:37
Alex_GaynorI understand, I'm saying given that, how does the metainterp know the number of iterations in the inner loop?20:37
fijalAlex_Gaynor: you don't call assembler, you keep tracing20:38
arigatoit's not needed in the metainterp20:38
Alex_Gaynorfijal: yes, but how does the metainterp know to do that?20:38
kenaan12mattip numpypy-axisops 110722e568f060 15/pypy/module/micronumpy/: zjit improvement20:38
arigatoit can in theory be done purely in module/pypyjit20:38
fijalarigato: that would not work20:38
fijalbecause range can change20:38
fijal(for example)20:38
arigatoyou just don't call jitdriver.jit_merge_point() if you're in a small loop20:38
fijalAlex_Gaynor: it already has support for that20:38
Alex_Gaynorbut how do you know *if* you should do so?20:39
arigatocan't you use rlib.jit.is_constant()?20:39
fijalif you find out loop argument to be constant20:39
Alex_Gaynor*what* is constastant?20:39
fijalnumber of loop iterations20:39
Alex_Gaynorhow do you get them though20:39
arigatolike "if the iterator is over a range object, and the range's start/stop/step are all constants"20:39
arigato"and small"20:39
arigatoyou can write this in module/pypyjit20:40
arigato(hackish but you can)20:40
Alex_Gaynoryou'll never unroll a while loop then :/20:40
arigatoyes20:41
arigatothat was just an idea, I know it's not really perfect20:41
mattipfijal: ping me when you can take a look at commit ^^^^20:41
Alex_Gaynorright, you can do lots of simple cases easily, I'mjust thinking "is there a way to do it comprehensively"20:42
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.20:43
arigatomuch harder :-(20:44
Action: vpelletier got lost20:45
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 244 seconds20:45
Trundle (~andy@82.113.106.236) joined #pypy.20:46
Trundle (~andy@82.113.106.236) left irc: Changing host20:46
Trundle (~andy@python/site-packages/trundle) joined #pypy.20:46
vpelletierI guess it would be easier for me to just make ply usable on incomplete input than hacking pypy :]20:46
Alex_Gaynorarigato: yes, we could also allow automatically anotating it for x in pypyjit.unroll(xrange(3)): pass and then the unroll info goes on the FORLOOP_BLOCK or so20:47
Alex_Gaynors/automatically/manually/20:47
Action: Alex_Gaynor should probably be productive instead of random speculation20:47
arigato:-)20:47
Alex_Gaynorarigato: did fijal deal with all of your review notes? (aka should I finally review it myself)20:48
arigato:-)20:49
arigatoI'm not sure :-)20:49
fijalI'm finishing20:49
squiddy (~squiddy@f053084228.adsl.alicedsl.de) left irc: Quit: Leaving20:50
Alex_Gaynorok, I'll get lunc then20:50
squiddy (~squiddy@f053084228.adsl.alicedsl.de) joined #pypy.20:51
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.20:54
lizardo (~lizardo@189.2.128.130) left irc: Quit: Leaving20:56
fijalAlex_Gaynor: ok, now21:06
fijalAlex_Gaynor: feel free to kick buildbots btw21:06
fijaland I gonna sleep probably21:06
kenaan12fijal better-jit-hooks 11aed03c7eb163 15/pypy/: update the interface on the pypyjit side21:06
fijalAlex_Gaynor: like now :)21:07
ronan (~ronan@host86-143-209-182.range86-143.btcentralplus.com) joined #pypy.21:12
mattip (chatzilla@bzq-79-180-115-39.red.bezeqint.net) left #pypy ("gnight").21:16
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 276 seconds21:16
CIA-1703stefanor 07roundup * 10#992/Manpage: 21:21
CIA-17[new] Debian likes having manpages for everything. Here's a very simple manpage (in21:21
CIA-17RST, docutils can generate the troff manpage), if you are in ... * 14https://bugs.pypy.org/issue99221:21
Unhelpful (~quassel@rockbox/developer/Unhelpful) left irc: Quit: http://quassel-irc.org - Chat comfortably. Anywhere.21:28
Unhelpful (~quassel@rockbox/developer/Unhelpful) joined #pypy.21:32
whyking (~quassel@p4FFB73B6.dip.t-dialin.net) left irc: Ping timeout: 260 seconds21:33
craigkerstiens (~craigkers@204.14.152.118) left irc: Quit: craigkerstiens21:35
craigkerstiens (~craigkers@204.14.152.118) joined #pypy.21:36
mat^2 (~mathias@212.130.113.35) joined #pypy.21:37
mikefc_ (9665bcc5@gateway/web/freenode/ip.150.101.188.197) joined #pypy.21:39
Trundle (~andy@python/site-packages/trundle) left irc: Ping timeout: 240 seconds21:42
andrewfr (~andrew@modemcable211.101-70-69.static.videotron.ca) joined #pypy.21:45
Nick change: nedbat_ -> nedbat21:45
arigato (~arigo@adsl-89-217-237-16.adslplus.ch) left irc: Quit: See you21:46
andrewfr (~andrew@modemcable211.101-70-69.static.videotron.ca) left irc: Client Quit21:48
lesshastefijal: what's your current thinking about how to deal with scipy?21:58
lesshastefor when pypy takes over the world :)21:58
fijallesshaste: as I wrote on my blog post with matplotlib hacks21:58
lesshastefijal: hmm.. interesting.. so maybe I should have had the conversation about R with you :)22:00
fijalyes?22:00
lesshastefijal: My plan for 2012 (i.e. not now) is to start an R+pypy project22:00
lesshastefijal: one of the problems is that R has 700 primitive functions22:01
fijalthat's not that many22:01
fijallesshaste: probably a lot of what we do in numpy is reusable22:01
lesshasteand given the man power, it seems unlikely that I will be able to reimplement all of them brilliantly and instantly22:01
lesshastetrue22:01
lesshasteit also has squillions of external libraries22:01
fijalthe general idea is - arrays have C pointers22:01
lesshastewhich need to be usable or no one will use R + pypy22:02
fijaland it's relatively easy to call external C functions on those22:02
lesshastegot you22:02
lesshastewhat's your view on rffi?22:02
lesshasteR is in some sense the perfect target for pypy.. in that it is dynamic, dog slow and used by lots of people who really want it to be fast22:03
lesshastehence the many hacky speedups currently available22:03
dmalcolm_ (david@nat/redhat/x-sjyoqglgtnkprscw) joined #pypy.22:04
fijalis it dog slow?22:05
fijaloh wow22:05
fijalrffi is what you use if you want to call C from RPython22:05
fijalworks quite fine22:05
vpelletierfijal: would you mind reviewing the bug entry I intend to open for what we discussed earlier ?22:06
fijalvpelletier: yes, fine, although while it's interesting to have it, I would not expect anyone to work on it soon22:06
fijalbut hey, I only control my time (barely)22:06
lesshastefijal: yes.. there are some examples online http://darrenjw.wordpress.com/2010/04/28/mcmc-programming-in-r-python-java-and-c/ 22:06
lesshastefor example22:06
fijallesshaste: ok22:07
fijallesshaste: well, cool22:07
fijalI think R is a good target then and can be quite fast on pypy22:07
vpelletierfijal: I tried to make is as complete as possible... so it's quite long :)22:07
fijalbut you should totally cooperate on numpy22:07
fijalvpelletier: paste.pocoo.org?22:07
lesshastefijal: is rffi a sensible way to call sections of R that I haven't reimplemented in rpython yet22:07
vpelletierfijal: http://pastebin.com/pBc3Eq4N22:07
fijallesshaste: if it has a clear C interface then yes22:07
lesshastefijal: ok thanks22:07
dmalcolm (david@nat/redhat/x-idrjdcmxwbbjxyvb) left irc: Ping timeout: 260 seconds22:08
bbot2 (~bbot2@wyvern.cs.uni-duesseldorf.de) joined #pypy.22:08
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1188 [12fijal, better-jit-hooks]22:08
fijallesshaste: so say if R has a function that accepts an array or two, it's fine22:08
fijalbut if it has a function that accepts RObject*, unlikely22:09
lesshastegot you22:09
lesshasteit has embedded C++22:09
lesshasteso I assume it can pass arrays ;)22:09
lesshastebutI should check22:09
fijalvpelletier: you should probably measure with queue.queue (although I'm unsure)22:09
vpelletierfijal: ok, should be fast (I implemented a compatible interface for what I use)22:10
fijalvpelletier: for what is worth, the cProfile measures wall time22:10
fijalso if you have a thread that waits on acquire, it would be accounted there22:10
fijalright?22:10
fijalyeah you acknowledge that22:11
vpelletieryup22:11
fijalvpelletier: that's a very quality bug report :)22:11
vpelletierheh, thanks :)22:11
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 252 seconds22:11
vpelletierI wondered if it was just too verbose :)22:12
fijalthere is no such thing22:12
fijalat least not common22:12
fijalvpelletier: ok, I have a simple change that might improve the situation but might also make a translation explode22:12
fijallet me check22:12
vpelletierhahaha, Queue.Queue profiled under pypy: 34s22:14
fijal:/22:14
vpelletiernow I have Lock.acquire taking 20s on *each* thread22:15
fijalnot good if you ask me ;-)22:15
vpelletierwhich is the symptom which made me think there is something bad in Queue.Queue22:15
vpelletieryeah22:15
fijalseems so :)22:15
vpelletierwell, I understand why this happens (Queue allows checking if it's empty/full, so it needs extra locking)22:15
fijaladd this to the blog post22:15
kenaan12fijal look-into-thread 11283df4b51997 15/pypy/module/pypyjit/policy.py: a test - look into thread module22:15
fijaljust please don't post times under profiler22:16
vpelletieryou mean, pypy + Queue without cProfile ? or also pypy + my implementation without cProfile (and maybe with cPython) ?22:17
fijalgenerally if you post times, post without cProfile22:18
fijalfor pypy at least22:19
vpelletiereh... without cProfile, Queue is at 4.341 and my implementation at 4.080, both with pypy22:19
vpelletierok22:19
fijalI can show you examples wehre pypy is >2x slower with cProfile22:19
fijalhere we go anyway, you can too :)22:19
fijalwhile we try to make cProfile results representative, we don't try to make cProfile fast22:19
fijalso the ratio is more important than actual speed22:19
vpelletierah, sure, I'm not complaining about performance when being profiled... but profiling is the only way I know of to tell where time is being spent - ad that's what I want to know and fix :)22:20
vpelletierindeed22:20
vpelletierand my measures were intended to be read as a ratio22:20
fijalso for example comparing algo 1 and algo 2 using cProfile is not a good idea22:21
vpelletierand also to compare what cProfile says with what "time" says, in case there is an obvious error22:21
vpelletierok22:21
kenaan12boemmels lang-scheme 112f84a6d52477 15/scheme/procedure.py: Implement not function22:22
kenaan12boemmels lang-scheme 1182753c10ee59 15/scheme/: Implement all numerical comparisions (< <= > >=)22:22
kenaan12boemmels lang-scheme 1119a17e0790e6 15/scheme/: Implement Assoc*-functions22:22
kenaan12boemmels lang-scheme 11d254d5ae04cf 15/scheme/: Implement 'cadr' and friends (all 28 versions)22:22
kenaan12boemmels lang-scheme 11a93db4dbd6b0 15/scheme/: Implement member & friends22:22
kenaan12boemmels lang-scheme 11046b82d2ef4c 15/scheme/: Stubbing of case, basic tests work22:23
kenaan12boemmels lang-scheme 112f31b68cba35 15/scheme/: Bugfix, apply evaluated it's argument twice.22:23
CIA-1703fijal 07roundup * 10#992/Manpage: 22:23
CIA-17[chatting] Would be cool if --jit describes briefly (or lists at least) parameters. it's --22:23
CIA-17jit v1=12,v2=13 btw * 14https://bugs.pypy.org/issue99222:23
fijalhm22:23
fijalso what is bit.ly innovating btw?22:23
zk (~is@whatit.is) joined #pypy.22:26
vpelletierfijal: ?22:26
Alex_Gaynorfijal: their analytics is apparently quite good22:27
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) joined #pypy.22:27
fijalAlex_Gaynor: and that's it?22:29
Alex_Gaynorfijal: I dunno, what else would a linker innovate on? (wht's the source of the disdcussion anyways)22:29
Rhy0lite (dje@nat/ibm/x-ftjdcaphdiokosos) left irc: Quit: Leaving22:29
fijalI'm trying to investigate why hmason is visiting whitehouse22:29
fijalAlex_Gaynor: my code is compiling22:30
kenaan12fijal default 113c58c0bd8803 15/pypy/rlib/jit.py: document JIT parameters22:30
kenaan12fijal default 115f4b16c8ec98 15/pypy/: merge22:30
exarkunfijal: you don't have to innovate to do that, you just have to give some money22:30
CIA-1703vpelletier 07roundup * 10#993/threading.Lock.release performance: 22:30
CIA-17[new] I ran one of my projects[1] with pypy to check the performance increase compared22:30
CIA-17to cPython 2.7. pypy is at least 4 times faster. So far, s ... * 14https://bugs.pypy.org/issue99322:30
fijalexarkun: ah ok22:32
fijalSo great to have #innovators @hmason @dcconcierge @zsims @mckeefloyd @ginatrapani @ciberch at the @whitehouse today22:32
fijalI guess this is a tweet I'm referring to22:32
vpelletierfijal: btw, cProfile overhead on my implementation seems negligible: 0.1s out of 4s. Funny that Queue.Queue suffers so much from profiling. Anyway, good to know that it's fast with pypy :)22:33
fijaltumbleweed: ^^^^22:34
kenaan12fijal default 11d16e4f017733 15/pypy/translator/goal/app_main.py: include some actually useful info in --help22:35
tumbleweedfijal: yeah, saw that, thanks. I'll update it in the morning22:35
Action: tumbleweed -> bed22:35
fijalgood point, --help should improve till morning :)22:35
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.22:36
fijalAlex_Gaynor: what they're selling? data?22:36
fijalanalytics?22:36
Alex_Gaynorno idea22:37
fijalthey have a company22:37
fijalthat is hiring22:37
fijalcrazy for a URL shortener if you ask me22:37
Alex_GaynorI think they're making money so good for them I guess22:38
fijalI guess22:38
fijalcrazy22:38
kenaan12alex_gaynor better-jit-hooks 119e69f381ba7e 15/: merged default22:38
Alex_Gaynorfijal: branch looks ok I guess, except I'm really confused about boxes, what is exposed?22:38
vpelletierfijal: thanks for the quick dive in pypy code, and the ticket review. good night22:38
kenaan12alex_gaynor better-jit-hooks 1166f1a9fb79c9 15/pypy/module/pypyjit/interp_resop.py: typo fix22:38
fijalAlex_Gaynor: on applevel or using jit_hooks API?22:38
Alex_Gaynorfijal: applevel22:39
Alex_Gaynorit looks like you can only create ConstantInt boxes?22:39
fijalAlex_Gaynor: can you remove REVIEW.rst then?22:39
fijalBoxInt boxes22:39
vpelletier (~vincent@ALille-154-1-41-182.w86-198.abo.wanadoo.fr) left irc: Quit: Zzz22:39
fijalyou can't create ConstInt boxes yet22:39
fijalit's incomplete22:39
fijalwhatever is tested is supported :)22:39
fijalso all the ops in that test22:39
Alex_Gaynorwhat is the argument to BoxInt even?22:39
kenaan12alex_gaynor better-jit-hooks 116a26fcde567b 15/REVIEW.rst: remove dead file22:39
fijalAlex_Gaynor: int22:39
Alex_GaynorBoxInt(3) -> i3?22:39
fijalyeah22:39
fijalexcept BoxInt has no __repr__yet22:40
fijalyeah, it does require improvements22:40
fijalbut I kiind of run out of steam and it's boring22:40
fijalmaybe you can automate this stuff22:40
fijalbut automatic sounds a bit too exciting :)22:40
Alex_Gaynorok, can you please do DebugMergePoint, at least for python jitdriver?22:40
Alex_Gaynorotherwise it's kind of a regression22:40
fijalas in put real args in keys?22:40
fijalin args22:40
Alex_Gaynorput it on a special sublass with attributes IMO, but whatever22:41
fijaloh ok22:44
fijala regression mostly comes from a fact that now we can have different DMPs22:44
fijalso it no longer makes sense to do it for all of them22:44
fijalbut yeah22:44
Alex_Gaynorsure22:44
kenaan12fijal look-into-thread 11d2fe92d73a1f 15/pypy/module/thread/ll_thread.py: don't look into those llops22:47
espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 240 seconds22:48
Arach (~arach@128-75-174-161.broadband.corbina.ru) left irc: Quit: bye22:54
kenaan12alex_gaynor default 11409a8b279f54 15/pypy/module/micronumpy/: stylistic cleanups22:55
lesshaste (~lesshaste@87-194-206-189.bethere.co.uk) left irc: Quit: Leaving22:55
espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy.22:55
Arach (~arach@128-75-174-161.broadband.corbina.ru) joined #pypy.22:57
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/19923:00
bbot2Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/77123:00
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/100823:00
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/2723:00
dmalcolm_ (david@nat/redhat/x-sjyoqglgtnkprscw) left irc: Read error: Connection reset by peer23:01
dmalcolm_ (david@nat/redhat/x-rzprrvrprfwzcakr) joined #pypy.23:01
mattip (~chatzilla@bzq-79-180-115-39.red.bezeqint.net) joined #pypy.23:05
bbot24Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1918 [12fijal, better-jit-hooks]23:05
fijalcrash23:05
kenaan12mattip numpypy-axisops 11e00f14813b9e 15/pypy/module/micronumpy/: test for sum_promote fails miserably, signature.dtype is not arr.dtype23:05
mattipI'm unhappy too.23:06
mattipmajor screwup when calc_dtype is not arr.dtype23:06
mattiptoo tired to fix this.23:07
fenrrir (~rodrigo@189.70.230.136) joined #pypy.23:07
fijal:/23:08
mattipI tried asserting if the signature and arr dtype were different in call to signature._add_ptr_to_cache23:09
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 276 seconds23:09
mattipbut that broke all kinds of things.23:10
fijalmattip: sorry, I'll look tomorrow maybe?23:10
fijalmattip: I'm about to sleep (and too tired to tackle a hard problem)23:10
fijalarr.dtype can't be different than signature.dtype btw23:10
mattipOK, I'm just rambling/complaining/recording my thoughts so I can read them when I'm more awake.23:10
fijalok :)23:11
fijalbut yeah, dtype should agree23:11
Action: mattip REALLY going to bed this time.23:12
mattip (chatzilla@bzq-79-180-115-39.red.bezeqint.net) left #pypy.23:12
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Computer has gone to sleep.23:21
fenrrir (~rodrigo@189.70.230.136) left irc: Quit: Leaving23:25
fijalAttributeError: type object 'BlackholeInterpreter' has no attribute 'bhimpl_gc_add_memory_pressure'23:25
fijalAlex_Gaynor: feel like fixing by chance?23:26
Alex_Gaynorfijal: not especially23:26
Alex_GaynorI'm tired :/23:26
fijalok23:26
fijalI'll do it some other day23:26
fijalI'm looking into inlining thread23:26
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1188 [12fijal, better-jit-hooks]23:32
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) left irc: Read error: Connection reset by peer23:38
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) joined #pypy.23:39
whitelynx|work (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat23:40
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy.23:48
dmalcolm_ (david@nat/redhat/x-rzprrvrprfwzcakr) left irc: Quit: Leaving23:50
bbot24Failure: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/2723:53
--- Tue Jan 10 201200:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!