| stakkars_ (~tismer@82.113.121.104) left irc: Ping timeout: 244 seconds | 00:18 | |
| tito (~tito@pdpc/supporter/active/tito) left irc: Quit: leaving | 00:29 | |
| tito_ (~tito@178.73.217.93) joined #pypy. | 00:29 | |
| Nick change: tito_ -> tito | 00:29 | |
| tito (~tito@178.73.217.93) left irc: Changing host | 00:29 | |
| tito (~tito@pdpc/supporter/active/tito) joined #pypy. | 00:29 | |
| rekamso (~textual@67.51.82.66) left irc: Quit: derp | 00:29 | |
| etrepum_ (~bob@accessnat4.mochimedia.net) joined #pypy. | 00:34 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1482 [12amaury, py3k] | 00:36 |
|---|---|---|
| etrepum (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 252 seconds | 00:36 | |
| etrepum_ (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 240 seconds | 00:38 | |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 00:47 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/7 | 01:04 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/751 | 01:16 |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection | 01:27 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1895 | 01:30 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/642 | 01:30 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/312 | 01:30 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/650 | 01:30 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1167 | 01:30 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/834 | 01:30 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/298 | 01:30 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1483 | 01:30 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/758 | 01:30 |
| ericflo (~ericflo@75.103.8.110) left irc: Quit: ericflo | 01:57 | |
| voidspace (~anonymous@python/psf/voidspace) left irc: Quit: voidspace | 02:01 | |
| zain (~textual@c-67-160-201-63.hsd1.ca.comcast.net) left irc: Quit: Textual IRC Client: http://www.textualapp.com/ | 02:03 | |
| zain (~textual@c-67-160-201-63.hsd1.ca.comcast.net) joined #pypy. | 02:06 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) joined #pypy. | 02:06 | |
| bbot2 | 4Finished ??: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/298 | 02:10 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/299 | 02:14 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/987 | 02:17 |
| bbot2 | 4Finished ??: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/299 | 02:21 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/300 | 02:23 |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 02:26 | |
| Rhyolite (~dje@pool-108-6-25-71.nycmny.fios.verizon.net) joined #pypy. | 02:30 | |
| Ademan (~dan@adsl-71-141-224-79.dsl.snfc21.pacbell.net) joined #pypy. | 02:30 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy. | 02:33 | |
| bbot2 | 4Finished ??: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/300 | 02:44 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/301 | 02:44 |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy. | 02:44 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum | 02:46 | |
| dracman (~draco@212.255.46.27) left irc: Ping timeout: 252 seconds | 02:49 | |
| dracman (~draco@212.255.40.253) joined #pypy. | 02:55 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy. | 02:59 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Client Quit | 03:02 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Remote host closed the connection | 03:08 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy. | 03:10 | |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 252 seconds | 03:17 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 276 seconds | 03:51 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/178 | 03:59 |
| _habnabit (~habnabit@python/site-packages/habnabit) left irc: Quit: ZNC - http://znc.sourceforge.net | 04:01 | |
| nettok (~quassel@200.119.152.93) joined #pypy. | 04:04 | |
| _habnabit (~habnabit@2001:470:1f0e:bdd::2) joined #pypy. | 04:05 | |
| _habnabit (~habnabit@2001:470:1f0e:bdd::2) left irc: Excess Flood | 04:05 | |
| _habnabit (~habnabit@2001:470:1f0e:bdd::2) joined #pypy. | 04:06 | |
| espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy. | 04:09 | |
| _habnabit (~habnabit@2001:470:1f0e:bdd::2) left irc: Client Quit | 04:10 | |
| _habnabit (~habnabit@2001:470:1f0e:bdd::2) joined #pypy. | 04:11 | |
| _habnabit (~habnabit@2001:470:1f0e:bdd::2) left irc: Changing host | 04:11 | |
| _habnabit (~habnabit@python/site-packages/habnabit) joined #pypy. | 04:11 | |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 255 seconds | 04:14 | |
| nettok (~quassel@200.119.152.93) left irc: Remote host closed the connection | 04:18 | |
| nettok (~quassel@200.119.152.93) joined #pypy. | 04:19 | |
| YellowOnion (~huh@2406:e000:61d1:0:1572:1353:2179:283b) joined #pypy. | 04:21 | |
| espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy. | 04:25 | |
| kenaan | 12alex_gaynor default 11d84a162addff 15/pypy/objspace/std/stringobject.py: fix backwards logic | 04:25 |
| bbot2 | 13Exception: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/301 | 04:26 |
| asmeurer__ (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) joined #pypy. | 04:30 | |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 240 seconds | 04:31 | |
| nettok (~quassel@200.119.152.93) left irc: Remote host closed the connection | 04:38 | |
| espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy. | 04:38 | |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 252 seconds | 04:43 | |
| espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy. | 04:52 | |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Ping timeout: 240 seconds | 04:58 | |
| anish_ (anish@nat/redhat/x-toyivvikwpkrmeie) joined #pypy. | 04:59 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1895 | 05:01 |
| mattip (2e745f68@gateway/web/freenode/ip.46.116.95.104) joined #pypy. | 05:26 | |
| mattip | one for the logs: | 05:33 |
| mattip | I added a windows buildbot, but neglected to provide sqlite3.dll | 05:34 |
| mattip | Two interesting things happened. | 05:34 |
| mattip | Build failed in step 10 compress, but then went on to step 11 upload | 05:35 |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy. | 05:36 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host | 05:36 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 05:36 | |
| mattip | And now on nightly downloads, the latest win32 build has size 0 | 05:36 |
| mattip | ;( | 05:36 |
| mattip | It also seems bigboard's windows build is waiting for someone to click "OK" on the error dialog box. | 05:38 |
| mattip | since that build started before my latest patch which should prevent that dialog box from opening | 05:38 |
| mattip (2e745f68@gateway/web/freenode/ip.46.116.95.104) left irc: Quit: Page closed | 05:39 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Ping timeout: 240 seconds | 05:47 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1483 | 06:03 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/834 | 06:06 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1167 | 06:22 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/650 | 06:30 |
| ronny | moin | 06:35 |
| asmeurer__ (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) left irc: Quit: asmeurer__ | 06:40 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/642 | 06:42 |
| mvt (~mvantelli@87.213.45.85) joined #pypy. | 06:57 | |
| espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy. | 07:03 | |
| Nick change: anish_ -> anish_lunch | 07:13 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 07:37 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 07:38 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/758 | 07:43 |
| sunoano (~sa@mail.heartinternet.co.uk) joined #pypy. | 07:52 | |
| sunoano (~sa@mail.heartinternet.co.uk) left irc: Changing host | 07:52 | |
| sunoano (~sa@unaffiliated/sunoano) joined #pypy. | 07:52 | |
| interrupt (~interrupt@220.73.24.227) joined #pypy. | 07:54 | |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) joined #pypy. | 07:55 | |
| bbot2 | 4Finished ??: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/296 | 08:06 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/302 | 08:06 |
| PiotrSikora (~none@nginx/adept/piotrsikora) left irc: Excess Flood | 08:06 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 08:06 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 08:08 | |
| PiotrSikora (~none@nginx/adept/piotrsikora) joined #pypy. | 08:08 | |
| arigato (~arigo@89.204.139.36) joined #pypy. | 08:13 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Ping timeout: 268 seconds | 08:15 | |
| squiddy (~squiddy@g224196060.adsl.alicedsl.de) joined #pypy. | 08:15 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 08:29 | |
| uche (~uche@70-90-116-204-BusName-summit.co.hfc.comcastbusiness.net) left irc: Quit: Leaving... | 08:30 | |
| CIA-53 | 03arigo 07roundup * 10#970/llexternal callbacks: | 08:34 |
| CIA-53 | [new] rffi.llexternal() functions do not support callbacks other than the ones | 08:34 |
| CIA-53 | explicitly listed as functionptr arguments. The problem is that t ... * 14https://bugs.pypy.org/issue970 | 08:34 |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy. | 08:40 | |
| fijal (~fijal@197.169.46.231) joined #pypy. | 08:41 | |
| fijal | hi | 08:43 |
| arigato | hi | 08:43 |
| fijal | arigato: good progress with counter decay & opmalloc | 08:45 |
| fijal | arigato: have you seen mattip tried hard to make dialog boxes disappear | 08:46 |
| ernop (~ernie@114.250.131.107) joined #pypy. | 08:47 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 08:48 | |
| YellowOnion (~huh@2406:e000:61d1:0:1572:1353:2179:283b) left irc: Quit: Leaving | 08:52 | |
| cfbolz_ (~cfbolz@fwstups.cs.uni-duesseldorf.de) left irc: Ping timeout: 240 seconds | 08:54 | |
| Alex_Gaynor | arigato, fijal: Does exception_cannot_occur() mean if you try to catch an exception it won't work? | 08:54 |
| EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) joined #pypy. | 08:55 | |
| fijal | it means annotator would assume this operation can't raise | 08:57 |
| fijal | I think if you try to catch it someone will get confused and tell you annotator & rpython disagree | 08:57 |
| fijal | or something like that | 08:57 |
| Alex_Gaynor | fijal: so if I do try: func_whcih_allegedly_cant_raise() except MemoryError: do_something() will do_something() ever be called? | 08:58 |
| fijal | probably not | 08:58 |
| fijal | either won't be called or annotation will explode | 08:58 |
| Alex_Gaynor | ok so rbuiler.py is wrong | 08:58 |
| Alex_Gaynor | it claims stuff can't raise, but really it can raise MemoryError | 08:58 |
| fijal | so well, change to exception_is_here() | 08:59 |
| Alex_Gaynor | what if I just delete the line? | 08:59 |
| fijal | then it's wrong | 09:02 |
| fijal | because you have to do either exception_is_here or exception_cannot_occur | 09:02 |
| fijal | want to know why? | 09:02 |
| Alex_Gaynor | yes :) | 09:02 |
| fijal | because there are multiple ll operations | 09:03 |
| fijal | and if it can be any of those | 09:03 |
| squiddy (~squiddy@g224196060.adsl.alicedsl.de) left irc: Quit: Leaving | 09:03 | |
| fijal | so it's not completely irrelevant where you put it | 09:03 |
| Alex_Gaynor | ok I'll write some tests then | 09:03 |
| lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) joined #pypy. | 09:04 | |
| G2P (~G2P@fw-asn1.ornis.com) joined #pypy. | 09:10 | |
| arigato | Alex_Gaynor: ah, btw | 09:12 |
| Alex_Gaynor | arigato: yes, I see the tests still aren't passing, I realize I only did one code path, but this rbuilder bug got in the way :) | 09:12 |
| arigato | yes | 09:12 |
| arigato | I was wondering if it makes sense to try hard to turn MemoryError to app-level OverflowError | 09:13 |
| Alex_Gaynor | in general? or just in replace? | 09:13 |
| arigato | just in replace | 09:13 |
| Alex_Gaynor | I'm not sure it's always correct in replace, and we can be smarter in some cases (the replace("", x) case) | 09:13 |
| arigato | the general point being that "except MemoryError" in RPython is kind of fragile anyway | 09:13 |
| Alex_Gaynor | so I'll just do the other case and be done I think | 09:14 |
| Alex_Gaynor | arigato: technically these MemoryErrors are all explicitly raised by rbuilder | 09:14 |
| arigato | yes, I know | 09:14 |
| Alex_Gaynor | for actual allocation errors it's ok to raise MemoryError | 09:14 |
| Alex_Gaynor | (correct evne) | 09:14 |
| arigato | hum | 09:15 |
| arigato | then stringobject.py is wrong? | 09:15 |
| arigato | it turns all MemoryErrors to OverflowError: "replace string too long" | 09:15 |
| Alex_Gaynor | no, pull the latest code | 09:15 |
| arigato | ah :-) | 09:15 |
| arigato | ok | 09:16 |
| arigato | then what is the problem with the stringbuilder? | 09:16 |
| Alex_Gaynor | well, it's impossinle to catch a memoryerror from it, but I guess I don't really need that to fix this | 09:17 |
| arigato | ok, I see | 09:17 |
| arigato | as I said, the issue is more general | 09:17 |
| arigato | "try: x except MemoryError:" does not really work as expected in RPython | 09:17 |
| arigato | basically you can't really rely on *where* the MemoryError is raised | 09:18 |
| arigato | what works is "try: functions_that_do_lot_of_stuff() except MemoryError:" | 09:18 |
| Alex_Gaynor | right, that's why creating applevel MemoryError is in pyopcode | 09:19 |
| arigato | yes, or maybe the other way around: we are fine with the pyopcode organization, so that's why we don't try hard to preserve the correct point of raising | 09:19 |
| arigato | e.g. when JITted, the allocation can occur later | 09:20 |
| fijal | right | 09:20 |
| fijal | mess | 09:20 |
| Alex_Gaynor | yes (btw virtuals are a great way to screw up time.time() based benchmarking :P) | 09:20 |
| arigato | :-) | 09:20 |
| arigato | yes, it's a bit of a mess, but if we know it, then it's fine, I suppose | 09:21 |
| arigato | I don't think it counts as "breaking semantics" of Python :-) | 09:21 |
| Alex_Gaynor | no, I agree it's fine | 09:21 |
| fijal | Alex_Gaynor: how's the new ffi going? | 09:23 |
| Alex_Gaynor | fijal: still writing documentation for it, my plan is to write *all* the docs, then tests, then code | 09:23 |
| Alex_Gaynor | I'll release something by new years I hope | 09:24 |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Textual IRC Client: http://www.textualapp.com/ | 09:25 | |
| fijal | cool | 09:25 |
| fijal | Alex_Gaynor: so I was thinking - how about we optimize copy/setslice with raw memcopy | 09:25 |
| fijal | but not only when it's contiguous | 09:25 |
| fijal | but also when it's contiguous-by-chunks | 09:25 |
| Alex_Gaynor | also when there's contigious chunks | 09:25 |
| Alex_Gaynor | heh | 09:25 |
| fijal | yes :) | 09:26 |
| fijal | I claim it's "good enough" | 09:26 |
| Alex_Gaynor | sounds fine, so give me an "iterate-contigious-chunks" or so | 09:26 |
| fijal | yes, I'll do it | 09:26 |
| Alex_Gaynor | cool | 09:26 |
| Alex_Gaynor | fijal: btw sunspider benchmark is really awful | 09:26 |
| fijal | why? | 09:26 |
| Alex_Gaynor | most of the code is 100% dead | 09:27 |
| lucian | they're all awful to optimise for when it comes to real web apps, with the possible exception of Dromaeo | 09:27 |
| ltratt (~ltratt@87.114.245.164) joined #pypy. | 09:28 | |
| fijal | Alex_Gaynor: they also don't use DOM | 09:28 |
| lucian | fijal: Dromaeo does, but it seems to include everything else too | 09:29 |
| fijal | Alex_Gaynor: I bet we can win on sunspider | 09:30 |
| fijal | by writing some simple dead-loop-removal | 09:30 |
| fijal | or so | 09:30 |
| fijal | it's relatively easy to do | 09:30 |
| fijal | (and super pointless) | 09:30 |
| Alex_Gaynor | of course | 09:30 |
| Alex_Gaynor | how do you handle signal checking | 09:31 |
| Alex_Gaynor | and loop counter | 09:31 |
| arigato | yay, a dead-loop-removal optimization :-) | 09:31 |
| fijal | you precompute loop counter | 09:31 |
| Alex_Gaynor | right, I'm saying how do you perform that analysis :) | 09:31 |
| fijal | and signal checking can't occur if it's dead right? | 09:31 |
| Alex_Gaynor | right | 09:32 |
| Alex_Gaynor | but how do you tell the JIT "this is dead, but only if everything else is dead first" | 09:32 |
| fijal | it's just a very theoretical optimization though | 09:35 |
| fijal | because it's complex and almost entirely pointless | 09:35 |
| Alex_Gaynor | yup :) | 09:35 |
| antocuni | Alex_Gaynor: may I have a look to your ffi thing? :-) | 09:36 |
| Alex_Gaynor | antocuni: I'll push it to a repo tomorrow, bed time for me :) | 09:36 |
| antocuni | ok, thanks | 09:36 |
| Action: arigato observes a mechanical spider in his courtyard: http://www.kleine-boymann.de/Internet/Buehne-SKT/100_1737.html | 09:36 | |
| fijal | :] | 09:37 |
| hruske | nice gadget. | 09:37 |
| fijal (~fijal@197.169.46.231) left irc: Read error: Connection reset by peer | 09:38 | |
| fijal (~fijal@197.175.143.3) joined #pypy. | 09:40 | |
| ltratt | arigato: your hunch about bug 970 appears to be right - with --gcrootfinder=shadowstack there isn't a problem. | 09:41 |
| ltratt | should i update the bug with more details? | 09:42 |
| arigato | yes, it would be nice | 09:42 |
| ltratt | ok, will do | 09:43 |
| arigato | thanks :-) | 09:45 |
| CIA-53 | 03ltratt 07roundup * 10#970/llexternal callbacks: | 09:47 |
| CIA-53 | [chatting] To flesh out Armin's issue, I've stumbled across this in the Converge VM when | 09:47 |
| CIA-53 | using libXML2, when I have to pass pointers to functions ... * 14https://bugs.pypy.org/issue970 | 09:47 |
| fijal (~fijal@197.175.143.3) left irc: Quit: Leaving | 09:50 | |
| fijal (~fijal@197.175.143.3) joined #pypy. | 09:50 | |
| fijal (~fijal@197.175.143.3) left irc: Read error: Connection reset by peer | 09:53 | |
| ltratt | does anyone have any ideas why pypy on Linux might be so much faster relative to python than is the case on OpenBSD? in other words, are there many linux-only optimisations in pypy? | 09:54 |
| ltratt | the RPython Converge VM is 25% faster than the C VM on OpenBSD, but > 100% on Linux! | 09:54 |
| ltratt | pystone on linux is about 5.5x faster than python, but only 4x on openbsd | 09:54 |
| tumbleweed | which distribution and architecture are you looking at? | 09:55 |
| ltratt | on linux: whatever's on tannit | 09:55 |
| ltratt | on openbsd: running -current (i.e. "unstable") on amd64 (i.e. x86_64) | 09:55 |
| xorAxAx | ltratt: yes, there are | 09:55 |
| ltratt | xorAxAx: aha... | 09:56 |
| xorAxAx | ltratt: the memory allocation is faster on linux | 09:56 |
| xorAxAx | because of optimized /dev/zero copies | 09:56 |
| ltratt | how does pypy optimise that? | 09:57 |
| tumbleweed | I know on Ubuntu i386, cpython has about a 15% slowdown due to hardening | 09:57 |
| xorAxAx | ltratt: the kernel optimizes those copies | 09:57 |
| ltratt | but then that will be the same for python and pypy right? | 09:58 |
| ltratt | i'm not comparing linux and openbsd directly. what i'm comparing is python vs. pypy on linux and python vs. pypy on openbsd. | 09:58 |
| ltratt | i expected the performance improvement ratios to be roughly similar | 09:58 |
| ltratt | but the ratios are much higher on linux | 09:58 |
| xorAxAx | ltratt: no, cpython doesnt need/have this optimization | 09:59 |
| ltratt | aha, ok | 09:59 |
| ltratt | can you explain in terms for an idiot (i.e. me) what "optimised /dev/zero copies" means? | 10:00 |
| kenaan | 12hakanardo jit-multilabel 11169a84c26509 15/: hg merge default | 10:00 |
| xorAxAx | ltratt: linux flips only bits in the pagetable when you copy n bytes from /dev/zero to your memory if n is divisible by 4096 | 10:01 |
| xorAxAx | that makes it super fast | 10:01 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/179 [12hakanardo, jit-multilabel] | 10:02 |
| ltratt | it actually copies from /dev/zero rather than memset? i wouldn't have expected that! | 10:02 |
| xorAxAx | yes, it does | 10:03 |
| xorAxAx | so actually, your zeros are slower than linux ones | 10:03 |
| ltratt | hehe | 10:03 |
| ltratt | my guess is that should be replaced with memset on openbsd... | 10:03 |
| xorAxAx | ask arigato for details, he introduced that optimization :) | 10:04 |
| ltratt | ok, i'm trying disabling the /dev/zero read | 10:07 |
| ltratt | is that the only optimisation on linux that you know of? or does it have such a major effect that it's the only one needed? :) | 10:07 |
| xorAxAx | its the only optimization that i can think of that would affect an openbsd user | 10:09 |
| ltratt | ok, thanks | 10:09 |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 10:10 | |
| amaury_ (~amaury_@74.125.57.34) joined #pypy. | 10:16 | |
| arigato (~arigo@89.204.139.36) left irc: Quit: See you | 10:18 | |
| ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) joined #pypy. | 10:20 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection | 10:23 | |
| __class__ (~class@99-105-56-217.lightspeed.sntcca.sbcglobal.net) joined #pypy. | 10:32 | |
| amaury_ (~amaury_@74.125.57.34) left irc: Ping timeout: 240 seconds | 10:36 | |
| voidspace (~voidspace@python/psf/voidspace) joined #pypy. | 10:40 | |
| ltratt | xorAxAx: hmm, reading llarena.py, it seems linux doesn't use the /dev/zero trick but uses madvise | 10:42 |
| ltratt | however, no matter which of the 3 schemes i use there, performance on openbsd doesn't really budge | 10:42 |
| ltratt | there might be 0.5-1% difference between them, but not enough to explain things | 10:43 |
| interrupt (~interrupt@220.73.24.227) left irc: Read error: No route to host | 10:56 | |
| interrupt (~interrupt@220.73.24.227) joined #pypy. | 10:56 | |
| interrupt (~interrupt@220.73.24.227) left irc: Remote host closed the connection | 10:56 | |
| interrupt (~interrupt@175.197.245.105) joined #pypy. | 10:57 | |
| mfoord (~anonymous@python/psf/voidspace) joined #pypy. | 11:01 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Remote host closed the connection | 11:03 | |
| arigato (~arigo@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 11:04 | |
| azanella (~azanella@189.6.80.207) joined #pypy. | 11:05 | |
| arigato | hakanardo: oups, sorry, I ran a lot of stuff on tannit for 1 minute | 11:07 |
| hakanardo | ok, I'm just checking for regressions before merging the branch | 11:09 |
| arigato | cool | 11:09 |
| xorAxAx (~alexander@moinmoin/coreteam/alexander) left irc: Ping timeout: 255 seconds | 11:12 | |
| arigato | I'm tracking an occasional failure on 64-bit on trunk: a fatal RPython AssertionError in remap_frame_layout() | 11:20 |
| Nick change: anish_lunch -> anish_ | 11:26 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Read error: Connection reset by peer | 11:36 | |
| xorAxAx (~alexander@ampleforth.srv.alexanderweb.de) joined #pypy. | 11:36 | |
| xorAxAx (~alexander@ampleforth.srv.alexanderweb.de) left irc: Changing host | 11:36 | |
| xorAxAx (~alexander@moinmoin/coreteam/alexander) joined #pypy. | 11:36 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 11:37 | |
| squiddy (~squiddy@89.204.153.196) joined #pypy. | 11:37 | |
| getxsick (xsx@unaffiliated/getxsick) left irc: Read error: Connection reset by peer | 11:39 | |
| getxsick (xsx@unaffiliated/getxsick) joined #pypy. | 11:39 | |
| derdon (~derdon@pD9E1C00D.dip.t-dialin.net) joined #pypy. | 11:41 | |
| xorAxAx | ltratt: ah | 11:44 |
| getxsick_ (xsx@tramwaj.asi.pwr.wroc.pl) joined #pypy. | 11:45 | |
| getxsick (xsx@unaffiliated/getxsick) left irc: Read error: Connection reset by peer | 11:45 | |
| maxyz (~maxy@186.18.94.35) left irc: Ping timeout: 240 seconds | 11:46 | |
| anish_ (anish@nat/redhat/x-toyivvikwpkrmeie) left irc: Ping timeout: 244 seconds | 11:48 | |
| asmeurer__ (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) joined #pypy. | 11:52 | |
| voidspace (~voidspace@python/psf/voidspace) left irc: Quit: Uhm... gotta go | 12:01 | |
| Nick change: mfoord -> voidspace | 12:01 | |
| squiddy (~squiddy@89.204.153.196) left irc: Quit: Leaving | 12:04 | |
| ltratt | xorAxAx: so i still have no explanation :) | 12:06 |
| xorAxAx | ltratt: maybe madvise is faster on linux than on openbsd :) | 12:06 |
| ltratt | it probably is. linux is generally faster than openbsd, no-one would say otherwise. | 12:07 |
| ltratt | i'm just surprised that pypy benefits disproportionately from that speed-up! | 12:07 |
| gehho2 (~gehho2@ZJ040192.ppp.dion.ne.jp) left irc: Quit: Leaving... | 12:13 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 12:20 | |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 12:25 | |
| witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy. | 12:25 | |
| asmeurer__ (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) left irc: Read error: Connection reset by peer | 12:36 | |
| asmeurer__ (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) joined #pypy. | 12:36 | |
| hakanardo | hmm, how am I supposed to start a becnhmarkrun on a branch to allow it to upload the results? | 12:37 |
| hakanardo | my athempts always fail like the corrent one | 12:38 |
| EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) left irc: Ping timeout: 252 seconds | 12:38 | |
| arigato | xorAxAx: fwiw, on Linux nowadays we are using madvise() instead of reading from /dev/zero | 12:39 |
| xorAxAx | arigato: yeah, as ltratt found out :) | 12:39 |
| arigato | ah :-) | 12:40 |
| arigato | sorry | 12:40 |
| ltratt | arigato: do you have any suggestions for why pypy performs so much better than python on linux, but not on openbsd? | 12:40 |
| arigato | ltratt: no, I'm looking... | 12:40 |
| arigato | right now on openbsd it reads /dev/zero; did you try to use memset instead? | 12:41 |
| ltratt | yes i tried memset and madvise - no huge difference either way | 12:41 |
| arigato | ok | 12:41 |
| arigato | yes, what I expected | 12:41 |
| Action: arigato grepping for "linux" through the sources | 12:41 | |
| ltratt | i wonder if e.g. the os x or freebsd people have noticed anything similar? | 12:42 |
| arigato | I think it's known that it's slower on OS/X and on Windows, too | 12:42 |
| arigato | a bit strange, but it may be indirectly related to the fact that we (=core developeres) only use Linux | 12:43 |
| ltratt | yes, i kind of expected linux to be a bit faster because i know you guys are linux users, but i'm still surprised at the difference | 12:43 |
| ltratt | unfortunately my openbsd servers don't have enough ram to compile full pypy :/ | 12:43 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/179 [12hakanardo, jit-multilabel] | 12:44 |
| maxyz (~maxy@186.18.94.35) joined #pypy. | 12:44 | |
| ltratt | i can probably get you an account on a machine elsewhere if you'd like to test things out | 12:44 |
| arigato | me, not really I'm afraid :-/ | 12:44 |
| Action: arigato did grep for "linux" and fails to find any other difference | 12:45 | |
| ltratt | ok, i understand - portability is not anyone's idea of fun :) | 12:45 |
| arigato | you can also try to run "PYPYLOG=gc:log pypy example_program.py" | 12:46 |
| ltratt | will PYPYLOG only work on pypy (not e.g. on the Converge VM)? | 12:46 |
| arigato | and then use pypy/tool/logparser.py draw-time output.png --width=3000 | 12:46 |
| jnoller (~jnoller@vpn.nasuni.com) joined #pypy. | 12:46 | |
| arigato | no, it should work everywhere | 12:46 |
| ltratt | ok, cool | 12:46 |
| arigato | this gives a log out of which you can get the total percent of time spent doing GC, and a bar graph showing when it occurs | 12:47 |
| arigato | so the idea would be that you can compare the results of that on Linux and on FreeBSD | 12:48 |
| ltratt | ok | 12:48 |
| arigato | to know if FreeBSD spends much more time than Linux on the GC | 12:48 |
| ltratt | hmm option "--width not supported" | 12:48 |
| arigato | ah, it's --mainwidth=3000 | 12:48 |
| arigato | ah, also you can just say "logparser.py print-summary" if you don't have PIL installed | 12:49 |
| ltratt | ok, giving it a go now... | 12:49 |
| arigato | (and maybe it's also --output=output.png) | 12:49 |
| arigato | (haven't used this tool for a while :-) | 12:50 |
| ltratt | quick response: linux is spending less time in gc-minor (15% vs 26%) | 12:50 |
| arigato | :-/ | 12:51 |
| arigato | yes | 12:51 |
| EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) joined #pypy. | 12:52 | |
| ltratt | i probably need to go into more depth to make sure those numbers are representative, but it's a start | 12:52 |
| nshepperd (~asdfg@ppp118-209-196-83.lns20.mel6.internode.on.net) joined #pypy. | 12:54 | |
| ltratt | linux also has a "gc-hardware" section that openbsd doesn't... | 12:54 |
| lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) left irc: Ping timeout: 252 seconds | 12:55 | |
| kenaan | 12hakanardo jit-multilabel 11707ec0f104cd 15/pypy/jit/metainterp/history.py: avoiding confusion from rare hash collisions | 12:55 |
| kenaan | 12hakanardo jit-multilabel 1167480607b18f 15/: closing branch for merge | 12:55 |
| kenaan | 12hakanardo default 11d5d0c616af63 15/pypy/jit/metainterp/: Merging jit-multilabel. This is mostly a cleanup of the handling of labels in optimizeop. It does add suppot fo... | 12:55 |
| kenaan | 12arigo default 11da6ef5856827 15/pypy/jit/backend/x86/test/test_jump.py: Improve the test to also have ConstFloatLocs. | 13:00 |
| kenaan | 12arigo default 119c5561654700 15/: merge heads | 13:01 |
| lcubo (~leonardo@190.94.99.125) joined #pypy. | 13:01 | |
| kenaan | 12arigo counter-decay 11bae684cd82fb 15/: close merged branch | 13:01 |
| kenaan | 12arigo default 11fe3fd6bbfb02 15/pypy/jit/backend/x86/test/test_jump.py: merge heads | 13:01 |
| gutworth (~benjamin@64-131-9-52.usfamily.net) left irc: Ping timeout: 240 seconds | 13:01 | |
| ltratt | arigato: i have to get ready to see some students, but i'll try and look at this over the coming days and see if i can dig anything useful up | 13:01 |
| arigato | thanks | 13:01 |
| ltratt (~ltratt@87.114.245.164) left irc: Quit: using sirc version 2.211+KSIRC/1.3.12 | 13:04 | |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 13:04 | |
| derdon (~derdon@pD9E1C00D.dip.t-dialin.net) left irc: Remote host closed the connection | 13:05 | |
| witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy. | 13:06 | |
| uche (~uche@70-90-116-204-BusName-summit.co.hfc.comcastbusiness.net) joined #pypy. | 13:07 | |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 252 seconds | 13:07 | |
| Arfrever (~Arfrever@apache/committer/Arfrever) joined #pypy. | 13:08 | |
| gutworth (~benjamin@64-131-9-52.usfamily.net) joined #pypy. | 13:08 | |
| asmeurer__ (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) left irc: Read error: Connection reset by peer | 13:14 | |
| asmeurer (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) joined #pypy. | 13:14 | |
| EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) left irc: Remote host closed the connection | 13:15 | |
| mat^2 (~mathias@212.130.113.35) left irc: | 13:18 | |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 13:19 | |
| Rhy0lite (dje@nat/ibm/x-rnqtcbpgnbpmzysv) joined #pypy. | 13:26 | |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) left irc: Ping timeout: 252 seconds | 13:26 | |
| interrup_ (~interrupt@220.73.24.227) joined #pypy. | 13:33 | |
| interrupt (~interrupt@175.197.245.105) left irc: Ping timeout: 276 seconds | 13:38 | |
| antocuni | http://dabeazcompiler2.eventbrite.com/ | 13:43 |
| antocuni | we should probably do the same :-) | 13:43 |
| exarkun | Yes. | 13:44 |
| hakanardo | antocuni: nice :) | 13:44 |
| antocuni | honestly, I had no idea that you can ask for so much money for a collective course | 13:45 |
| exarkun | It's all in the marketing. | 13:45 |
| arigato | uh, you have to pay 1000$ per person? | 13:45 |
| antocuni | seems so | 13:45 |
| arigato | ah, it's 4 days, too | 13:46 |
| exarkun | Everything thinks dabeaz is a super genius. | 13:46 |
| antocuni | arigato: can we put on the market a course given by you and ask for 10.000$? :-) | 13:46 |
| arigato | come to the next sprint, 1000$ for newcomers :-) | 13:47 |
| antocuni | uhm, you are joking but maybe it's not such a bad idea. If we do e.g. a two days course (on whatever) before the sprint, we can ask for e.g. 500$ and with that money fund more pypy development | 13:48 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/302 | 13:48 |
| arigato | antocuni: worth being thought about, I suppose | 13:49 |
| antocuni | uhm, it seems that bbot2 doesn't think it's a great idea :-) | 13:49 |
| arigato | :-) | 13:49 |
| Action: antocuni writes a mail to pypy-z | 13:49 | |
| arigato | :-) | 13:50 |
| arigato | ah, finally, gdb crashes on the RPython assert | 13:50 |
| hakanardo | where are the graphs rendered by --viewloops produced? | 13:50 |
| arigato | it's x86/jump.py:55 | 13:50 |
| arigato | hakanardo: probably /tmp/usession-x/graph.dot | 13:51 |
| hakanardo | I would like them to use get_printable_location... | 13:51 |
| hakanardo | arigato: I mean the code that is producing them | 13:51 |
| arigato | ah sorry | 13:51 |
| arigato | it's in metainterp/graph_page.py | 13:51 |
| hakanardo | thanx | 13:52 |
| arigato | antocuni: in gdb, do you know how I can print some expression that depends on a value i, for i in range(54)? | 13:56 |
| antocuni | arigato: I'm not sure to understand the question | 13:56 |
| antocuni | but in any case it's very easy to write your own commands in python | 13:57 |
| arigato | I want to get 54 prints: p complex_expression(0), p complex_expression(1), etc. | 13:57 |
| antocuni | (look at pypy/tool/gdb_pypy for examples) | 13:57 |
| antocuni | ah, I don't think that the gdb scripting language has loops | 13:58 |
| antocuni | arigato: http://agateau.wordpress.com/2008/04/17/gdb-trick-the-poor-man-loop/ | 13:59 |
| antocuni | look at the comments, there is an example of while loop | 13:59 |
| arigato | right | 13:59 |
| ronan (~ronan@host86-170-108-50.range86-170.btcentralplus.com) left irc: Quit: Ex-Chat | 13:59 | |
| arigato | thank you :-) | 14:00 |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy. | 14:02 | |
| santagada (~leonardo@189.27.161.102.dynamic.adsl.gvt.net.br) joined #pypy. | 14:10 | |
| kenaan | 12hakanardo default 11b1bccc7a772e 15/pypy/jit/metainterp/: copy logic from logger to show the printable_location in the graphs, but only if get_printable_location was pro... | 14:24 |
| kenaan | 12hakanardo default 11628d03374f2e 15/pypy/jit/backend/x86/test/test_jump.py: hg merge | 14:24 |
| arigato | argh? | 14:30 |
| arigato | I managed to extract the case from gdb, and write it as a tiny script that calls remap_frame_layout() | 14:30 |
| arigato | it works fine | 14:30 |
| arigato | but I try to translate the same code | 14:31 |
| arigato | then I get the RPython AssertionError | 14:31 |
| arigato | aaaaaah | 14:34 |
| arigato | it's an integer overflow | 14:34 |
| arigato | I have the value -9223372036854775809, that overflows the 64-bit ints after translation | 14:34 |
| arigato | bah, how can I possibly write a test for that? | 14:35 |
| hakanardo | arigato: assert isinstance(value, int) | 14:44 |
| hakanardo | :) | 14:44 |
| arigato | you have a point :-) | 14:44 |
| arigato | I wrote it as a small translation test | 14:44 |
| hakanardo | that's probably even better :) | 14:46 |
| kenaan | 12arigo default 11d70f132b92fa 15/pypy/jit/backend/x86/test/test_jump.py: A failing test, showing an issue that only occurs after translation. | 14:46 |
| kenaan | 12arigo default 112261c6bb4a58 15/pypy/jit/backend/x86/jump.py: fix. | 14:46 |
| kenaan | 12arigo default 11d73152d7b1ad 15/pypy/jit/metainterp/: merge heads | 14:46 |
| arigato | yes, I'm lucky that in this case it's easy enough to fake the assembler class | 14:46 |
| arigato | it was a rare bug: to show up, you need (1) a loop in the mapping, e.g. stackloc %ebp+120 goes to stackloc %ebp+148 and vice-versa, and also (2) a source place that goes to 3 different places, including the same place as it was | 14:49 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/312 | 14:54 |
| interrup_ (~interrupt@220.73.24.227) left irc: Remote host closed the connection | 14:54 | |
| interrupt (~interrupt@220.73.24.227) joined #pypy. | 14:55 | |
| interrupt (~interrupt@220.73.24.227) left irc: Remote host closed the connection | 14:56 | |
| CIA-53 | 03brownan 07roundup * 10#971/multiprocessing connection needs htonl/ntohl: | 15:06 |
| CIA-53 | [new] Multiprocessing connection objects are not compatible with CPython. To | 15:06 |
| CIA-53 | reproduce: | 15:06 |
| CIA-53 | run the example at | 15:06 |
| CIA-53 | http://docs.python.org/library/m ... * 14https://bugs.pypy.org/issue971 | 15:06 |
| exarkun | Why does the multiprocessing module do host/network order translation for talking to other processes on the same host? | 15:09 |
| exarkun | Oh, different hosts. | 15:10 |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum | 15:24 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 240 seconds | 15:28 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 15:30 | |
| dalke (~Adium@c-4f669193-74736162.cust.telenor.se) joined #pypy. | 15:31 | |
| h0h0 (~k@141.79-161-28.customer.lyse.net) joined #pypy. | 15:32 | |
| dalke | Hi! I had to take xerxes (one of the Mac OS X buildbots) down for new memory. Was 4GB, is now 12. The pypy builds required 6GB of swap and thrashing for a couple of hours makes hard drives very unhappy. | 15:33 |
| dalke | Question here is, how do I tell the buildbot to redo the build that I killed 30 minutes ago (after running for 4 hours). | 15:33 |
| arigato | dalke: ah, thanks for your concern | 15:36 |
| dalke | And concern for my hardware. ;) | 15:36 |
| arigato | :-) | 15:37 |
| arigato | you can ignore the last build. it was running for 13 hours, not 4 :-( | 15:37 |
| arigato | it was a nightly build | 15:37 |
| arigato | "nightly" | 15:37 |
| arigato | the next night should start one again | 15:37 |
| dalke | Oh?! I thought it had finished this morning. I didn't see it running at noon time. | 15:37 |
| arigato | http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/312 | 15:38 |
| dalke | Ahh, but perhaps I was looking for 100% CPU and with the thrashing it was at low CPU... | 15:38 |
| arigato | yes :-/ | 15:38 |
| Kaskuka (~John@osbk-d9bf275a.pool.mediaWays.net) joined #pypy. | 15:39 | |
| Guest53933 (~John@osbk-4db06e32.pool.mediaWays.net) left irc: Ping timeout: 240 seconds | 15:39 | |
| dalke | Ahh, I see the "13 hrs" now. | 15:39 |
| dalke | Looking forward to seeing how fast the new builds go. | 15:39 |
| arigato | if you really want to start one now: http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64 | 15:42 |
| santagada (~leonardo@189.27.161.102.dynamic.adsl.gvt.net.br) left irc: Ping timeout: 240 seconds | 15:43 | |
| jperras (~jperras@li245-112.members.linode.com) left irc: Read error: Operation timed out | 15:50 | |
| nshepperd | looks like pypy is now speeding up my unmodified random silly programs by 9x | 15:51 |
| jperras (~jperras@li245-112.members.linode.com) joined #pypy. | 15:51 | |
| nshepperd | all that hard work is paying off :) | 15:51 |
| ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) left irc: Quit: Leaving... | 15:51 | |
| nettok (~quassel@190.143.181.166) joined #pypy. | 15:52 | |
| arigato | :-) | 15:53 |
| Arnar (~arnarb@li187-148.members.linode.com) left irc: Ping timeout: 248 seconds | 15:53 | |
| nshepperd | this is all pretty exciting | 15:54 |
| nshepperd | say, what are the recommended RAM sizes for building nowadays? | 15:54 |
| arigato | a-bit-more-than-2GB on 32-bit, a-bit-more-than-4GB on 64-bit | 15:55 |
| Arnar (~arnarb@li187-148.members.linode.com) joined #pypy. | 15:55 | |
| exarkun | PyPy uses _all_ the RAM | 15:55 |
| arigato | :-) | 15:55 |
| gutworth | all your ram is belong to us! | 15:56 |
| nshepperd | of course, how can you translate _all_ the things without all the ram? | 15:57 |
| rguillebert | there's a tip on the download page to translate with less memory | 15:59 |
| dalke1 (~Adium@c-4f669193-74736162.cust.telenor.se) joined #pypy. | 16:02 | |
| dalke (~Adium@c-4f669193-74736162.cust.telenor.se) left irc: Read error: Connection reset by peer | 16:02 | |
| mvt (~mvantelli@87.213.45.85) left irc: Quit: Leaving | 16:07 | |
| Ademan (~dan@adsl-71-141-224-79.dsl.snfc21.pacbell.net) left irc: Quit: leaving | 16:10 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 16:11 | |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy. | 16:12 | |
| lmoura (lmoura@gateway/indt/session) joined #pypy. | 16:26 | |
| h0h0 (~k@141.79-161-28.customer.lyse.net) left irc: Quit: Changing server | 16:30 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) joined #pypy. | 16:31 | |
| fijal (~fijal@196-210-199-8.dynamic.isadsl.co.za) joined #pypy. | 16:39 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 16:40 | |
| fijal | hi | 16:40 |
| arigato | rehi | 16:49 |
| Action: fijal reading the logs | 16:50 | |
| Action: arigato off | 16:51 | |
| fijal | yes, I'm afraid all measurments we did when cooperating with OS were along the lines of "we check 3 things and pick the fastest on linux" | 16:51 |
| arigato | yes | 16:51 |
| arigato (~arigo@fwstups.cs.uni-duesseldorf.de) left irc: Quit: See you | 16:51 | |
| G2P (~G2P@fw-asn1.ornis.com) left irc: Quit: Leaving. | 16:55 | |
| wichniew (~wichniew@211-dzi-8.acn.waw.pl) joined #pypy. | 17:11 | |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Remote host closed the connection | 17:12 | |
| espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy. | 17:12 | |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy. | 17:13 | |
| nettok_ (~quassel@190.143.183.210) joined #pypy. | 17:21 | |
| gutworth | hmm, can graphiz generate a svg? | 17:22 |
| fijal | I think so | 17:22 |
| fijal | why? | 17:22 |
| gutworth | it's nicer to use svg diagrams than pngs | 17:22 |
| fijal | yes | 17:23 |
| nettok (~quassel@190.143.181.166) left irc: Ping timeout: 252 seconds | 17:23 | |
| fijal | not nice svgs I fear | 17:23 |
| gutworth | well I'm not going to try and read them :) | 17:24 |
| fijal | no I mean they look like crap | 17:26 |
| gutworth | ah | 17:27 |
| fijal | btu I might be wrong | 17:29 |
| fijal | PSes definitely do | 17:29 |
| pjenvey | ~, | 17:30 |
| fijal | pjenvey: yes? | 17:35 |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) left irc: Quit: Konversation terminated! | 17:38 | |
| pjenvey | fijal - oops, just mistakenly typing ssh escape chars | 17:47 |
| wichniew (~wichniew@211-dzi-8.acn.waw.pl) left irc: Quit: Leaving... | 17:48 | |
| Rhy0lite (dje@nat/ibm/x-rnqtcbpgnbpmzysv) left irc: Quit: Leaving | 17:54 | |
| Rhy0lite (dje@nat/ibm/x-rwvftegyfvewsnuq) joined #pypy. | 17:57 | |
| voidspace (~anonymous@python/psf/voidspace) left irc: Quit: voidspace | 18:01 | |
| tumbleweed | how can I skip a test based on pypy's object space options? | 18:06 |
| tumbleweed | when translated, I can see them in sys.pypy_translation_info, but that isn't present for p.py | 18:06 |
| tumbleweed | py.py | 18:06 |
| fijal | tumbleweed: er, tests have very precise objspace | 18:07 |
| fijal | what are you trying to achieve? | 18:07 |
| tumbleweed | so, I have a quick and ugly PEP3147 patch | 18:07 |
| tumbleweed | but I need to disable some of the legacy lone pyc tests when it doesn't have lonepycfiles enabled | 18:08 |
| fijal | I'm relatively skeptical about implementing that in the first place | 18:08 |
| fijal | because that means you share installed python files which you installed for cpython right? | 18:08 |
| tumbleweed | can, but not intending to do that | 18:09 |
| fijal | so why implement this PEP in the first place? | 18:09 |
| tumbleweed | the bigger reason I want it is to be able to share installed files between pypy versions | 18:09 |
| fijal | ok | 18:09 |
| tumbleweed | so that we don't have to repeat debian's symlink farm mess for pypy | 18:09 |
| fijal | well, one more question - I would be very skeptical about that if the PEP implementation goes into debian/ubuntu package but does not go upstream | 18:09 |
| fijal | so make it done right :) | 18:10 |
| fijal | ok, speaking of which | 18:10 |
| tumbleweed | don't worry, I'm not about to ship anything, and wouldn't ship patches that upstream doesn't agree with | 18:10 |
| fijal | default is lonepycfiles=False | 18:10 |
| fijal | so it'll be False in your tests | 18:10 |
| tumbleweed | yes, which is why the tests fail by default :P | 18:10 |
| fijal | unless you create an objspace which has it =True | 18:10 |
| fijal | which is done in setup_class | 18:10 |
| tumbleweed | these are tests in the stdlib | 18:11 |
| fijal | by cls.space = gettestobjspace(config-opts) | 18:11 |
| tumbleweed | yeah, an unfortunate downside of doing this is that it's rather invasive in the stdlib | 18:11 |
| fijal | oh nice | 18:15 |
| fijal | well | 18:15 |
| fijal | :/ | 18:15 |
| fijal | how is this invasive in stdlib? | 18:15 |
| tumbleweed | anyway, here's what I'm currently looking at. Please throw rocks at me if necessary :P http://paste.debian.net/149874/ http://paste.debian.net/149875/ | 18:15 |
| fijal | PEP3147 won't work without lonepycfiles=True right? | 18:16 |
| tumbleweed | it will, that's actually something it partially endorses | 18:16 |
| tumbleweed | lonepycfiles=False breaks case 4 of it, though | 18:16 |
| kkris (~kris@93-82-32-38.adsl.highway.telekom.at) joined #pypy. | 18:17 | |
| fijal | so it'll or it won't? | 18:17 |
| tumbleweed | it works fine | 18:17 |
| fijal | so why do you need it =True for tests then? | 18:18 |
| tumbleweed | I don't | 18:18 |
| fijal | so why are you worried? | 18:18 |
| tumbleweed | I was assuming @skip ping a test was the right thing to do | 18:18 |
| fijal | no | 18:18 |
| tumbleweed | but it looks like I should just delete them | 18:18 |
| fijal | you mean there are tests for lonepycfiles? | 18:18 |
| fijal | and they were not in 2.7? | 18:18 |
| tumbleweed | yup | 18:19 |
| fijal | but they got there | 18:19 |
| fijal | so just don't copy them over :) | 18:19 |
| tumbleweed | :) | 18:19 |
| tumbleweed | I assume for you to take these patches, I have to move all the stdlib changes into modified-2.7, inside appropriate if blocks | 18:20 |
| fijal | yes, definitely | 18:20 |
| tumbleweed | but before I start doing things like that, I'd appreciate it if you gave it a once over (at least the core patch) | 18:21 |
| tumbleweed | it's also rather a break from cpython2.7 (it changes the meaning of __file__) | 18:22 |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy. | 18:22 | |
| exarkun | Seems like they'd be good changes to stick in a 2.8 branch | 18:23 |
| Action: tumbleweed crosses himself | 18:23 | |
| tumbleweed | there shall be no cpython2.8 | 18:23 |
| exarkun | 2.8 branch of pypy I mean | 18:24 |
| uche (~uche@70-90-116-204-BusName-summit.co.hfc.comcastbusiness.net) left irc: Quit: Leaving... | 18:24 | |
| fijal | tumbleweed: look, this is the first time someone proposes something like this | 18:24 |
| tumbleweed | PEP3147 was partially intended to be backported to cpython2.7, we considered doing it in debian, but it was the last cpython2, so it wasn't wort hthe effort | 18:25 |
| fijal | the question is - how much code that works on 2.7 breaks because of this? | 18:25 |
| tumbleweed | that's a good question, and who knows :P | 18:26 |
| fijal | well, think about it | 18:26 |
| fijal | I expect you want to answer 'none' | 18:26 |
| exarkun | "who knows" sounds like an insufficient justification for making such a change | 18:26 |
| fijal | otherwise we might be very skeptical | 18:26 |
| exarkun | Any code that thinks it can compute relative paths based on __file__ is broken, right? | 18:26 |
| tumbleweed | no, that should be safe | 18:26 |
| fijal | tumbleweed: I understand CPython is very loosely attached to backwards compatibility, but we're not | 18:26 |
| tumbleweed | most of the time, when you look at __file__ you are after the directory, not the filename | 18:27 |
| exarkun | tumbleweed: What if you are after the filename? | 18:27 |
| fijal | exarkun: note that you can't safely assume there is a .py file next to your .pyc file anyway | 18:27 |
| tumbleweed | exarkun: even if you are doing a .replace('.pyc', '.py') you are safe :P | 18:27 |
| exarkun | Hm. | 18:27 |
| exarkun | Does PEP 3147 actually say it makes __file__ never point to a .pyc? | 18:28 |
| kenaan | 12fijal numpy-faster-setslice 11b0190f46f44c 15/pypy/module/micronumpy/: Implement fast slice setting using memcpy | 18:28 |
| amaury_ | exarkun: yes | 18:28 |
| fijal | Alex_Gaynor: ^^^ feel like reviewing? | 18:28 |
| amaury_ | http://www.python.org/dev/peps/pep-3147/#file | 18:28 |
| exarkun | amaury_: It seems like that section is referring to a decision made somewhere else. | 18:28 |
| tumbleweed | hrm, whas I drunk or exhausted when I read the pep? "Nothing in this PEP would change the semantics of __file__" I think I read that as "Note that this..." | 18:29 |
| exarkun | tumbleweed: Heh. | 18:29 |
| fijal | exarkun: when did you use compileall module last time... | 18:29 |
| pjenvey | yea that change was pre 3147 iirc | 18:29 |
| amaury_ | exarkun: right, I found CPython changeset 73e1bf179a01 | 18:29 |
| amaury_ | "Another patch for #1762972: __file__ points to the py file instead pyo/pyc file" | 18:30 |
| exarkun | tumbleweed: So perhaps a more interesting question is whether _your_ 3147 implementation for *PyPy* makes __file__ never point at a .pyc? | 18:30 |
| pjenvey | changed in py3 | 18:30 |
| tumbleweed | exarkun: it does | 18:30 |
| exarkun | okay. that seems like it probably lessens the chance of breaking code. | 18:30 |
| exarkun | but you should probably look around a bit :) | 18:30 |
| pjenvey | quite frankly I'm glad tumbleweed is doing pep3147 support, but it should go in the py3k branch =P | 18:31 |
| getxsick_ (xsx@tramwaj.asi.pwr.wroc.pl) left irc: Read error: Connection reset by peer | 18:31 | |
| tumbleweed | pjenvey: :) | 18:31 |
| fijal | pjenvey: noone cares about pypy py3k packaged in ubuntu | 18:31 |
| exarkun | pjenvey: You're lucky I already know that arguing about that would be a total waste of time. | 18:31 |
| amaury_ | or make it a translation option? | 18:31 |
| pjenvey | =] | 18:31 |
| jell | fijal: i care | 18:31 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 18:31 | |
| jell | but more in debian | 18:31 |
| DasIch__ (~dasich@p4FFDD616.dip.t-dialin.net) joined #pypy. | 18:31 | |
| amaury_ | pypy already implements the SOABI to name extension modules | 18:32 |
| amaury_ | this is also a py3k feature normally | 18:32 |
| fijal | amaury_: yes, but at worst this breaks/not breaks cpyext | 18:33 |
| DasIch_ (~dasich@p4FFDF8A9.dip.t-dialin.net) left irc: Read error: Operation timed out | 18:33 | |
| fijal | so it's a second class | 18:33 |
| fijal | tumbleweed: if you can provide some reasonable evidence it does not break stuff, I would be +1 | 18:33 |
| fijal | but also, the patch is light on tests | 18:33 |
| tumbleweed | fijal: yeah, I started by fixing tests broken elsewhere | 18:34 |
| exarkun | tumbleweed: Can you try Twisted's test suite with and without your patch? It will exercise some __file__-dependent code. | 18:34 |
| tumbleweed | (which in retrospective was a bad idea) | 18:34 |
| tumbleweed | exarkun: sure | 18:34 |
| fijal | yes, making stuff pass it's own tests is usually a good start | 18:35 |
| Nick change: DasIch__ -> DasIch | 18:37 | |
| exarkun | Uhhhh | 18:38 |
| exarkun | fijal: I started trying to reproduce the SSL issue | 18:38 |
| exarkun | And I noticed something else | 18:38 |
| exarkun | http://codepad.org/gRhG8OXo | 18:39 |
| exarkun | Look at the timestamps | 18:39 |
| jell | nice :] | 18:39 |
| jell | different timezones? and mixed seconds? | 18:40 |
| fijal | nice | 18:40 |
| fijal | exarkun: I assume this is a sequential logging? | 18:40 |
| fijal | or so? | 18:40 |
| exarkun | yes | 18:41 |
| fijal | nice | 18:41 |
| exarkun | it's the same w/ or w/o the jit | 18:42 |
| getxsick (xsx@unaffiliated/getxsick) joined #pypy. | 18:42 | |
| dalke (~Adium@c-4f669193-74736162.cust.telenor.se) joined #pypy. | 18:42 | |
| dalke (~Adium@c-4f669193-74736162.cust.telenor.se) left irc: Client Quit | 18:42 | |
| dalke1 (~Adium@c-4f669193-74736162.cust.telenor.se) left irc: Read error: Connection reset by peer | 18:42 | |
| fijal | exarkun: how do I reproduce it? | 18:43 |
| exarkun | pypy twistd -n web --port tcp:port=9080 --path . | 18:45 |
| fijal | and hit it with apachebench? | 18:45 |
| exarkun | That's what I was doing, but it looks like you don't need a high request load to trigger it | 18:46 |
| exarkun | If you just use a browser you'll probably see the same | 18:46 |
| fijal | ok | 18:47 |
| fzzzy (~donovan@nat/mozilla/x-wjkwjjlritkmorau) joined #pypy. | 18:48 | |
| Dulak | anyone know how to get vi keys in pypy? | 18:49 |
| exarkun | I just realized that's the logging system timestamp, not the web server timestamp, so it's probably not web related. | 18:49 |
| exarkun | http://codepad.org/boZ7Ligp | 18:50 |
| Alex_Gaynor | fijal: ping | 18:52 |
| fijal | Alex_Gaynor: pong | 18:52 |
| fijal | Alex_Gaynor: review | 18:53 |
| fijal | Alex_Gaynor: sudo review | 18:53 |
| Alex_Gaynor | fijal: :) | 18:53 |
| Alex_Gaynor | fijal: aren't most other iterators immutable? | 18:53 |
| fijal | yes, they totally are | 18:53 |
| fijal | why? | 18:53 |
| Alex_Gaynor | because AxisIterator isn't | 18:53 |
| fijal | yes, because it's used somewhere else | 18:54 |
| Alex_Gaynor | I realize it's used differently, but it's weird to have the same API and be so different | 18:54 |
| fijal | where you have immutability required by the way it's used | 18:54 |
| fijal | it's a different API | 18:54 |
| fijal | just names are the same :) | 18:54 |
| Alex_Gaynor | well, probably someone will want to use axis iterator for other stuff, so maybe it should just use the same API? | 18:55 |
| Alex_Gaynor | also, does fast_setslice really need the len == 1 special case? | 18:55 |
| Alex_Gaynor | and finally, virtualarrays should support this if they have been forced | 18:55 |
| Alex_Gaynor | otherwise LGTM | 18:56 |
| exarkun | I think PyPy is rounding wrong in the datetime module. | 18:56 |
| fijal | Alex_Gaynor: you don't need len == 1 special case | 18:57 |
| Alex_Gaynor | fijal: can we remove it? I hate special cases and it won't make a difference on a big array | 18:57 |
| exarkun | eh, maybe. | 18:57 |
| fijal | but I figured it would be cool to have for the case where you have a loop and copy a relatively small slice in a loop | 18:57 |
| fijal | it's a simple specialcase though | 18:57 |
| fijal | avoids some allocations | 18:57 |
| Alex_Gaynor | fijal: ok fine, make this share code with copy() though | 18:58 |
| fijal | the support if it has been forced - yes, agreed | 18:58 |
| amaury_ | exarkun: py3k also a pure Python implementation of datetime, could compare with it | 18:58 |
| Alex_Gaynor | fijal: copy should be, allocate new array, setslice | 18:58 |
| fijal | yes | 18:58 |
| Alex_Gaynor | amaury_: I compared it once, they're very similar IIRC | 18:58 |
| exarkun | I don't know how I feel about this: http://codepad.org/2iTghs6D | 18:58 |
| fijal | ok, deal will do that | 18:58 |
| amaury_ | yyes | 18:58 |
| exarkun | It is inconsistent with CPython, anyway. The C or Python datetime implementation. | 19:02 |
| jyp_ (~interrupt@220.73.24.227) joined #pypy. | 19:07 | |
| stakkars_ (~tismer@89.204.153.192) joined #pypy. | 19:07 | |
| kenaan | 12fijal numpy-faster-setslice 112961d5daa1d1 15/pypy/module/micronumpy/interp_numarray.py: share code between copy and setslice | 19:16 |
| fijal | Alex_Gaynor: oh, your requirement for VirtualArray is nonsense | 19:18 |
| Alex_Gaynor | fijal: why? | 19:18 |
| fijal | since you have to force the left hand side argument of setslice anyway | 19:18 |
| fijal | so if you force it you call setslice on the forced one | 19:18 |
| Alex_Gaynor | oh :) | 19:18 |
| Alex_Gaynor | duh | 19:18 |
| fijal | I did sharing | 19:19 |
| fijal | anything else? | 19:19 |
| Alex_Gaynor | you moved around code, give me a minuet :) | 19:19 |
| jell | exarkun: true, and this looks like something wrong in pypy | 19:19 |
| fijal | yes, obviously :) | 19:19 |
| fijal | not setslice has to be up to work on array as well | 19:20 |
| Alex_Gaynor | looks ok I think | 19:20 |
| fijal | cool | 19:21 |
| fijal | should I merge it? | 19:21 |
| fijal | we should maybe set a threshold | 19:21 |
| fijal | like length > 10 | 19:21 |
| fijal | or 100 | 19:22 |
| Alex_Gaynor | meh, not worth it IMO | 19:22 |
| CIA-53 | 03jell 07roundup * 10#972/inconsistence with cpython (datetime?): | 19:22 |
| CIA-53 | [new] pypy: | 19:22 |
| CIA-53 | Python 2.7.1 (7773f8fc4223, Nov 18 2011, 18:47:11) | 19:22 |
| CIA-53 | [PyPy 1.7.0 with GCC 4.4.3] on linux2 | 19:22 |
| CIA-53 | Type "help", "copyright", "credits" or "li ... * 14https://bugs.pypy.org/issue972 | 19:22 |
| jell | exarkun: ^^ | 19:22 |
| Alex_Gaynor | I'd just merge it | 19:22 |
| kenaan | 12fijal default 11441db5bbe505 15/pypy/module/micronumpy/: Merge numpy-faster-setslice, uses memcpy for setslice operations if possible | 19:22 |
| Alex_Gaynor | close branch! | 19:22 |
| Alex_Gaynor | fijal: ^ | 19:23 |
| fijal | sure | 19:23 |
| kenaan | 12fijal numpy-faster-setslice 116b116d5dea60 15/: close merged branch | 19:25 |
| fijal | 197 files updates | 19:25 |
| fijal | since yesterday | 19:25 |
| fijal | pypy is crazy | 19:25 |
| fijal | Alex_Gaynor: cool, I' | 19:26 |
| fijal | ll try to come up with the fastest algo now | 19:26 |
| Alex_Gaynor | ok | 19:26 |
| Niedar (~nnscript@ip68-231-248-182.hr.hr.cox.net) left irc: Ping timeout: 252 seconds | 19:26 | |
| amaury_ | hum, with py.test it's not recommended to write assert socket.recv(7) == 'abcdefg' | 19:26 |
| fijal | amaury_: no :) | 19:26 |
| amaury_ | because when it fails, recv() is called again | 19:26 |
| amaury_ | and is likely to block | 19:27 |
| fijal | yes | 19:27 |
| amaury_ | better store in a temp variable | 19:27 |
| exarkun | Oh, gugh. | 19:27 |
| exarkun | Stupid me. | 19:27 |
| nettok_ (~quassel@190.143.183.210) left irc: Remote host closed the connection | 19:27 | |
| exarkun | I guess buffer support doesn't matter to Twisted SSL anyway. | 19:27 |
| exarkun | Crap. Nevermind. I don't understand what's going on. | 19:28 |
| Alex_Gaynor | amaury_: fixed in the latest py.test though | 19:28 |
| Alex_Gaynor | amaury_: since it uses AST rewriting instead of reevaluation | 19:28 |
| amaury_ | good, let's use it! | 19:29 |
| Niedar (~nnscript@ip68-231-248-182.hr.hr.cox.net) joined #pypy. | 19:30 | |
| fijal | amaury_: no :/ | 19:31 |
| amaury_ | I have some issues with this in the py3k branch | 19:34 |
| amaury_ | when py.test reprocess the failing line, it uses python2 | 19:35 |
| hakanardo | will a bridge always end with one iteration of it's target loop? | 19:35 |
| amaury_ | and either crashes, or displays weird results e.g. with 'a' == b'a' | 19:35 |
| azanella (~azanella@189.6.80.207) left irc: Ping timeout: 240 seconds | 19:36 | |
| fijal | hakanardo: bridge starts in the middle of iteration and goes until it ends | 19:37 |
| fijal | I think | 19:37 |
| hakanardo | right, what I am looking at is two nested loops | 19:38 |
| hakanardo | the inner loop is compiled | 19:38 |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 19:39 | |
| hakanardo | a bridge is traced from the exit of the inner loop containing one iteration of the outer followed by one iteration of the inner | 19:39 |
| hakanardo | so the bridge ends with an extra unnecessera full iteration of the inner loop | 19:40 |
| fijal | that sounds bogus | 19:41 |
| hakanardo | yes, but what I dont under stand by looking at the code is why that does not happen for every bridge | 19:42 |
| fijal | isn't that the same distinction as in "to go to preamble or to go to the loop"? | 19:44 |
| hakanardo | it's similar indeed | 19:45 |
| hakanardo | but the loop is trace an extra time before optimizeopt gets to look at the trace | 19:46 |
| hakanardo | ie he never gets the chanse to check the virtualstate and say hey we can jump to the loop here | 19:46 |
| exarkun | sys.path is annoying. | 19:47 |
| Action: amaury_ just realized that big-endian storage actually ends with the smallest digits | 19:48 | |
| amaury_ | Why didn't they call it "big-startian" instead? | 19:48 |
| jell | spartian* | 19:48 |
| jell | this is sparta! | 19:48 |
| amaury_ | better than little-indian | 19:49 |
| exarkun | Why is PyPy loading modules from /usr/lib/python2.5/site-packages? | 19:49 |
| jell | amaury_: ;) | 19:49 |
| amaury_ | jell: http://www.wikipeetia.org/Indianness | 19:51 |
| jell | i'm reading now http://en.wikipedia.org/wiki/Endianness | 19:51 |
| jell | so it's also funny | 19:52 |
| jell | less that indianness.. | 19:52 |
| tumbleweed | exarkun: how on earth did you do that? | 19:52 |
| jell | peetia is too hard to read at that level of wine... | 19:53 |
| exarkun | tumbleweed: I don't know. Seems like a PyPy bug of some sort. | 19:54 |
| exarkun | The problem goes away when I unset PYTHONPATH (which does not include /usr/lib/python2.5/site-packages) | 19:55 |
| amaury_ | exarkun: some .pth file along the PYTHONPATH? | 19:56 |
| exarkun | amaury_: How would I know | 19:56 |
| jell | if there would be a simple method to check this... | 19:57 |
| fijal | exarkun: it should not be in sys.path | 19:57 |
| exarkun | fijal: I agree, but it is | 19:58 |
| fijal | it's not on my machine... | 19:58 |
| kenaan | 12amauryfa default 1160129de702dc 15/pypy/module/_multiprocessing/: Issue971: multiprocessing: Use network byte order to send the length of strings. | 19:58 |
| CIA-53 | 03afa 07roundup * 10#971/multiprocessing connection needs htonl/ntohl: [resolved] Fixed in 542ce3cc38d9, thanks for the report! * 14https://bugs.pypy.org/issue971 | 19:58 |
| exarkun | Well, okay, I got lucky and the first pth file I looked at has /usr/lib/python2.5/site-packages in it | 19:59 |
| exarkun | I don't think I've called setuptools a heap of garbage in here lately | 19:59 |
| exarkun | but it is | 19:59 |
| jell | strace it ;) | 20:00 |
| fijal | +1 | 20:00 |
| jell | srsly, check which files are open in time of startup | 20:01 |
| exarkun | jell: I found it already | 20:01 |
| amaury_ | CPython has a -v option for this | 20:01 |
| exarkun | amaury_: yea. PyPy should have it too. | 20:01 |
| jell | exactly | 20:01 |
| jell | it's also incompatibility | 20:02 |
| exarkun | Actually, it should have something better. -v is the worst thing that could be useful. | 20:02 |
| exarkun | Anyway. The frontend webserver for twistedmatrix.com is on PyPy now. I don't know why it's not having ssl problems this time, but so far it isn't. | 20:03 |
| fijal | wuhu! | 20:03 |
| fijal | http://twistedmatrix.com/trac/ | 20:03 |
| jell | exarkun: it's behind some fcgi server? | 20:03 |
| fijal | ^^^ this is the frontend? | 20:03 |
| exarkun | fijal: You're going through the frontend to get that page, yes. But trac is still on CPython, behind a reverse proxy. | 20:04 |
| fijal | ah ok | 20:04 |
| fijal | what would it take to move trac? | 20:04 |
| Alex_Gaynor | exarkun: for speed, or for awesomeness? | 20:04 |
| fijal | decent postgres support? | 20:04 |
| exarkun | Alex_Gaynor: Awesomeness | 20:04 |
| exarkun | fijal: That's definitely a requirement, yes. | 20:04 |
| jell | Server: TwistedWeb/11.1.0 | 20:04 |
| jell | :D | 20:04 |
| fijal | jell: dogfood | 20:05 |
| jell | i'm impressed ;) | 20:05 |
| pjenvey | you can blame python itself for .pth files, that's not a setuptools specific thing | 20:05 |
| fijal | exarkun: have you tried psycopg-ct | 20:05 |
| fijal | or however it is called? | 20:05 |
| exarkun | fijal: But there are other requirements | 20:05 |
| exarkun | fijal: Probably the worst requirement is libsvn | 20:05 |
| Action: fijal is listening | 20:05 | |
| fijal | uh | 20:05 |
| fijal | indeed | 20:05 |
| exarkun | Some swig stuff probably | 20:05 |
| fijal | there are pure-python svn libs | 20:05 |
| fijal | but I'm sure they have a very incompatible API | 20:05 |
| exarkun | yea | 20:06 |
| fijal | and all of them not work in one way or the other | 20:06 |
| exarkun | pjenvey: I think this one is - `easy-install.pth´ | 20:06 |
| exarkun | So moving trac will be very hard, I think | 20:06 |
| pjenvey | yep | 20:07 |
| exarkun | There is another service that requires psycopg and nothing else, I think | 20:07 |
| exarkun | I can try it on psycopg-ct I guess | 20:07 |
| exarkun | And the other major thing is mailman | 20:07 |
| exarkun | Anyone tried that on PyPy? | 20:07 |
| Action: fijal has no idea | 20:07 | |
| exarkun | http://pypi.python.org/pypi/psycopg2ct ? | 20:07 |
| jell | right link | 20:08 |
| exarkun | LGPL >:( | 20:08 |
| kenaan | 12hakanardo jit-improve-nested-loops 113c0b32210942 15/pypy/jit/metainterp/: Allow the bidge in cases like test_virtual.test_nested_loops to jump to the top of the innerlo... | 20:08 |
| fijal | This module is only tested with python 2.6+ and PyPy 1.6 | 20:08 |
| fijal | seems like they claim it works | 20:08 |
| exarkun | And psycopg2ct requires setuptools :( | 20:11 |
| fijal | yeah, a lot of software does these days | 20:11 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/643 [12hakanardo, jit-improve-nested-loops] | 20:11 |
| exarkun | Urgh. This will be difficult... | 20:12 |
| fijal | virtualenv helps usually | 20:13 |
| exarkun | I haven't found that to be the case | 20:14 |
| exarkun | But it doesn't handle postgresql-specific configuration issues, so I don't think it's applicable here. | 20:14 |
| fijal | ok | 20:15 |
| exarkun | The problem is the way postgresql is installed, I think. nothing to do with pypy really. but I don't know how to solve it. | 20:16 |
| jell | do http://pypi.python.org/pypi/pg8000/1.08 solve that issues? | 20:17 |
| jell | as IC it has also py3.x version... http://pypi.python.org/pypi/pg8000-py3/1.07 | 20:17 |
| Trundle (~andy@89.204.138.112) joined #pypy. | 20:17 | |
| Trundle (~andy@89.204.138.112) left irc: Changing host | 20:17 | |
| Trundle (~andy@python/site-packages/trundle) joined #pypy. | 20:17 | |
| exarkun | oh look, more setuptools dependencies | 20:17 |
| jell | :/ | 20:18 |
| fijal | Alex_Gaynor: seems I made setslice slower | 20:18 |
| exarkun | this crap is so obnoxious | 20:18 |
| Alex_Gaynor | fijal: o_O | 20:18 |
| DasIch (~dasich@p4FFDD616.dip.t-dialin.net) left irc: Remote host closed the connection | 20:19 | |
| exarkun | at least s/setuptools/distutils.core/ fixes it (but what the hell are these people thinking, using setuptools but not using any setuptools features?) | 20:19 |
| exarkun | jell: Well, it installs. I wonder if it works. | 20:19 |
| jell | try it, but... this could be "funny" | 20:19 |
| fijal | wtf? | 20:20 |
| fijal | ??? | 20:22 |
| jell | air it's somehow slower than psycopg, but much more pythonic (portable in jython/pypy/ironpython/cpython) | 20:22 |
| Alex_Gaynor | fijal: what exactly is slower now? | 20:22 |
| fijal | http://paste.pocoo.org/show/524193/ | 20:23 |
| fijal | I-dont-understand | 20:24 |
| jell | :D | 20:25 |
| Alex_Gaynor | fijal: unittests for supports_fast_slicing() ? | 20:27 |
| fijal | why? | 20:27 |
| exarkun | pg8000 seems to work | 20:27 |
| fijal | no, supports is fine | 20:27 |
| fijal | but the example here calls memcpy like a billion times | 20:27 |
| fijal | why? | 20:27 |
| Alex_Gaynor | I have no idea | 20:27 |
| Alex_Gaynor | get in there with pdb | 20:28 |
| Alex_Gaynor | on py.py | 20:28 |
| fijal | it seems to work just fine | 20:28 |
| Alex_Gaynor | and yet, 1 billion memcpy calls | 20:29 |
| jell | exarkun: nice to read | 20:30 |
| jell | exarkun: it's much slower than psycopg2? in that test on cpython...? | 20:31 |
| jell | exarkun: did You probably checked this? | 20:31 |
| fijal | in pdb it's fine | 20:31 |
| exarkun | jell: I have no way to measure performance | 20:32 |
| exarkun | I'm still trying to switch the service over to it | 20:32 |
| fijal | Alex_Gaynor: ??? | 20:32 |
| fijal | Alex_Gaynor: it seems it calls it 10x too many times | 20:32 |
| Alex_Gaynor | fijal: ? | 20:32 |
| Alex_Gaynor | precisely 10x? | 20:32 |
| fijal | not precisely | 20:33 |
| fijal | but I don't know how much I trust valgrind | 20:33 |
| Alex_Gaynor | try with ltrace? | 20:33 |
| Alex_Gaynor | although other stuff uses memcpy too | 20:33 |
| fijal | yes | 20:36 |
| fijal | but not in the same loop | 20:36 |
| fijal | I'm measuring differences between loop invocations | 20:36 |
| fijal | oh bymmer | 20:41 |
| fijal | it's memcopy called from ll_extend | 20:41 |
| fijal | from BaseArray.create_slice | 20:41 |
| stakkars_ (~tismer@89.204.153.192) left irc: Quit: schnarch | 20:42 | |
| Alex_Gaynor | fijal: is it causing the slowdown, or just messing up looking at the numbers? | 20:43 |
| Alex_Gaynor | it's not like we didn't create slices before | 20:44 |
| fijal | just messing up with numbers | 20:44 |
| fijal | on top of that jitviewer stopped working | 20:44 |
| brownan (~brownan@cpe-065-190-056-090.nc.res.rr.com) joined #pypy. | 20:48 | |
| brownan | hi everyone. amaury_: thanks for fixing the multiprocessing issue earlier. However, I'm getting an error when I translate it | 20:50 |
| amaury_ | huh, sorry | 20:50 |
| amaury_ | which error? | 20:51 |
| brownan | one sec... | 20:51 |
| brownan | https://gist.github.com/1507762 | 20:51 |
| amaury_ | let me fix it | 20:52 |
| Alex_Gaynor | fijal: ATM for me we're about tied on this with CPython | 20:53 |
| brownan | thanks | 20:53 |
| abki_ (~Amirouche@hyper.pilotsystems.net) left irc: Quit: leaving | 20:55 | |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy. | 20:57 | |
| jnoller (~jnoller@vpn.nasuni.com) left irc: | 21:01 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/643 [12hakanardo, jit-improve-nested-loops] | 21:04 |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving | 21:05 | |
| `fox` (~fox@95.237.108.196) joined #pypy. | 21:06 | |
| kenaan | 12amauryfa default 11d94baec282bc 15/pypy/module/_multiprocessing/interp_connection.py: Attempt to fix translation | 21:15 |
| amaury_ | brownan: probably fixed | 21:15 |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 276 seconds | 21:15 | |
| brownan | amaury_: cool thanks. I'll give it a shot | 21:15 |
| kkris (~kris@93-82-32-38.adsl.highway.telekom.at) left irc: Quit: Leaving. | 21:18 | |
| DasIch (~dasich@p4FFDD616.dip.t-dialin.net) joined #pypy. | 21:22 | |
| dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) joined #pypy. | 21:25 | |
| maxyz (~maxy@186.18.94.35) left irc: Quit: WeeChat 0.3.2 | 21:26 | |
| exarkun | I guess... I guess pg8000 on PyPy is faster than psycopg2 on CPython? For this application, at least. On my highly unscientific benchmark. | 21:34 |
| lcubo (~leonardo@190.94.99.125) left irc: Ping timeout: 252 seconds | 21:35 | |
| exarkun | Something like 1.2s to handle a request on CPython vs 0.4s to handle the same request on PyPy. | 21:35 |
| exarkun | I don't know where the performance difference actually is. It's not a _very_ database heavy application. | 21:36 |
| exarkun | It could well be that pg8000 is slower than psycopg2, but PyPy is faster for all the rest of the processing. | 21:36 |
| derdon (~derdon@p5DE8B77E.dip.t-dialin.net) joined #pypy. | 21:37 | |
| amaury_ | exarkun: does the cpyext buffer interface work, btw? | 21:44 |
| exarkun | amaury_: It's a mystery. | 21:45 |
| amaury_ | ah | 21:45 |
| exarkun | I completely failed to reproduce the issue. | 21:45 |
| exarkun | I _think_ maybe I was accidentally using a very old version of either Twisted or pyOpenSSL or both when I initially encountered it | 21:45 |
| exarkun | But I have no way of knowing | 21:45 |
| exarkun | I will try to do some extra testing, though, just to verify that it does work, even though it seems I don't need it in practice right now. | 21:46 |
| `fox` (~fox@95.237.108.196) left irc: Ping timeout: 252 seconds | 21:51 | |
| Alex_Gaynor | gutworth: ping | 21:55 |
| gutworth | pong for a few minutes | 21:58 |
| Alex_Gaynor | gutworth: I'm putting together a quick blogpost on pypy at pycon, can I have the teaser paragraph for you talk? | 21:59 |
| Alex_Gaynor | (technically I have access to it since I'm on the pycon-pc, can I use it?) | 21:59 |
| gutworth (~benjamin@64-131-9-52.usfamily.net) left irc: Ping timeout: 248 seconds | 22:05 | |
| gutworth (~benjamin@64-131-9-52.usfamily.net) joined #pypy. | 22:05 | |
| Rhy0lite (dje@nat/ibm/x-rwvftegyfvewsnuq) left irc: Quit: Leaving | 22:16 | |
| cco3 (conleyo@nat/google/x-evoqkaxsbacvtqkr) joined #pypy. | 22:16 | |
| cco3 | Can I run pypy without translation or a C compiler? | 22:16 |
| amaury_ | well, you can download a precompiled pypy | 22:17 |
| amaury_ | you can run an untranslated pypy (sloow but works) | 22:17 |
| amaury_ | but it needs a C compiler for some "configure" tasks | 22:18 |
| cco3 | Hmm...that's really too bad | 22:19 |
| amaury_ | are you on windows? | 22:19 |
| cco3 | no | 22:19 |
| amaury_ | why would you run an untranslated pypy? | 22:20 |
| cco3 | Using the sandboxing feature | 22:20 |
| cco3 | A larger (python) program that occassionally runs untrusted code | 22:21 |
| cco3 | I think it'd be neat if such a thing didn't have to make system calls | 22:21 |
| cco3 | to the C compiler or a translated pypy | 22:22 |
| amaury_ | But the pypy-c-sandbox program must be compiled | 22:24 |
| cco3 | I was afraid of that.... | 22:25 |
| amaury_ | if you try to run untrusted Python code on top of a normal CPython | 22:25 |
| amaury_ | even with a complex library | 22:25 |
| amaury_ | it won't be secure | 22:26 |
| cco3 | Is that true? Cpython would just be running pypy, and pypy should make sure not to do anything that would constitute a call to the OS, right? | 22:26 |
| amaury_ | pypy-c-sandbox is safe because it does not contain any reference to "dangerous" C functions | 22:27 |
| cco3 | ah, I see...so it's a modification to the translator...pypy itself is agnostic to the whole sandboxing thing | 22:28 |
| cco3 | is that a correct understanding? | 22:28 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/180 | 22:30 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/752 | 22:30 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/988 | 22:30 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/8 | 22:30 |
| amaury_ | yes, C function calls are replaced by remote calls to the controller | 22:30 |
| amaury_ | libc function calls | 22:30 |
| cco3 | ok thanks...and why does pypy (without sandboxing) need a C compiler for the configuring tasks? | 22:33 |
| amaury_ | when you start bin/py.py (an interpreted pypy) | 22:35 |
| amaury_ | it may want to access low level C functions | 22:36 |
| amaury_ | for this, we use ctypes at some level | 22:36 |
| cco3 | ah, ok | 22:36 |
| amaury_ | but pypy needs to know a few things like the value of some defines, various sizeof etc. | 22:37 |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 22:41 | |
| dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) left irc: Quit: Leaving | 22:47 | |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) joined #pypy. | 22:48 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 255 seconds | 22:50 | |
| kenaan | 12amauryfa py3k 11221a0077614d 15/pypy/module/imp/: Implement imp.source_from_cache() Kind of... we still use the old .py/pyc scheme. | 22:51 |
| kenaan | 12amauryfa py3k 11dce4b22308da 15/: Fix almost all tests in module/_sre | 22:51 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1484 [12amaury, py3k] | 22:51 |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Remote host closed the connection | 23:08 | |
| kenaan | 12amauryfa py3k 11ceb5f49d0eeb 15/pypy/objspace/std/: set.__repr__ uses the new set literal syntax: {1, 2, 3} | 23:09 |
| brownan | amaury_: It works! I just finished a translation and verified that multiprocessing communication between cpython and pypy works | 23:12 |
| brownan | thank you! | 23:12 |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Read error: Operation timed out | 23:14 | |
| zain | hot damn. pypy translated successfully on my macbook air + osx | 23:16 |
| zain | pretty awesome, guys | 23:16 |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 23:16 | |
| Alex_Gaynor | zain: we try :) | 23:17 |
| whitelynx (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat | 23:17 | |
| voidspace (~voidspace@python/psf/voidspace) joined #pypy. | 23:18 | |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) left irc: Quit: Konversation terminated! | 23:19 | |
| Circlefusion (~cf@74-138-199-109.dhcp.insightbb.com) left irc: Read error: Operation timed out | 23:28 | |
| nettok (~quassel@200.119.172.118) joined #pypy. | 23:34 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Disconnected by services | 23:41 | |
| nedbat_ (~nedbat@python/psf/nedbat) joined #pypy. | 23:41 | |
| Nick change: nedbat_ -> nedbat | 23:56 | |
| --- Thu Dec 22 2011 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!