| 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 connection | 00: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 seconds | 00:14 | |
| squiddy (~squiddy@g224197082.adsl.alicedsl.de) left irc: Quit: Leaving | 01:03 | |
| whitelynx (~whitelynx@75.111.197.204) joined #pypy. | 01:11 | |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving | 01:20 | |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Ping timeout: 252 seconds | 01:24 | |
| mikefc2 (9665bcc5@gateway/web/freenode/ip.150.101.188.197) left irc: Quit: Page closed | 01: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 seconds | 01:43 | |
| Arach (~arach@FTTB-Beeline-79.104.220.149.ranetka.ru) left irc: Quit: bye | 01:46 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/770 | 01: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 seconds | 01:54 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1917 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/672 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/321 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/670 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/332 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1187 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/853 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1505 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/782 | 02: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 software | 02:07 |
| stakkars_ | Pretty much, including Tesseract. | 02:08 |
| Arach (~arach@FTTB-Beeline-79.104.220.149.ranetka.ru) left irc: Quit: bye | 02:08 | |
| stakkars_ | Actually, I'm not very impressed, and I'm thinking to write | 02:09 |
| stakkars_ | something essentially different for PyPy! | 02:09 |
| stakkars_ | I think PyPy scripted OCR could be | 02:10 |
| stakkars_ | a valuable new research area for PyPy, | 02:11 |
| stakkars_ | where various companies are developing | 02:11 |
| exarkun | Optical 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: yep | 02:13 |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 245 seconds | 02: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 prices | 02:15 |
| stakkars_ | Looked into Tesseract. Not so bad, but bad from the ground. They did not do it right | 02: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 seconds | 02:20 | |
| mikefc_ (9665bcc5@gateway/web/freenode/ip.150.101.188.197) left irc: Quit: Page closed | 02: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: bye | 02: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 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1917 | 03:00 |
| stakkars_ (~stakkars@89.204.130.166) left irc: Quit: Colloquy for iPhone - http://colloquy.mobi | 03:01 | |
| Kaskuka (~John@osbk-4db16630.pool.mediaWays.net) left irc: Ping timeout: 240 seconds | 03:04 | |
| Kaskuka (~John@osbk-4db1589d.pool.mediaWays.net) joined #pypy. | 03:04 | |
| ernop (~ernie@114.250.129.15) left irc: Ping timeout: 248 seconds | 03:08 | |
| craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) left irc: Quit: craigkerstiens | 03: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 peer | 03: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 seconds | 03: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|cooking | 03: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 out | 03:41 | |
| GoGi (~gogi@p5B103EAA.dip.t-dialin.net) joined #pypy. | 03:57 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/853 | 04:03 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1505 | 04:07 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/670 | 04: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 seconds | 04:27 | |
| ernop (~ernie@114.250.129.15) joined #pypy. | 04:27 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1187 | 04:34 |
| ernop (~ernie@114.250.129.15) left irc: Ping timeout: 240 seconds | 04:45 | |
| kushal (~kdas@114.143.164.159) joined #pypy. | 05:13 | |
| kushal (~kdas@114.143.164.159) left irc: Changing host | 05: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 seconds | 05:34 | |
| nettok (~quassel@190.148.27.164) left irc: Remote host closed the connection | 05:38 | |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds | 05:57 | |
| ernop (~ernie@114.250.129.15) joined #pypy. | 06:05 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/672 | 06:12 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 06:14 | |
| mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord | 06:15 | |
| Arach (~arach@128-75-174-161.broadband.corbina.ru) joined #pypy. | 06:33 | |
| cwillu (~cwillu@cwillu.com) left irc: Ping timeout: 240 seconds | 06:38 | |
| ronny (~ronny@pida/ronny) left irc: Ping timeout: 240 seconds | 06:38 | |
| jacob|home (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: Remote host closed the connection | 06: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 connection | 06: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 seconds | 06: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 seconds | 06:46 | |
| ronny (~ronny@pida/ronny) left irc: Ping timeout: 240 seconds | 06:46 | |
| jacob|home (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: Remote host closed the connection | 06: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 -> pybot | 06:46 | |
| Possible future nick collision: pybot | 06: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 exceeded | 06:50 | |
| Nick change: thinker -> Sinker | 06:50 | |
| Nick change: ronny -> Guest96208 | 06: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 seconds | 07:10 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/782 | 07: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 seconds | 07: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 seconds | 07:20 | |
| mvt (~mvantelli@87.213.45.85) joined #pypy. | 07:30 | |
| kushal (~kdas@fedora/kushal) left irc: Quit: Leaving | 07:33 | |
| kushal (~kdas@114.143.164.159) joined #pypy. | 07:33 | |
| kushal (~kdas@114.143.164.159) left irc: Changing host | 07:33 | |
| kushal (~kdas@fedora/kushal) joined #pypy. | 07:33 | |
| CIA-17 | 03mikefc 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/issue934 | 07:38 |
| fijal (~fijal@196-215-5-11.dynamic.isadsl.co.za) joined #pypy. | 07:39 | |
| fijal | meh | 07:40 |
| fijal | can someone move the pypy-issue thingie from bounces queue? | 07:40 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/321 | 07: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 seconds | 08:14 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/332 | 08:21 |
| CIA-17 | 03mikefc 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/issue932 | 08: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 seconds | 08: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 seconds | 08:51 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 08:55 | |
| kushal (~kdas@fedora/kushal) left irc: Quit: Leaving | 09:02 | |
| kushal (~kdas@114.143.164.159) joined #pypy. | 09:02 | |
| kushal (~kdas@114.143.164.159) left irc: Changing host | 09: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-17 | 03bdarnell 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 server | 09:04 |
| CIA-17 | using SSLv3 or TLSv1. pypy's ssl module appears to be default ... * 14https://bugs.pypy.org/issue990 | 09:04 |
| CIA-17 | 03lekma 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 CPython | 09:05 |
| CIA-17 | function to associate an errno with a more detailed message ... * 14https://bugs.pypy.org/issue991 | 09:05 |
| Eventh (evenwiik@caracal.stud.ntnu.no) left irc: Quit: Lost terminal | 09: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 seconds | 09: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 | |
| vpelletier | hi. 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/iti1480a | 09:15 |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 268 seconds | 09:15 | |
| vpelletier | display.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 |
| arigato | vpelletier: yes, we fixed this recently | 09:17 |
| vpelletier | I realise it's a bad naming (or bad import, IMHO) from me, and will fix it... but I thought I should report | 09:17 |
| vpelletier | arigato: ah, perfect :) | 09:17 |
| arigato | in fact it's CPython's behavior that is a bit undefined | 09:18 |
| arigato | if you compile yourself CPython with the "parser" module a built-in module instead of as an .so | 09:18 |
| arigato | then you get the same problem | 09:18 |
| vpelletier | heh | 09:18 |
| fijal | arigato: http://paste.pocoo.org/show/532113/ | 09:18 |
| fijal | how cool is that? | 09:19 |
| arigato | heh :-) | 09:19 |
| alexsuraci (~alexsurac@173-228-88-149.dsl.dynamic.sonic.net) left irc: Ping timeout: 240 seconds | 09:20 | |
| fijal | arigato: FYI the hack is more or less complete | 09:20 |
| arigato | nice | 09:20 |
| fijal | as in does not expose the full API, but nothing stops you from fixing it | 09:20 |
| fijal | it works though | 09:20 |
| fijal | I did play with moving boxes around and such | 09:20 |
| fijal | my idea is to be able to feed that back to optimizeopt | 09:21 |
| vpelletier | btw, 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 |
| fijal | cpcool :) | 09:21 |
| fijal | vpelletier: cool | 09:21 |
| arigato | :-) | 09:21 |
| vpelletier | s/5/4/ | 09:21 |
| espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy. | 09:21 | |
| arigato | btw, should be push a release 1.7.1? | 09:22 |
| arigato | should *we*? | 09:22 |
| fijal | arigato: also the branch seems fairly complete (modulo the debug_print/raise problem in the backend) | 09:22 |
| fijal | so if you feel like reviewing, please do | 09:22 |
| GoGi (~gogi@p5B103EAA.dip.t-dialin.net) left irc: Remote host closed the connection | 09:23 | |
| arigato | ok | 09:25 |
| fijal | arigato: but the "detect already compiled bridge" should be somehow attacked | 09:25 |
| fijal | any reason for doing 1.7.1 now other than "let's do releases"? | 09:25 |
| arigato | no, it's vpelletier's remark that reminds me that we fixed a few important things | 09:26 |
| arigato | and also speed.pypy.org shows again a good speed-up | 09:26 |
| zain (~textual@66.175.91.194) left irc: Quit: Computer has gone to sleep. | 09:26 | |
| fijal | yes ok | 09:26 |
| fijal | I would call it 1.8 though | 09:26 |
| fijal | I'm ready to give up without discussion as well :) | 09:27 |
| fijal | arigato: I'm fine with being a release manager btw | 09:27 |
| arigato | what annoys me with 1.8 is that it's getting close to 1.no-more-digit | 09:27 |
| arigato | :-) | 09:27 |
| fijal | you mean 1.10 is not > 1.9? | 09:28 |
| fijal | if you ask em I'm fine with 1.a | 09:28 |
| fijal | or even 0x1.a | 09:28 |
| arigato | :-/ | 09:28 |
| fijal | <joke> | 09:28 |
| arigato | I suppose that 1.10 > 1.9 for some other programs, so it could work here too | 09:29 |
| fijal | any reason for not doing 2.0 besides? | 09:29 |
| arigato | dunno | 09:29 |
| fijal | it's somehow cool recently to do 7 8 9 10 releases | 09:29 |
| fijal | instead of 1.7 1.8 | 09:29 |
| arigato | well | 09:29 |
| Action: vpelletier doesn't want to carry the guilt of turning pypy release cycle into firefox' | 09:30 | |
| fijal | vpelletier: :) | 09:31 |
| arigato | precisely :-) | 09:31 |
| fijal | yes ok | 09:31 |
| fijal | but still doing 2.0 after 1.9 makes some sense IMO | 09:31 |
| arigato | ok, works for me too | 09:31 |
| jimbaker (~jbaker@canonical/jimbaker) left irc: Quit: Coyote finally caught me | 09:32 | |
| fijal | anyway, I think in the spirit of cpython releases, we have too many disruptive changes 1.7.1 | 09:32 |
| fijal | er | 09:32 |
| fijal | to do 1.7.1 | 09: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 host | 09:32 | |
| jimbaker (~jbaker@canonical/jimbaker) joined #pypy. | 09:32 | |
| arigato | ok | 09:32 |
| vpelletier | my (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 there | 09:32 |
| vpelletier | and by "stick", I mean the numbering scheme, not synchronising releases | 09:33 |
| fijal | vpelletier: hm | 09:33 |
| fijal | vpelletier: how do we do that? | 09:33 |
| fijal | we have waaay too many releases I would say | 09:33 |
| vpelletier | no idea :) . I'm following pypy for about 30 mintues now :p | 09:33 |
| fijal | how would you release 5 versions of python 2.7? | 09:34 |
| arigato | that'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.x | 09:34 |
| fijal | well, that's a bit irrelevant to pypy itself so you still migh have opinions :) | 09:34 |
| arigato | from that point of view I think we should avoid the 2.x and the 3.x numbers altogether | 09:34 |
| fijal | arigato: you did not reply to my "I volunteer to do the release" msg :) | 09:39 |
| vpelletier | arigato: 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 |
| fijal | vpelletier: how would you differentiate between multiple releases of 2.7? | 09:42 |
| fijal | 2.7 2.7 and 2.7? | 09:42 |
| arigato | fijal: "thank you" :-) | 09:42 |
| fijal | :] | 09:43 |
| arigato | we could use 2.7.number and 3.4.number | 09:43 |
| fijal | that would be very confusing | 09:43 |
| vpelletier | fijal: 2.7.x, with "x" being unrelated to cpython's | 09:43 |
| arigato | I fear so too | 09:43 |
| fijal | because cpython uses .x | 09:43 |
| Action: arigato -> train | 09:43 | |
| fijal | so pypy 2.7.8 supporting cpython 2.7.2? | 09:43 |
| fijal | for example? | 09:44 |
| arigato (~arigo@xdsl-188-154-144-172.adslplus.ch) left irc: Quit: See you | 09:44 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 09:44 | |
| vpelletier | fijal: that's my opinion, yes... and maybe "supporting python 2.7" should be enough | 09:44 |
| CIA-17 | 03bdarnell 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 system | 09:45 |
| CIA-17 | cpython is linked against a newer version of openssl than ... * 14https://bugs.pypy.org/issue990 | 09:45 |
| vpelletier | in 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 features | 09:45 |
| vpelletier | although 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 for | 09:46 |
| fijal | vpelletier: to my defence it's not very hard to find what sort of python version pypy supports :) | 09:46 |
| vpelletier | s/visible effects outside of features/visible effects on features/ | 09:46 |
| G2P (~G2P@fw-asn1.ornis.com) joined #pypy. | 09:49 | |
| vpelletier | ah, 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-style | 09:50 |
| fijal | vpelletier: cpython will stay reference for the forseeable future | 09:53 |
| fijal | but I would like to keep pypy releases from python (language) numbers | 09: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 Quit | 10:11 | |
| squiddy (~squiddy@f053084228.adsl.alicedsl.de) left irc: Remote host closed the connection | 10:30 | |
| arigato (~arigo@adsl-89-217-237-16.adslplus.ch) joined #pypy. | 10:34 | |
| jell | 10:43:58 < fijal> so pypy 2.7.8 supporting cpython 2.7.2? | 10:35 |
| jell | better would be 2.7p8 and 2.7.2p9 | 10:35 |
| jell | i mean supported features, 'p', pypy patch release, but that could be also misleading, that pypy is patch to cpython... | 10:37 |
| jell | pypy patch release -> named tag release | 10:38 |
| kenaan | 12arigo concurrent-marksweep 1175ce27172ee1 15/pypy/rpython/memory/gc/concurrentgen.py: Remove the extra debug prints. | 10:38 |
| arigato | concurrent-marksweep is disappointing: it runs 5 times more slowly than minimark on targetgcbench | 10:38 |
| arigato | it might be only because there are 5 times more operations in a "malloc", for now | 10: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 | |
| mattip | hi | 10:43 |
| Da_Blitz | why the increase in operations in malloc for the concurrent marksweep? | 10:44 |
| arigato | hi | 10:44 |
| arigato | Da_Blitz: mostly because it was not optimized so far | 10:44 |
| mattip | fijal: I would be happy if numpypy-axisops could make it into the next release | 10:44 |
| arigato | also, concurrent-marksweep is not a moving collector | 10:44 |
| arigato | which means that even optimized to the maximum, allocation takes one or two extra CPU instructions | 10:45 |
| arigato | but that's probably fine | 10:45 |
| Da_Blitz | how does it affect GC pauses? | 10:45 |
| arigato | it should have lower pauses | 10:46 |
| arigato | if you care | 10:46 |
| arigato | typically only scanning the stack, and sometimes waiting a bit for collection to finish | 10:46 |
| mattip | but I cannot get the test_zjit test_axissum to behave more nicely | 10:47 |
| mattip | I add unroll and messed with attributes to no avail | 10:48 |
| mattip | I cannot get the frame.next() (inside an if statement) to inline | 10:49 |
| mattip | oh well, I'll try again later. | 10:52 |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Quit: Page closed | 10:53 | |
| bivab | <spam> | 10:56 |
| kenaan | 12bivab arm-backend-2 119688a1080b2b 15/pypy/jit/backend/arm/test/: update some more tests | 10:56 |
| kenaan | 12bivab arm-backend-2 1172a4e791d5e5 15/pypy/jit/backend/arm/assembler.py: remove assertion, that does not work anymore | 10:56 |
| kenaan | 12bivab arm-backend-2 11a796398e72b0 15/pypy/jit/backend/arm/codebuilder.py: make sure we get an int here | 10:56 |
| kenaan | 12bivab arm-backend-2 11b7e4239284ca 15/pypy/jit/backend/arm/test/: fix tests | 10:56 |
| kenaan | 12bivab arm-backend-2 110a79c804ce94 15/pypy/jit/backend/arm/: add a DOUBLEWORD constant to replace all the 2 * WORD | 10:56 |
| kenaan | 12bivab arm-backend-2 112c283e1293a8 15/pypy/jit/backend/arm/: remove unused imports | 10:56 |
| kenaan | 12bivab arm-backend-2 11cad3c03c5ac1 15/pypy/jit/backend/arm/: rename field | 10:56 |
| kenaan | 12bivab arm-backend-2 115767eb76b3f3 15/pypy/jit/backend/arm/regalloc.py: write the fail index here | 10:56 |
| kenaan | 12bivab arm-backend-2 1196d252d2a2e6 15/pypy/jit/backend/arm/: move the actual call to assembler.py | 10:56 |
| kenaan | 12bivab arm-backend-2 117fe04da61940 15/pypy/jit/backend/arm/codebuilder.py: remove the condition flag from BKPT, which is an uncondional instruction | 10:56 |
| kenaan | 12bivab arm-backend-2 11f02dc5c4e43c 15/pypy/jit/backend/arm/: add an alignment check after malloc calls for debugging | 10:56 |
| kenaan | 12bivab arm-backend-2 11895cbdd61311 15/pypy/jit/backend/arm/assembler.py: simplify some conditional paths in the generated code | 10:56 |
| kenaan | 12bivab 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 |
| kenaan | 12bivab arm-backend-2 11ffbd6f34a8c3 15/pypy/jit/backend/arm/: port encoding of locations used for guards from the x86 backend | 10:57 |
| kenaan | 12bivab arm-backend-2 11120e4541efaf 15/pypy/jit/backend/arm/codebuilder.py: Add the condition code for always here | 10:57 |
| kenaan | 12bivab 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 |
| mikefc | tracking 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 inducer | 10:57 |
| jell | so 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 |
| mikefc | there :) | 10:59 |
| mikefc | so much clearer | 10:59 |
| mikefc | verb.noun.noun | 10:59 |
| mikefc | where verb is LSB | 10:59 |
| mikefc | um. | 10:59 |
| mikefc | adjective.noun.noun | 11:00 |
| Action: mikefc fail at all grammars | 11:00 | |
| jell | better is something like ubuntu way, year-2010.month | 11:00 |
| mikefc | pypy 2.7.2.2012.01 | 11:01 |
| Action: mikefc has no say in the matter, so goes back to his hidey hole | 11:01 | |
| jell | on android, miui releases are umbered almost like that (but with day as third part) | 11:01 |
| jell | umbered -> numbered | 11:01 |
| mikefc | what 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 connection | 11:01 | |
| jell | .1 as postfix? | 11:02 |
| anish_ (anish@nat/redhat/x-xlpgnlvnuqizplvq) left irc: Quit: Leaving | 11:03 | |
| arigato | I think we'll just continue with "pypy 1.x" and add "pypy3 1.x" | 11:05 |
| arigato | hum | 11:05 |
| mikefc | booring! | 11:05 |
| mikefc | :) | 11:05 |
| arigato | or call it "pypy3.4 1.x" | 11:05 |
| mikefc | converge on pi? | 11:06 |
| arigato | :-) | 11:06 |
| mikefc | perhaps if you wrapped the sequence of version numbers to 80char lines, you'd get a mandelbrot | 11:07 |
| lucian | just converge on e | 11:07 |
| mikefc | or (to be more meta), it'd produce code that'd make you a mandelbrot | 11:07 |
| lucian | 2.7 is the best python anyway :) | 11:07 |
| vpelletier | I like the idea of converging on pi for pypy... renaming to ÀÀ ? | 11:08 |
| kirma | hmmh. 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 away | 11:08 | |
| lucian | kirma: either choose a high-level VM (like JVM), write assembly (like pypy) or use LLVM | 11:09 |
| kirma | this would be for rather strict special-purpose "language" (not really turing-complete, at least in the intuitive sense) | 11:09 |
| lucian | things like libjit or nanojit are not being developed anymore | 11:09 |
| antocuni_ | fijal: I think that 014afe8c57ac is "wrong" | 11:09 |
| lucian | kirma: if you write an interpreter for that language in (r)python, pypy can generate a JIT vm for you | 11:10 |
| antocuni_ | the idea was to avoid allocating an int field for each ResOperation instance | 11:10 |
| mikefc | I think https://bugs.pypy.org/issue991 is possibly moronic. | 11:10 |
| mikefc | or 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 field | 11:11 |
| Action: mikefc wonders who has the time to convincingly troll an isse tracker | 11:11 | |
| kirma | I 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 seconds | 11: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 supported | 11:17 |
| antocuni_ | so, after pypy 1.9 I'd do pypy 4 | 11: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 | |
| arigato | antocuni_: :-) | 11:21 |
| arigato | yes, that's what I said above too | 11:21 |
| arigato | but pypy 5 is a good plan | 11:21 |
| elipsion (~elipsion@81-232-141-35-no217.tbcn.telia.com) joined #pypy. | 11:21 | |
| Da_Blitz | why not pull a redhat and go stright to 7 | 11:21 |
| squiddy (~squiddy@f053084228.adsl.alicedsl.de) joined #pypy. | 11:23 | |
| jell | 12:05:50 < arigato> or call it "pypy3.4 1.x" | 11:25 |
| jell | arigato: 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 seconds | 11:32 | |
| arigato | yes :-) | 11:33 |
| Da_Blitz (~Da_Blitz@203.56.250.63) joined #pypy. | 11:39 | |
| kenaan | 12arigo concurrent-marksweep 119ec48159f6e4 15/pypy/rpython/memory/gc/concurrentgen.py: Fix: I corrected the comment but not the actual value | 11: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 seconds | 12:05 | |
| fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) left irc: Ping timeout: 240 seconds | 12:27 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 12:28 | |
| JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 268 seconds | 12:31 | |
| PiotrSikora (~none@nginx/adept/piotrsikora) left irc: Excess Flood | 12:35 | |
| squiddy (~squiddy@f053084228.adsl.alicedsl.de) left irc: Remote host closed the connection | 12: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.2 | 12:41 | |
| ronny (~ronny@pida/ronny) joined #pypy. | 12:41 | |
| squiddy (~squiddy@f053084228.adsl.alicedsl.de) left irc: Remote host closed the connection | 12: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 seconds | 13: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 host | 13:54 | |
| mfoord (~anonymous@python/psf/voidspace) joined #pypy. | 13:54 | |
| mfoord (~anonymous@python/psf/voidspace) left irc: Client Quit | 13:55 | |
| bbot2 (~bbot2@wyvern.cs.uni-duesseldorf.de) left irc: Ping timeout: 240 seconds | 13:59 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Disconnected by services | 14: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 seconds | 14: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 -> davisagli | 14:42 | |
| whitelynx|work (~whitelynx@63.241.75.144) joined #pypy. | 14:44 | |
| fijal | antocuni_: why is it wrong? | 14:48 |
| fijal | with 014afe8c57ac | 14:48 |
| whitelynx|work (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat | 14:50 | |
| antocuni_ | fijal: I wrote it few lines below | 14:50 |
| antocuni_ | because the whole point of the thing is to avoid storing opnum as an instance field | 14:50 |
| fijal | it's a class attribute | 14:50 |
| fijal | how 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 attribute | 14:51 |
| antocuni_ | that's why I wrote "wrong" inside quotes | 14:51 |
| Nick change: nedbat_ -> nedbat | 14:51 | |
| fijal | put _attrs_ there | 14:54 |
| fijal | and be done | 14:54 |
| antocuni_ | do you feel like doing it? :-) | 14:55 |
| fijal | I can do it yet | 14:55 |
| fijal | yes | 14:55 |
| fijal | but generating a 100 functions is not a good idea :/ | 14:55 |
| fijal | this way our executable grows immensly | 14:55 |
| antocuni_ | true | 14:57 |
| whitelynx|work (~whitelynx@63.241.75.144) joined #pypy. | 14:57 | |
| Nick change: antocuni_ -> antocuni | 14:57 | |
| arigato | fijal: at least rename the attribute to _opnum | 14:57 |
| antocuni | arigato: why? Now .opnum is the public API to get it | 14:58 |
| arigato | ah, ok | 14:58 |
| arigato | indeed, works too | 14:58 |
| fijal | antocuni: I did not rename all getopnum() to opnum | 14:59 |
| fijal | that's a lot of work | 14:59 |
| arigato | and indeed, "_attrs_=()" on the base class solves it all | 14:59 |
| fijal | but I would love to | 14:59 |
| fijal | _attrs_ = ('result',) | 14:59 |
| fijal | I believe | 14:59 |
| arigato | yes | 14:59 |
| fijal | arigato: did you get a chance to review better-jit-hooks? | 15:04 |
| kenaan | 12fijal better-jit-hooks 1104ce4efd6ee6 15/pypy/jit/metainterp/resoperation.py: make sure there are no more attrs on base class | 15:06 |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 248 seconds | 15:06 | |
| fijal | antocuni: done | 15:08 |
| antocuni | thank you | 15: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 seconds | 15: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 seconds | 15:17 | |
| zk (~is@whatit.is) left irc: Quit: leaving | 15: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 seconds | 15:29 | |
| Alex_Gaynor | fijal: FWIW I think we really should merge in 2.7.2 at some point before a release | 15:29 |
| fijal | yes, totally | 15:30 |
| fijal | Alex_Gaynor: ah | 15:33 |
| Alex_Gaynor | ? | 15:34 |
| fijal | Alex_Gaynor: I found (by chance) a reason why our vectorization will be better than C | 15:34 |
| Alex_Gaynor | we have better alias information? | 15:34 |
| fijal | yes :) | 15:34 |
| fijal | and we already specialize on that | 15:34 |
| Alex_Gaynor | Yes, although backend doesn't have that information | 15:34 |
| Alex_Gaynor | ok I'll review your branch for the last tim shortly | 15:36 |
| vpelletier (~vincent@was59-1-82-226-112-70.fbx.proxad.net) left irc: Quit: leaving | 15:37 | |
| fijal | we have to learn how to push those informations to the backend | 15:38 |
| fijal | but we already know that if we execute signature with two different arrays, they're actually different | 15:38 |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 15:38 | |
| Alex_Gaynor | yup | 15:40 |
| fijal | it'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 seconds | 15: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 peer | 15: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 Quit | 15:59 | |
| craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) left irc: Quit: craigkerstiens | 16:02 | |
| arigato (~arigo@adsl-89-217-237-16.adslplus.ch) joined #pypy. | 16:05 | |
| arigato | fijal: no, I didn't get a chance to review better-jit-hooks so far | 16:06 |
| arigato | I can do it now | 16:06 |
| fijal | cool, please | 16:07 |
| fijal | there is still a missing piece about what to do if bridge was already compiled | 16:07 |
| fijal | which we should write at least a unittest | 16:07 |
| fijal | I'm sure ARM backend would run into the same problem one day | 16:07 |
| arigato | ok | 16:07 |
| fijal | or PPC | 16:07 |
| arigato | yes | 16:07 |
| arigato | can you move REVIEW.rst to a more standard place? | 16:07 |
| fijal | I can remove it | 16:08 |
| fijal | I don't think any of this is relevant | 16:08 |
| arigato | ah, ok | 16:08 |
| fijal | as in "later" or "not interesting" | 16:08 |
| asabil (~asabil@195.159.171.162) joined #pypy. | 16:08 | |
| arigato | can't we have a better interface than "return None, 0, 0" from compile_*()? | 16:09 |
| fijal | like...? | 16:09 |
| fijal | we probably can | 16:09 |
| arigato | like, return None-or-an-instance-of-DebugClass | 16:09 |
| fijal | ok | 16:09 |
| fijal | and None would mean "bridge already compiled" | 16:10 |
| fijal | ? | 16:10 |
| arigato | no | 16:10 |
| arigato | you can forbid None altogether | 16:10 |
| arigato | but I thought that None means "no debug info available" | 16:10 |
| fijal | at least on normal assembler backend there is always a debug info | 16:10 |
| arigato | for "bridge already compiled", we need to detect the case in the frontend | 16:10 |
| fijal | we return None, 0, 0 | 16:10 |
| fijal | in llgraph | 16:10 |
| fijal | because I had no better idea | 16:10 |
| arigato | ok, then we enforce "don't return None" | 16:11 |
| fijal | for example now on default we still log the bridge that didn't get compiled | 16:11 |
| fijal | without offsets | 16:11 |
| fijal | (for a change) | 16:12 |
| fijal | that does not crash, but it's not correct | 16:12 |
| arigato | self.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: bivab | 16:12 | |
| fijal | ah, do you know why I call set_debug from the test? | 16:12 |
| fijal | it's not because we have or not have debug info | 16:12 |
| fijal | it's because if debug is on, we have more assembler from counters there | 16:13 |
| fijal | so introducing new API on CPU does not make sense for this test | 16:13 |
| arigato | this test is a bit annoying to locate | 16:15 |
| fijal | I had no idea where to put it :( | 16:16 |
| fijal | it probably should not be in test_runner | 16:16 |
| fijal | but I want it to fail for other processors | 16:16 |
| arigato | yes | 16:16 |
| fijal | and we only have one test like this | 16:16 |
| arigato | maybe we should optimistically write it by | 16:16 |
| arigato | checkops(mc, 1, self.compile_asmlen_expected_loop) | 16:17 |
| arigato | and have compile_asmlen_expected_loop be a class attribute set in concrete subclasses | 16:17 |
| fijal | that is very optimistic :) | 16:17 |
| arigato | :-/ | 16:18 |
| fijal | I would wait until someone else does this for his CPU :) | 16:18 |
| fijal | you assume the number of instructions will be identical | 16:18 |
| arigato | no | 16:18 |
| fijal | no? | 16:18 |
| arigato | ah, machine_code_dump() should also be moved to the cpu then | 16:18 |
| fijal | yes, it's a better place than viewcode | 16:18 |
| arigato | why? compile_asmlen_expected_loop can be a list of any size | 16:18 |
| fijal | so what is "1" in your args? | 16:19 |
| arigato | what is this "1"? | 16:19 |
| fijal | you just wrote | 16:20 |
| fijal | checkops(mc, 1, self.compile_asmlen_expected_loop) | 16:20 |
| fijal | what does 1 mean? I thought instruction number | 16:20 |
| arigato | yes, but I admit I'm not sure I understand what this "1" mean | 16:20 |
| arigato | it comes straight from your code | 16:20 |
| fijal | this is an instruction number :) | 16:21 |
| arigato | I 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 |
| arigato | in other words I don't know what "ops" really is | 16:22 |
| arigato | no, sorry | 16:22 |
| arigato | what "mc" really is | 16:23 |
| fijal | ah | 16:23 |
| fijal | it's a startline | 16:23 |
| fijal | first line is 'data:' | 16:23 |
| fijal | so indeed, you can write it as a class method, sorry sorry | 16:23 |
| arigato | :-) | 16:23 |
| fijal | mc is a dump of machine code as gotten from machine_code_dump | 16:23 |
| fijal | do you want me to do it? | 16:23 |
| arigato | yes, please | 16:23 |
| arigato | ah, also, it can't be merged as long as it says "except ValueError: ... raise" | 16:24 |
| arigato | we really need to do something | 16:25 |
| arigato | JitPolicy's new "portal" attribute is rather dangerous | 16:25 |
| fijal | yes | 16:25 |
| fijal | I know | 16:25 |
| arigato | there is only one JitPolicy | 16:26 |
| arigato | but several portals in pypy | 16:26 |
| fijal | there is only one portal | 16:26 |
| fijal | there are several drivers, but only one portal | 16:26 |
| fijal | maybe a better name then? | 16:26 |
| arigato | yes | 16:26 |
| arigato | aa "portal" is something else in warmspot.py | 16:26 |
| dmalcolm (david@nat/redhat/x-idrjdcmxwbbjxyvb) joined #pypy. | 16:27 | |
| fijal | indeed, requires renaming :) | 16:27 |
| fijal | feel free to come up with a better name for "a general interface between interpreter and the JIT" | 16:27 |
| Alex_Gaynor | fijal: I told you portal was already a thing! | 16:27 |
| arigato | it's a hook of some kind | 16:28 |
| fijal | JitHooker does not sound too tempting | 16:28 |
| fijal | http://paste.pocoo.org/show/532289/ | 16:28 |
| fijal | arigato: like this? | 16:28 |
| arigato | also, "def get_jit_portal(self): return None" is a bit unexpected as a method where "self.portal" exists and is not None | 16:28 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 16:28 | |
| fijal | uh, is there such a method/? | 16:29 |
| arigato | fijal: yes | 16: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 | |
| arigato | fwiw I could be more happy with some DebugClass returned by compile_loop() and passed directly to after_compile() | 16:30 |
| kenaan | 12fijal better-jit-hooks 11941c2be81863 15/pypy/jit/backend/: (fijal, arigo) improve the assembler check (hopefully) usable for other processors | 16:30 |
| arigato | if we stick a few more things to DebugClass | 16:31 |
| mvt (~mvantelli@87.213.45.85) left irc: Quit: This computer has gone to sleep | 16:31 | |
| arigato | then we don't have to pass 42 arguments to after_compile() | 16:31 |
| fijal | yes, I agree :) | 16:31 |
| arigato | actually the Debug thingy might be created before, too, to call before_compile() | 16:31 |
| fijal | I needed a little push to do that | 16:31 |
| arigato | push push :-) | 16:31 |
| fijal | :-) | 16:32 |
| kenaan | 12fijal better-jit-hooks 11c39f96d8c69b 15/pypy/: remove nonsense method, update the docstring | 16:32 |
| fijal | ok, so I'll do that | 16:32 |
| arigato | :-) | 16:32 |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 252 seconds | 16:32 | |
| arigato | any reason for exchanging ABORT_BAD_LOOP and ABORT_ESCAPE in jitprof.py? that looks like it remains after you tried to do something and failed | 16:33 |
| fijal | ah, I killed ABORT_BAD_LOOP because it was unused | 16:34 |
| fijal | but than it got used | 16:34 |
| fijal | so I had to put it back | 16:34 |
| fijal | should I swap them again? | 16:34 |
| arigato | yes, if you don't have a reason to exchange them | 16:34 |
| cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 16:34 | |
| cfbolz | hello | 16:34 |
| arigato | cfbolz: hi | 16:34 |
| fijal | arigato: other than history? no :) | 16:35 |
| fijal | cfbolz: hey, seen my hooks? | 16:35 |
| arigato | :-) | 16:35 |
| cfbolz | fijal: some of them | 16:35 |
| cfbolz | fijal: your demo should not be "I use the hook to do this total hack" though :-) | 16:35 |
| fijal | yes | 16:35 |
| fijal | I'll do a better demo for the blog post :) | 16:36 |
| fijal | but it's impressive to see that 1/3 of our simplest loop is taken by signal checking | 16:36 |
| fijal | also other jitdrivers don't do signal checking | 16:36 |
| fijal | (not that you can do it in cpython) | 16:36 |
| fijal | cfbolz: ah and also, I found good reasons why we would outperform C in numeric operations | 16:37 |
| arigato | :-) | 16:37 |
| fijal | arigato: it kind of means our approach works I think | 16:37 |
| arigato | good :-) | 16:37 |
| fijal | because there is not much more you can do | 16:37 |
| Alex_Gaynor | fijal: should the hook really provide an address to the python func? why not just convert it to a string? | 16:38 |
| fijal | short of modifying assembler in signal code | 16:38 |
| fijal | <evil laugh> | 16:38 |
| fijal | Alex_Gaynor: you mean the pycode? | 16:38 |
| Alex_Gaynor | better to do it at the resop level I think | 16:38 |
| Alex_Gaynor | fijal: err, I meant the ASM | 16:38 |
| cfbolz | fijal: the representation of the operations that you get on applevel, how much does it expose? | 16:38 |
| cfbolz | fijal: e.g. does it expose the descr details? | 16:38 |
| fijal | cfbolz: not yet | 16:39 |
| fijal | cfbolz: but it's "easy" | 16:39 |
| cfbolz | heh | 16:39 |
| fijal | easy as in you have to add it in two places | 16:39 |
| arigato | I guess that the goal is to use it in pypyjit/test_pypy_c/ | 16:39 |
| fijal | but also it's rather "too boring" than "too exciting" | 16:39 |
| fijal | arigato: I was thinking about being able to feed the resop list back to optimizeopt | 16:39 |
| fijal | cfbolz: for example I would like to prototype SSE without recompiling | 16:41 |
| fijal | arigato: speaking of which, can't we express signal handling by a form of guard_not_invalidated? | 16:41 |
| arigato | fijal: fwiw it's already a guard_not_invalidated, but probably not like you mean | 16:44 |
| fijal | uh? | 16:44 |
| arigato | it's a guard_not_invalidated that fails when we start a thread | 16:44 |
| fijal | right | 16:44 |
| arigato | as long as we don't, it's only 1 or 2 cpu instructions | 16:44 |
| fijal | but there is also a counter after that | 16:44 |
| fijal | for C-c no? | 16:45 |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 276 seconds | 16:45 | |
| arigato | no, C-c can be implemented without a counter | 16:45 |
| arigato | the counter is only for thread switching | 16:45 |
| arigato | maybe it's not correctly tested and it broke? | 16:45 |
| fijal | I see both the guard_not_invalidated and a counter? | 16:46 |
| fijal | guard_not_invalidated(, descr=<Guard80>) [p15, p0, p1, p4, i30, None] | 16:46 |
| fijal | i32 = getfield_raw(43861128, descr=<FieldS pypysig_long_struct.c_value 0>) | 16:46 |
| fijal | i33 = int_lt(i32, 0) | 16:46 |
| fijal | guard_false(i33, descr=<Guard81>) [p15, p0, p1, p4, i30, None] | 16:46 |
| fijal | like this | 16:46 |
| arigato | ah | 16:46 |
| arigato | ok, this is not a counter | 16:47 |
| fijal | oh | 16:47 |
| fijal | right | 16:47 |
| arigato | there is no "int_sub" | 16:47 |
| fijal | can'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 host | 16:47 | |
| durin42 (~durin@adium/durin42) joined #pypy. | 16:47 | |
| arigato | not really | 16:47 |
| arigato | it would mean that every time the process receives a signal, *all* assembler everywhere is invalidated and thrown away | 16:48 |
| fijal | that's why I said "a special guard_not_invalidated" | 16:48 |
| fijal | that patches the assembler back ;-) | 16:48 |
| arigato | I see :-) | 16:49 |
| JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 16:49 | |
| arigato | maybe we can indeed so that, if we change it "guard_from_outside" or something | 16:49 |
| arigato | ...indeed do that... | 16:50 |
| fijal | well, seriously it is 1/3 of the simplest possible loop | 16:50 |
| fijal | kind of a loop that hakan would care about | 16:51 |
| arigato | yes, I see | 16:53 |
| arigato | it's indeed possible to improve | 16:53 |
| arigato | note also that some hack I did recently should have reduced the huge number of assembler instructions needed for a JUMP | 16:53 |
| fijal | the tricky part is to get "last executed asm" | 16:53 |
| fijal | cool | 16: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" side | 16:57 |
| fijal | arigato: this is "not critical for merge" maybe? | 16:58 |
| fijal | it's fine to block the merge on it | 16:58 |
| arigato | no, no | 16:59 |
| fijal | it's surprisingly hard to do anything useful :/ | 16:59 |
| arigato | I'd just replace it with something more official, like "return space.w_Ellipsis" or just "space.w_None" | 16:59 |
| fijal | oh | 16:59 |
| fijal | I wanted to do get_location_str | 16:59 |
| arigato | good idea | 17:00 |
| fijal | but I didn't want to put yet another argument :) | 17:01 |
| G2P (~G2P@fw-asn1.ornis.com) left irc: Quit: Leaving. | 17:01 | |
| fijal | now that we're having DebugInfo it's fine ;-) | 17:01 |
| arigato | "cache.in_recursion = False" should be in a finally:, ideally | 17:02 |
| fijal | oh yes totally | 17:02 |
| fijal | I already had a problem with that | 17:02 |
| fijal | on the other hand - you should never ever exit this function by exception | 17:03 |
| fijal | you get a hard crash in the JIT | 17:03 |
| fijal | so it is just for multiple returns only | 17:03 |
| arigato | ok | 17:03 |
| fijal | agreed though | 17:03 |
| arigato | you should also grep for all JitDrivers, and give them a name | 17:05 |
| arigato | ah, sorry, maybe you did | 17:06 |
| arigato | I forgot that map() doesn't have one any more | 17:06 |
| fijal | I'm not 100% sure | 17:06 |
| arigato | :-) | 17:06 |
| fijal | I put numpy/main one/rsre | 17:06 |
| fijal | are there more? | 17:06 |
| fijal | unpackiterable? | 17:06 |
| arigato | interpreter/generator.py | 17:06 |
| kenaan | 12fijal better-jit-hooks 11d142d1bd4aa9 15/pypy/module/pypyjit/policy.py: use try: finally: for cache.in_recursion | 17:08 |
| kenaan | 12fijal better-jit-hooks 111b168f836dde 15/pypy/interpreter/generator.py: add a name to another jitdriver | 17:08 |
| fijal | arigato: a better name for JitPortal? | 17:09 |
| fijal | JitInterface? | 17:09 |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) left irc: Quit: lunch/dentist | 17:10 | |
| arigato | JitHookInterface? | 17:10 |
| arigato | JitHooksInterface? | 17:13 |
| craigkerstiens (~craigkers@204.14.152.118) joined #pypy. | 17:14 | |
| kenaan | 12fijal better-jit-hooks 118fdbf83e4cce 15/pypy/: rename JitPortal to JitHookInterface | 17:17 |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy. | 17:19 | |
| kenaan | 12fijal better-jit-hooks 11666eb3524b3c 15/pypy/: update the pypyjit module as well | 17:20 |
| alexsuraci (~alexsurac@173-228-88-149.dsl.dynamic.sonic.net) joined #pypy. | 17:23 | |
| fijal | arigato: note the above-average amount of docstrings :) | 17:24 |
| arigato | yes :-) | 17:25 |
| asabil (~asabil@195.159.171.162) left irc: Quit: asabil | 17:29 | |
| fijal | this is very crucial IMO | 17:30 |
| fijal | because I bet it's not very easy to understand what it is doing | 17:30 |
| fijal | but again, maybe noone else would ever use this for some other language | 17:30 |
| fijal | seems people are fond with their low-level lang more than with high-level lang | 17:31 |
| fijal | so JS debug info will be in C not in JS | 17:31 |
| arigato | ah, in case people here didn't notice | 17:34 |
| arigato | http://pyfound.blogspot.com/2012/01/armin-rigo-receives-psf-community.html | 17:34 |
| fijal | yes, congratulations :) | 17:35 |
| fijal | we're a bit ahead of you in terms of news ;-) | 17:35 |
| arigato | :-) | 17:35 |
| arigato | ok :-) | 17:35 |
| fijal | I was borderline to tell you | 17:35 |
| arigato | :-) | 17:35 |
| fijal | but on the other hand assumed, about such news someone *has* to inform yuo | 17:35 |
| arigato | yes, the truth is that I was informed a couple of weeks ago | 17:35 |
| arigato | I just missed the official announcement | 17:36 |
| fijal | good :) | 17:36 |
| fijal | I meant news-in-general | 17:36 |
| fijal | arigato: btw, for the fun of it, have you heard about a recent WPA attack? | 17:36 |
| fijal | recent = december | 17:36 |
| arigato | probably not? | 17:36 |
| fijal | http://en.wikipedia.org/wiki/Wi-Fi_Protected_Access | 17:37 |
| mattip | Best wishes from an admirer. Someday I will understand the jit enough to appreciate what arigato has done. | 17:37 |
| fijal | there is a vulnerability descriptions | 17:37 |
| fijal | mattip: oh, I can answer your questions about axisops | 17:37 |
| fijal | in order to inline something you have to do @jit.unroll_safe | 17:37 |
| fijal | but you must make sure that loops are constant-size per assembler | 17:37 |
| fijal | I mean you must make sure mentally | 17:37 |
| mattip | on the one hand I have progress in that the call() has been eliminated | 17:39 |
| mattip | But now there are lots of other ops that weren't there before. | 17:40 |
| mattip | including new_array :( | 17:41 |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 248 seconds | 17:43 | |
| mattip | fijal: test_zjit test_multidim_slice is skipped with a note about "jit-targets will hopefully fix" | 17:49 |
| fijal | mattip: yes, the call is inlined | 17:49 |
| fijal | this is what hapens :) | 17:49 |
| espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy. | 17:49 | |
| kenaan | 12fijal better-jit-hooks 11b3dd81a62153 15/pypy/: improve the situation with arguments of the hooks | 17:49 |
| mattip | Can I claim the same :) | 17:50 |
| Alex_Gaynor | jit-targets has been merged :) | 17:50 |
| fijal | mattip: depends, I can have a look at loops and judge :) | 17:50 |
| fijal | new array should not be there ;-) | 17:50 |
| mattip | I mean, an axis op is very similar to a slice. | 17:50 |
| fijal | arigato: I have to go now for a bit | 17:50 |
| fijal | arigato: I'm not done with module/pypyjit, but do you like the interface more? | 17:50 |
| mattip | OK, I'll try to get rid of that later,. | 17:50 |
| fijal | mattip: I can help | 17:50 |
| fijal | mattip: just not right now | 17:51 |
| lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) left irc: Read error: Operation timed out | 17:51 | |
| mattip | OK, when I get fed up I will hg push it and you can have a look. | 17:52 |
| fijal | mattip: it's not trivial took me quite a few turnarounds to do that for the current multidim | 17:52 |
| mattip | Probably ~4-5 hours. | 17:52 |
| fijal | how 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 Quit | 18: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.in | 18:06 | |
| Nick change: alexsuraci` -> alexsuraci | 18: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: bye | 18: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 seconds | 18:19 | |
| arigato | fijal: looks good | 18:22 |
| cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) left irc: Quit: Leaving | 18:26 | |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 252 seconds | 18: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: etrepum | 18: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 seconds | 18:55 | |
| fermianyon (~lane@wan-217-185.usouthal.edu) joined #pypy. | 18:57 | |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 18:57 | |
| fijal | arigato: I'll fix it run buildbots and merge it then | 19: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 connection | 19:03 | |
| Taggnostr (~quassel@host224-64-dynamic.116-80-r.retail.telecomitalia.it) left irc: Ping timeout: 260 seconds | 19:03 | |
| Nick change: Unhelpful_ -> Unhelpful | 19: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 | |
| vpelletier | hi. are cProfile results reliable under pypy ? | 19:12 |
| vpelletier | I was susprised to see it working, and to a quick read the results show coherent timings | 19:12 |
| zain (~textual@66.175.91.194) joined #pypy. | 19:12 | |
| fijal | sorta | 19:13 |
| vpelletier | but 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 |
| vpelletier | especially the "release" part, actually... I expected the thread which calls acquire to be lock-bound | 19:16 |
| vpelletier | interested 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 host | 19:17 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 19:17 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Read error: Connection reset by peer | 19:17 | |
| vpelletier | ah, 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 |
| vpelletier | actual code is here: https://github.com/vpelletier/ITI1480A-linux/blob/master/iti1480a/parser.py#L15 | 19: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 peer | 19:24 | |
| vpelletier | ah, and profiling under pypy takes 6s on the dataset which takes 38s to CPython... | 19:24 |
| vpelletier | 4s/27s without profiling | 19:26 |
| fijal | vpelletier: profiling can have a different overhead (higher) on pypy | 19:29 |
| fijal | that's cool anyway | 19:29 |
| fijal | lock/release might not be optimal at all :/ | 19:29 |
| fijal | feel free to submit bugs | 19:29 |
| vpelletier | I prefer a higher overhead of 2s than a lower overhead of 11s ;) | 19:30 |
| fijal | that' | 19:30 |
| vpelletier | I'll take a lucky peek at the code, just ni case | 19:30 |
| fijal | s profiling overhead :) you should not be too worried | 19:30 |
| fijal | vpelletier: we should look into traces with threads, it's just that none of us uses threads | 19:31 |
| fijal | and inadverently we optimize for stuff we use or we think we might use | 19:31 |
| vpelletier | I'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 :p | 19:32 |
| vpelletier | of course, and I do the same | 19:32 |
| vpelletier | btw, 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 with | 19:33 |
| fijal | I'm not judging you :) | 19:34 |
| vpelletier | mmh... any web interface to pypy mercurial ? | 19:34 |
| vpelletier | gah, it's available directly at the "hg clone ..." url | 19:35 |
| fijal | yes :) | 19:36 |
| fijal | it's bitbucket | 19:36 |
| vpelletier | I'm too used to "this url for clone, that for web interface" | 19:36 |
| fijal | what are you looking for? | 19:36 |
| vpelletier | the lock thing | 19:36 |
| fijal | directory structure might be nontrivial | 19:36 |
| fijal | you mean how it is implemented? | 19:36 |
| vpelletier | yes | 19:36 |
| fijal | or how it is compiled to assembler? | 19:36 |
| fijal | pypy/module/thread/... | 19:36 |
| fijal | interp_lock.py probably | 19:36 |
| vpelletier | well... not sure then :) | 19:36 |
| fijal | ll_thread.py | 19:36 |
| fijal | and os_thread.py | 19:36 |
| vpelletier | thanks | 19:37 |
| fijal | I can tell you upfront why it's not implemented efficiently :) | 19:38 |
| fijal | if you're interested | 19:38 |
| vpelletier | I am | 19:38 |
| fijal | I would suggest having a clone and telling me when it's done though | 19:38 |
| vpelletier | hop, cloning | 19:38 |
| mat^2 (~mathias@212.130.113.35) left irc: Ping timeout: 240 seconds | 19:39 | |
| Action: vpelletier wonders what's so obvious about the implementation... | 19:43 | |
| fijal | I can't tell you upfront because it's obvious | 19:43 |
| zk (~is@whatit.is) left irc: Quit: Lost terminal | 19:43 | |
| fijal | only because I happen to know | 19:43 |
| vpelletier | all 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 |
| vpelletier | still cloning, 530kB/s | 19:45 |
| vpelletier | gah, and as I said that... done | 19:45 |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy. | 19:46 | |
| fijal | I think this is irrelevant becomes as it's compiled to C it gets optimized | 19:46 |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 240 seconds | 19:46 | |
| vpelletier | I guess so. At least, that's what I would expect from compiled python. | 19:47 |
| fijal | vpelletier: the problem is it is implemented in C and as such can't be inlined by the JIT | 19:48 |
| fijal | nor optimizations can be performed | 19:48 |
| fijal | you could move parts of it to RPython | 19:48 |
| fijal | and maybe even add soem specialcasing to the JIT | 19:48 |
| fijal | that would make things faster | 19:48 |
| vpelletier | I'm reading the "how to build" page, and I wonder if there is any option equivalent to make's "-j" | 19:51 |
| vpelletier | 6 cores waiting to crunch code here :] | 19:51 |
| fijal | no :/ | 19:52 |
| fijal | unfortunately | 19:52 |
| espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy. | 19:53 | |
| exarkun | join #mailman | 19:54 |
| exarkun | oops | 19:54 |
| fijal | exarkun: are you trying to make mailman work on pypy by chance? | 19:55 |
| fijal | vpelletier: why do you want to build it? | 19:56 |
| exarkun | fijal: no sorry :/ | 19:56 |
| fijal | vpelletier: that's the first issue newcomers face - building is long and tedious, but you don't need to do it for most stuff | 19:56 |
| lesshaste (~lesshaste@87-194-206-189.bethere.co.uk) joined #pypy. | 19:59 | |
| vpelletier | fijal: in case I can figure out anything to do while it builds | 19:59 |
| lesshaste | hi all | 19:59 |
| vpelletier | ...and to see the mandelbrot | 19:59 |
| fijal | lesshaste: hi | 19:59 |
| vpelletier | to my surprise, the mandelbrot is not a lie | 19:59 |
| lesshaste | fijal: how are things? | 19:59 |
| fijal | lesshaste: things are great | 20:00 |
| fijal | lesshaste: the swell should come and wind stop if you ask me, but other than that fine | 20:00 |
| lesshaste | great :) | 20:00 |
| lesshaste | where are you? If you don't mind my asking? | 20:00 |
| lesshaste | to within 500 miles :) | 20:00 |
| fijal | Cape Town, RSA | 20:00 |
| fijal | within 5 miles at least :) | 20:01 |
| lesshaste | aha | 20:01 |
| lesshaste | very nice | 20:01 |
| lesshaste | I went there once | 20:01 |
| fijal | how was it? | 20:01 |
| lesshaste | it was great! | 20:01 |
| fermianyon (~lane@wan-217-185.usouthal.edu) left irc: Ping timeout: 252 seconds | 20: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 host | 20:02 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 20:02 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Disconnected by services | 20:05 | |
| nedbat_ (~nedbat@python/psf/nedbat) joined #pypy. | 20:05 | |
| squiddy (~squiddy@f053084228.adsl.alicedsl.de) left irc: Remote host closed the connection | 20:15 | |
| squiddy (~squiddy@f053084228.adsl.alicedsl.de) joined #pypy. | 20:15 | |
| vpelletier | fijal: 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 |
| vpelletier | or I'm still missing somethinf (which loops to my understanding level...) | 20:17 |
| vpelletier | something* | 20:18 |
| vpelletier | at 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 peer | 20: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 connection | 20:20 | |
| etrepum (~bob@accessnat4.mochimedia.net) joined #pypy. | 20:20 | |
| fijal | vpelletier: GIL does not have to be *that* efficient | 20:21 |
| vpelletier | ah ? 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_Gaynor | Yes, all these lock calls release the GIL | 20:23 |
| vpelletier | or 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 out | 20:25 | |
| arigato | it's optimized in the sense that the GIL, as a lock, is built only when we start the first thread | 20:27 |
| arigato | as long as it is not built, it's just a check "== NULL" | 20:27 |
| arigato | and so we have nothing to acquire or release | 20:28 |
| vpelletier | ok | 20:28 |
| Alex_Gaynor | arigato: ah, then I suppose the calls do not need RANDOM_EFFECTS if it's known the GIL isn't alive | 20: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 |
| arigato | Alex_Gaynor: but only if it doesn't invoke callbacks | 20:29 |
| Alex_Gaynor | (stupid callbacks) | 20:29 |
| fijal | we know what involves callbacks | 20:30 |
| fijal | but also, we already invalidate stuff on the first thread | 20:30 |
| arigato | yes, that's all kind-of doable | 20:30 |
| fijal | so why bother | 20:30 |
| arigato | fijal: we don't explicitly | 20:30 |
| fijal | no of course not :) | 20:30 |
| fijal | but we invalidate every single loop | 20:30 |
| arigato | it just so happens that all loops end with code that is invalidated at the first thread | 20:30 |
| arigato | but that's not enough | 20:30 |
| arigato | we can still happily run the rest of a loop once | 20:31 |
| fijal | :] | 20:32 |
| fijal | ok ok | 20:32 |
| arigato | moreover it would be fragile, e.g. it would crash if we add an optimization like | 20:32 |
| fijal | I 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 |
| arigato | no, I'm arguing for "let's avoid fragile magic and rare bugs" sake :-) | 20:33 |
| fijal | :] | 20:33 |
| fijal | yes, we need volatile fields for that | 20:34 |
| arigato | and even more so, for fragile bugs in case of threads, which is not the most well-tested part | 20:34 |
| arigato | no, I'm saying that it would be ok to just kill the getfield_raw magic if we are sure that the loop is short-running | 20:34 |
| arigato | (somehow) | 20:35 |
| fijal | most of the times it would be ok to kill the entire loop.... | 20:35 |
| arigato | no | 20:35 |
| fijal | since you very quickly run out of idea how "short" the loop is running | 20:35 |
| arigato | I'm thinking about "for i in range(3):..." | 20:35 |
| fijal | you need to check operations | 20:35 |
| fijal | to not contain random calls for example | 20:36 |
| fijal | I doubt that would be a useful optimization | 20:36 |
| fijal | more useful would be to unroll for i in range(3).... | 20:36 |
| arigato | :-) | 20:36 |
| Alex_Gaynor | heh, fijal beat me to it | 20:36 |
| fijal | we can already do this btw | 20:36 |
| fijal | we have constantness in the frontend | 20:36 |
| Alex_Gaynor | fijal: constantness of *what* | 20:37 |
| fijal | so "if it's constant and small, unroll few jit_merge_points" | 20:37 |
| Alex_Gaynor | how does the JIT compute the number of iterations a loop has? | 20:37 |
| fijal | of course it opens a huge can of workms | 20:37 |
| fijal | Alex_Gaynor: you're tracing the outer loop, not the inner | 20:37 |
| Alex_Gaynor | Right | 20:37 |
| fijal | anyway | 20:37 |
| Alex_Gaynor | I understand, I'm saying given that, how does the metainterp know the number of iterations in the inner loop? | 20:37 |
| fijal | Alex_Gaynor: you don't call assembler, you keep tracing | 20:38 |
| arigato | it's not needed in the metainterp | 20:38 |
| Alex_Gaynor | fijal: yes, but how does the metainterp know to do that? | 20:38 |
| kenaan | 12mattip numpypy-axisops 110722e568f060 15/pypy/module/micronumpy/: zjit improvement | 20:38 |
| arigato | it can in theory be done purely in module/pypyjit | 20:38 |
| fijal | arigato: that would not work | 20:38 |
| fijal | because range can change | 20:38 |
| fijal | (for example) | 20:38 |
| arigato | you just don't call jitdriver.jit_merge_point() if you're in a small loop | 20:38 |
| fijal | Alex_Gaynor: it already has support for that | 20:38 |
| Alex_Gaynor | but how do you know *if* you should do so? | 20:39 |
| arigato | can't you use rlib.jit.is_constant()? | 20:39 |
| fijal | if you find out loop argument to be constant | 20:39 |
| Alex_Gaynor | *what* is constastant? | 20:39 |
| fijal | number of loop iterations | 20:39 |
| Alex_Gaynor | how do you get them though | 20:39 |
| arigato | like "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 |
| arigato | you can write this in module/pypyjit | 20:40 |
| arigato | (hackish but you can) | 20:40 |
| Alex_Gaynor | you'll never unroll a while loop then :/ | 20:40 |
| arigato | yes | 20:41 |
| arigato | that was just an idea, I know it's not really perfect | 20:41 |
| mattip | fijal: ping me when you can take a look at commit ^^^^ | 20:41 |
| Alex_Gaynor | right, 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 | |
| arigato | much harder :-( | 20:44 |
| Action: vpelletier got lost | 20:45 | |
| `fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 244 seconds | 20:45 | |
| Trundle (~andy@82.113.106.236) joined #pypy. | 20:46 | |
| Trundle (~andy@82.113.106.236) left irc: Changing host | 20:46 | |
| Trundle (~andy@python/site-packages/trundle) joined #pypy. | 20:46 | |
| vpelletier | I guess it would be easier for me to just make ply usable on incomplete input than hacking pypy :] | 20:46 |
| Alex_Gaynor | arigato: 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 so | 20:47 |
| Alex_Gaynor | s/automatically/manually/ | 20:47 |
| Action: Alex_Gaynor should probably be productive instead of random speculation | 20:47 | |
| arigato | :-) | 20:47 |
| Alex_Gaynor | arigato: did fijal deal with all of your review notes? (aka should I finally review it myself) | 20:48 |
| arigato | :-) | 20:49 |
| arigato | I'm not sure :-) | 20:49 |
| fijal | I'm finishing | 20:49 |
| squiddy (~squiddy@f053084228.adsl.alicedsl.de) left irc: Quit: Leaving | 20:50 | |
| Alex_Gaynor | ok, I'll get lunc then | 20: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: Leaving | 20:56 | |
| fijal | Alex_Gaynor: ok, now | 21:06 |
| fijal | Alex_Gaynor: feel free to kick buildbots btw | 21:06 |
| fijal | and I gonna sleep probably | 21:06 |
| kenaan | 12fijal better-jit-hooks 11aed03c7eb163 15/pypy/: update the interface on the pypyjit side | 21:06 |
| fijal | Alex_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 seconds | 21:16 | |
| CIA-17 | 03stefanor 07roundup * 10#992/Manpage: | 21:21 |
| CIA-17 | [new] Debian likes having manpages for everything. Here's a very simple manpage (in | 21:21 |
| CIA-17 | RST, docutils can generate the troff manpage), if you are in ... * 14https://bugs.pypy.org/issue992 | 21: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 seconds | 21:33 | |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Quit: craigkerstiens | 21: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 seconds | 21:42 | |
| andrewfr (~andrew@modemcable211.101-70-69.static.videotron.ca) joined #pypy. | 21:45 | |
| Nick change: nedbat_ -> nedbat | 21:45 | |
| arigato (~arigo@adsl-89-217-237-16.adslplus.ch) left irc: Quit: See you | 21:46 | |
| andrewfr (~andrew@modemcable211.101-70-69.static.videotron.ca) left irc: Client Quit | 21:48 | |
| lesshaste | fijal: what's your current thinking about how to deal with scipy? | 21:58 |
| lesshaste | for when pypy takes over the world :) | 21:58 |
| fijal | lesshaste: as I wrote on my blog post with matplotlib hacks | 21:58 |
| lesshaste | fijal: hmm.. interesting.. so maybe I should have had the conversation about R with you :) | 22:00 |
| fijal | yes? | 22:00 |
| lesshaste | fijal: My plan for 2012 (i.e. not now) is to start an R+pypy project | 22:00 |
| lesshaste | fijal: one of the problems is that R has 700 primitive functions | 22:01 |
| fijal | that's not that many | 22:01 |
| fijal | lesshaste: probably a lot of what we do in numpy is reusable | 22:01 |
| lesshaste | and given the man power, it seems unlikely that I will be able to reimplement all of them brilliantly and instantly | 22:01 |
| lesshaste | true | 22:01 |
| lesshaste | it also has squillions of external libraries | 22:01 |
| fijal | the general idea is - arrays have C pointers | 22:01 |
| lesshaste | which need to be usable or no one will use R + pypy | 22:02 |
| fijal | and it's relatively easy to call external C functions on those | 22:02 |
| lesshaste | got you | 22:02 |
| lesshaste | what's your view on rffi? | 22:02 |
| lesshaste | R 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 fast | 22:03 |
| lesshaste | hence the many hacky speedups currently available | 22:03 |
| dmalcolm_ (david@nat/redhat/x-sjyoqglgtnkprscw) joined #pypy. | 22:04 | |
| fijal | is it dog slow? | 22:05 |
| fijal | oh wow | 22:05 |
| fijal | rffi is what you use if you want to call C from RPython | 22:05 |
| fijal | works quite fine | 22:05 |
| vpelletier | fijal: would you mind reviewing the bug entry I intend to open for what we discussed earlier ? | 22:06 |
| fijal | vpelletier: yes, fine, although while it's interesting to have it, I would not expect anyone to work on it soon | 22:06 |
| fijal | but hey, I only control my time (barely) | 22:06 |
| lesshaste | fijal: yes.. there are some examples online http://darrenjw.wordpress.com/2010/04/28/mcmc-programming-in-r-python-java-and-c/ | 22:06 |
| lesshaste | for example | 22:06 |
| fijal | lesshaste: ok | 22:07 |
| fijal | lesshaste: well, cool | 22:07 |
| fijal | I think R is a good target then and can be quite fast on pypy | 22:07 |
| vpelletier | fijal: I tried to make is as complete as possible... so it's quite long :) | 22:07 |
| fijal | but you should totally cooperate on numpy | 22:07 |
| fijal | vpelletier: paste.pocoo.org? | 22:07 |
| lesshaste | fijal: is rffi a sensible way to call sections of R that I haven't reimplemented in rpython yet | 22:07 |
| vpelletier | fijal: http://pastebin.com/pBc3Eq4N | 22:07 |
| fijal | lesshaste: if it has a clear C interface then yes | 22:07 |
| lesshaste | fijal: ok thanks | 22:07 |
| dmalcolm (david@nat/redhat/x-idrjdcmxwbbjxyvb) left irc: Ping timeout: 260 seconds | 22:08 | |
| bbot2 (~bbot2@wyvern.cs.uni-duesseldorf.de) joined #pypy. | 22:08 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1188 [12fijal, better-jit-hooks] | 22:08 |
| fijal | lesshaste: so say if R has a function that accepts an array or two, it's fine | 22:08 |
| fijal | but if it has a function that accepts RObject*, unlikely | 22:09 |
| lesshaste | got you | 22:09 |
| lesshaste | it has embedded C++ | 22:09 |
| lesshaste | so I assume it can pass arrays ;) | 22:09 |
| lesshaste | butI should check | 22:09 |
| fijal | vpelletier: you should probably measure with queue.queue (although I'm unsure) | 22:09 |
| vpelletier | fijal: ok, should be fast (I implemented a compatible interface for what I use) | 22:10 |
| fijal | vpelletier: for what is worth, the cProfile measures wall time | 22:10 |
| fijal | so if you have a thread that waits on acquire, it would be accounted there | 22:10 |
| fijal | right? | 22:10 |
| fijal | yeah you acknowledge that | 22:11 |
| vpelletier | yup | 22:11 |
| fijal | vpelletier: that's a very quality bug report :) | 22:11 |
| vpelletier | heh, thanks :) | 22:11 |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 252 seconds | 22:11 | |
| vpelletier | I wondered if it was just too verbose :) | 22:12 |
| fijal | there is no such thing | 22:12 |
| fijal | at least not common | 22:12 |
| fijal | vpelletier: ok, I have a simple change that might improve the situation but might also make a translation explode | 22:12 |
| fijal | let me check | 22:12 |
| vpelletier | hahaha, Queue.Queue profiled under pypy: 34s | 22:14 |
| fijal | :/ | 22:14 |
| vpelletier | now I have Lock.acquire taking 20s on *each* thread | 22:15 |
| fijal | not good if you ask me ;-) | 22:15 |
| vpelletier | which is the symptom which made me think there is something bad in Queue.Queue | 22:15 |
| vpelletier | yeah | 22:15 |
| fijal | seems so :) | 22:15 |
| vpelletier | well, I understand why this happens (Queue allows checking if it's empty/full, so it needs extra locking) | 22:15 |
| fijal | add this to the blog post | 22:15 |
| kenaan | 12fijal look-into-thread 11283df4b51997 15/pypy/module/pypyjit/policy.py: a test - look into thread module | 22:15 |
| fijal | just please don't post times under profiler | 22:16 |
| vpelletier | you mean, pypy + Queue without cProfile ? or also pypy + my implementation without cProfile (and maybe with cPython) ? | 22:17 |
| fijal | generally if you post times, post without cProfile | 22:18 |
| fijal | for pypy at least | 22:19 |
| vpelletier | eh... without cProfile, Queue is at 4.341 and my implementation at 4.080, both with pypy | 22:19 |
| vpelletier | ok | 22:19 |
| fijal | I can show you examples wehre pypy is >2x slower with cProfile | 22:19 |
| fijal | here we go anyway, you can too :) | 22:19 |
| fijal | while we try to make cProfile results representative, we don't try to make cProfile fast | 22:19 |
| fijal | so the ratio is more important than actual speed | 22:19 |
| vpelletier | ah, 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 |
| vpelletier | indeed | 22:20 |
| vpelletier | and my measures were intended to be read as a ratio | 22:20 |
| fijal | so for example comparing algo 1 and algo 2 using cProfile is not a good idea | 22:21 |
| vpelletier | and also to compare what cProfile says with what "time" says, in case there is an obvious error | 22:21 |
| vpelletier | ok | 22:21 |
| kenaan | 12boemmels lang-scheme 112f84a6d52477 15/scheme/procedure.py: Implement not function | 22:22 |
| kenaan | 12boemmels lang-scheme 1182753c10ee59 15/scheme/: Implement all numerical comparisions (< <= > >=) | 22:22 |
| kenaan | 12boemmels lang-scheme 1119a17e0790e6 15/scheme/: Implement Assoc*-functions | 22:22 |
| kenaan | 12boemmels lang-scheme 11d254d5ae04cf 15/scheme/: Implement 'cadr' and friends (all 28 versions) | 22:22 |
| kenaan | 12boemmels lang-scheme 11a93db4dbd6b0 15/scheme/: Implement member & friends | 22:22 |
| kenaan | 12boemmels lang-scheme 11046b82d2ef4c 15/scheme/: Stubbing of case, basic tests work | 22:23 |
| kenaan | 12boemmels lang-scheme 112f31b68cba35 15/scheme/: Bugfix, apply evaluated it's argument twice. | 22:23 |
| CIA-17 | 03fijal 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-17 | jit v1=12,v2=13 btw * 14https://bugs.pypy.org/issue992 | 22:23 |
| fijal | hm | 22:23 |
| fijal | so what is bit.ly innovating btw? | 22:23 |
| zk (~is@whatit.is) joined #pypy. | 22:26 | |
| vpelletier | fijal: ? | 22:26 |
| Alex_Gaynor | fijal: their analytics is apparently quite good | 22:27 |
| fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) joined #pypy. | 22:27 | |
| fijal | Alex_Gaynor: and that's it? | 22:29 |
| Alex_Gaynor | fijal: 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: Leaving | 22:29 | |
| fijal | I'm trying to investigate why hmason is visiting whitehouse | 22:29 |
| fijal | Alex_Gaynor: my code is compiling | 22:30 |
| kenaan | 12fijal default 113c58c0bd8803 15/pypy/rlib/jit.py: document JIT parameters | 22:30 |
| kenaan | 12fijal default 115f4b16c8ec98 15/pypy/: merge | 22:30 |
| exarkun | fijal: you don't have to innovate to do that, you just have to give some money | 22:30 |
| CIA-17 | 03vpelletier 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 compared | 22:30 |
| CIA-17 | to cPython 2.7. pypy is at least 4 times faster. So far, s ... * 14https://bugs.pypy.org/issue993 | 22:30 |
| fijal | exarkun: ah ok | 22:32 |
| fijal | So great to have #innovators @hmason @dcconcierge @zsims @mckeefloyd @ginatrapani @ciberch at the @whitehouse today | 22:32 |
| fijal | I guess this is a tweet I'm referring to | 22:32 |
| vpelletier | fijal: 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 |
| fijal | tumbleweed: ^^^^ | 22:34 |
| kenaan | 12fijal default 11d16e4f017733 15/pypy/translator/goal/app_main.py: include some actually useful info in --help | 22:35 |
| tumbleweed | fijal: yeah, saw that, thanks. I'll update it in the morning | 22:35 |
| Action: tumbleweed -> bed | 22:35 | |
| fijal | good point, --help should improve till morning :) | 22:35 |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 22:36 | |
| fijal | Alex_Gaynor: what they're selling? data? | 22:36 |
| fijal | analytics? | 22:36 |
| Alex_Gaynor | no idea | 22:37 |
| fijal | they have a company | 22:37 |
| fijal | that is hiring | 22:37 |
| fijal | crazy for a URL shortener if you ask me | 22:37 |
| Alex_Gaynor | I think they're making money so good for them I guess | 22:38 |
| fijal | I guess | 22:38 |
| fijal | crazy | 22:38 |
| kenaan | 12alex_gaynor better-jit-hooks 119e69f381ba7e 15/: merged default | 22:38 |
| Alex_Gaynor | fijal: branch looks ok I guess, except I'm really confused about boxes, what is exposed? | 22:38 |
| vpelletier | fijal: thanks for the quick dive in pypy code, and the ticket review. good night | 22:38 |
| kenaan | 12alex_gaynor better-jit-hooks 1166f1a9fb79c9 15/pypy/module/pypyjit/interp_resop.py: typo fix | 22:38 |
| fijal | Alex_Gaynor: on applevel or using jit_hooks API? | 22:38 |
| Alex_Gaynor | fijal: applevel | 22:39 |
| Alex_Gaynor | it looks like you can only create ConstantInt boxes? | 22:39 |
| fijal | Alex_Gaynor: can you remove REVIEW.rst then? | 22:39 |
| fijal | BoxInt boxes | 22:39 |
| vpelletier (~vincent@ALille-154-1-41-182.w86-198.abo.wanadoo.fr) left irc: Quit: Zzz | 22:39 | |
| fijal | you can't create ConstInt boxes yet | 22:39 |
| fijal | it's incomplete | 22:39 |
| fijal | whatever is tested is supported :) | 22:39 |
| fijal | so all the ops in that test | 22:39 |
| Alex_Gaynor | what is the argument to BoxInt even? | 22:39 |
| kenaan | 12alex_gaynor better-jit-hooks 116a26fcde567b 15/REVIEW.rst: remove dead file | 22:39 |
| fijal | Alex_Gaynor: int | 22:39 |
| Alex_Gaynor | BoxInt(3) -> i3? | 22:39 |
| fijal | yeah | 22:39 |
| fijal | except BoxInt has no __repr__yet | 22:40 |
| fijal | yeah, it does require improvements | 22:40 |
| fijal | but I kiind of run out of steam and it's boring | 22:40 |
| fijal | maybe you can automate this stuff | 22:40 |
| fijal | but automatic sounds a bit too exciting :) | 22:40 |
| Alex_Gaynor | ok, can you please do DebugMergePoint, at least for python jitdriver? | 22:40 |
| Alex_Gaynor | otherwise it's kind of a regression | 22:40 |
| fijal | as in put real args in keys? | 22:40 |
| fijal | in args | 22:40 |
| Alex_Gaynor | put it on a special sublass with attributes IMO, but whatever | 22:41 |
| fijal | oh ok | 22:44 |
| fijal | a regression mostly comes from a fact that now we can have different DMPs | 22:44 |
| fijal | so it no longer makes sense to do it for all of them | 22:44 |
| fijal | but yeah | 22:44 |
| Alex_Gaynor | sure | 22:44 |
| kenaan | 12fijal look-into-thread 11d2fe92d73a1f 15/pypy/module/thread/ll_thread.py: don't look into those llops | 22:47 |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 240 seconds | 22:48 | |
| Arach (~arach@128-75-174-161.broadband.corbina.ru) left irc: Quit: bye | 22:54 | |
| kenaan | 12alex_gaynor default 11409a8b279f54 15/pypy/module/micronumpy/: stylistic cleanups | 22:55 |
| lesshaste (~lesshaste@87-194-206-189.bethere.co.uk) left irc: Quit: Leaving | 22: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 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/199 | 23:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/771 | 23:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/1008 | 23:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/27 | 23:00 |
| dmalcolm_ (david@nat/redhat/x-sjyoqglgtnkprscw) left irc: Read error: Connection reset by peer | 23: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 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1918 [12fijal, better-jit-hooks] | 23:05 |
| fijal | crash | 23:05 |
| kenaan | 12mattip numpypy-axisops 11e00f14813b9e 15/pypy/module/micronumpy/: test for sum_promote fails miserably, signature.dtype is not arr.dtype | 23:05 |
| mattip | I'm unhappy too. | 23:06 |
| mattip | major screwup when calc_dtype is not arr.dtype | 23:06 |
| mattip | too tired to fix this. | 23:07 |
| fenrrir (~rodrigo@189.70.230.136) joined #pypy. | 23:07 | |
| fijal | :/ | 23:08 |
| mattip | I tried asserting if the signature and arr dtype were different in call to signature._add_ptr_to_cache | 23:09 |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 276 seconds | 23:09 | |
| mattip | but that broke all kinds of things. | 23:10 |
| fijal | mattip: sorry, I'll look tomorrow maybe? | 23:10 |
| fijal | mattip: I'm about to sleep (and too tired to tackle a hard problem) | 23:10 |
| fijal | arr.dtype can't be different than signature.dtype btw | 23:10 |
| mattip | OK, I'm just rambling/complaining/recording my thoughts so I can read them when I'm more awake. | 23:10 |
| fijal | ok :) | 23:11 |
| fijal | but yeah, dtype should agree | 23: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: Leaving | 23:25 | |
| fijal | AttributeError: type object 'BlackholeInterpreter' has no attribute 'bhimpl_gc_add_memory_pressure' | 23:25 |
| fijal | Alex_Gaynor: feel like fixing by chance? | 23:26 |
| Alex_Gaynor | fijal: not especially | 23:26 |
| Alex_Gaynor | I'm tired :/ | 23:26 |
| fijal | ok | 23:26 |
| fijal | I'll do it some other day | 23:26 |
| fijal | I'm looking into inlining thread | 23:26 |
| bbot2 | 4Failure: 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 peer | 23:38 | |
| stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) joined #pypy. | 23:39 | |
| whitelynx|work (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat | 23: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: Leaving | 23:50 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/27 | 23:53 |
| --- Tue Jan 10 2012 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!