| overminder (~overminde@wf096-099.ust.hk) joined #pypy. | 00:08 | |
| antocuni (~antocuni@host129-122-dynamic.16-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 00:17 | |
| _pyre_1 (~stian@137.241.189.109.customer.cdi.no) left irc: Ping timeout: 255 seconds | 00:17 | |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 00:29 | |
| Rhyolite (~dje@pool-108-6-25-71.nycmny.fios.verizon.net) left irc: Quit: Leaving | 00:34 | |
| asmeurer___ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Ping timeout: 252 seconds | 00:36 | |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 00:39 | |
| Rhyolite (~dje@pool-108-6-25-71.nycmny.fios.verizon.net) joined #pypy. | 00:41 | |
| CIA-13 | 03nirbheek 07roundup * 10#956/os.fdopen() is broken with fds returned by os.openpty(): | 00:43 |
|---|---|---|
| CIA-13 | [new] $title, test case attached. | 00:43 |
| CIA-13 | Open a pair of fds using os.openpty(): | 00:43 |
| CIA-13 | * os.read() from the master pty fd works fine | 00:43 |
| CIA-13 | * os.fdopen().read() ... * 14https://bugs.pypy.org/issue956 | 00:43 |
| jterrace (~jterrace@aegis.CS.Princeton.EDU) left irc: Quit: Leaving. | 00:45 | |
| dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) left irc: Quit: Leaving | 00:48 | |
| K-os (~gabriel@cl-3210.ham-01.de.sixxs.net) left irc: Remote host closed the connection | 00:55 | |
| Nick change: Gulaway -> Gulopine | 00:56 | |
| etrepum (~bob@accessnat4.mochimedia.net) left irc: Quit: etrepum | 00:59 | |
| kennethreitz (~kennethre@204.14.152.118) joined #pypy. | 01:03 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/162 | 01:06 |
| aurojit (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection | 01:06 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 01:06 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Ping timeout: 240 seconds | 01:11 | |
| whitelynx (~whitelynx@75.111.197.204) left irc: Ping timeout: 252 seconds | 01:16 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/736 | 01:22 |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Remote host closed the connection | 01:24 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy. | 01:31 | |
| whitelynx (~whitelynx@75.110.189.230) joined #pypy. | 01:32 | |
| CIA-13 | 03nirbheek 07roundup * 10#957/module hashlib is broken for non-standard digest algorithms: | 01:32 |
| CIA-13 | [new] Hash functions supported by openssl which aren't already in the hashlib.py tests | 01:32 |
| CIA-13 | do not work, and either return a blank digest, or raise SI ... * 14https://bugs.pypy.org/issue957 | 01:32 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1879 | 01:37 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/297 | 01:37 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/616 | 01:37 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1144 | 01:37 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/634 | 01:37 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/819 | 01:37 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1461 | 01:37 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/740 | 01:37 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/285 | 01:37 |
| Niedar (gfghfghf@host-173-230-2-133.vanodod.clients.pavlovmedia.com) joined #pypy. | 01:39 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 01:40 | |
| linluxiang (~linluxian@218.107.55.253) joined #pypy. | 01:50 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy. | 01:55 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection | 02:07 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 02:07 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/285 | 02:10 |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Ping timeout: 240 seconds | 02:11 | |
| mat^2 (~mathias@212.130.113.35) left irc: | 02:14 | |
| linluxiang (~linluxian@218.107.55.253) left irc: Quit: linluxiang | 02:16 | |
| DanKluev (~root@93-88-2-072-xdsl.vntc.ru) left irc: Ping timeout: 248 seconds | 02:25 | |
| bbot2 | 4Finished ??: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/966 | 02:29 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1879 | 02:29 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1144 | 02:29 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/819 | 02:29 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1461 | 02:29 |
| bbot2 | 13Exception: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/616 | 02:29 |
| bbot2 | 13Exception: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/634 | 02:29 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/740 | 02:29 |
| cwillu (~cwillu@cwillu.com) left irc: Ping timeout: 244 seconds | 02:29 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/967 | 02:29 |
| hakanardo (~hakan@h59ec009e.seluldx.dyn.perspektivbredband.net) left irc: Ping timeout: 252 seconds | 02:31 | |
| hakanardo (~hakan@h59ec009e.seluldx.dyn.perspektivbredband.net) joined #pypy. | 02:32 | |
| lotrpy (~lotrpy@202.120.58.116) joined #pypy. | 02:33 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 02:34 | |
| ericflo (~ericflo@75.103.8.110) left irc: Quit: ericflo | 02:38 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 02:39 | |
| DanKluev (~root@78-24-225-196-dsl.vntc.ru) joined #pypy. | 02:40 | |
| Moku (~John@osbk-4db16ffd.pool.mediaWays.net) joined #pypy. | 02:41 | |
| Shanita (~John@osbk-4db15ac2.pool.mediaWays.net) left irc: Ping timeout: 240 seconds | 02:41 | |
| Nick change: Moku -> Guest66623 | 02:41 | |
| kennethreitz (~kennethre@204.14.152.118) left irc: Quit: Computer has gone to sleep. | 02:53 | |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 244 seconds | 02:55 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 02:56 | |
| mwhudson (~mwh@120.136.5.22) left irc: Ping timeout: 240 seconds | 03:05 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 03:07 | |
| zk (~is@whatit.is) left irc: Quit: leaving | 03:23 | |
| linq (~ident@24-246-25-39.cable.teksavvy.com) joined #pypy. | 03:30 | |
| linq | Typo on PyPy's PyCon page | 03:30 |
| linq | limites -> limits | 03:30 |
| linq | https://us.pycon.org/2012/schedule/presentation/243/ | 03:30 |
| harrison (~quassel@adsl-69-209-222-31.dsl.chcgil.sbcglobal.net) left irc: Remote host closed the connection | 03:46 | |
| dD0T (~dD0T@unaffiliated/dd0t) left irc: Quit: Ohhhh nooeeezzzz, my uptime!!1111eleven | 03:49 | |
| dD0T (~dD0T@unaffiliated/dd0t) joined #pypy. | 03:50 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 03:50 | |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 04:00 | |
| Varriount_ (~Varriount@hnng.public-craft.com) left irc: Read error: Connection reset by peer | 04:04 | |
| Varriount (~Varriount@hnng.public-craft.com) joined #pypy. | 04:11 | |
| zk (~is@whatit.is) joined #pypy. | 04:14 | |
| thinker` (~thinker@203.69.99.17) joined #pypy. | 04:24 | |
| thinker` (~thinker@203.69.99.17) left irc: Ping timeout: 240 seconds | 04:33 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/967 | 04:51 |
| gutworth (~benjamin@128.36.84.91) left irc: Ping timeout: 268 seconds | 05:03 | |
| durin42 (~durin@adium/durin42) left irc: Ping timeout: 240 seconds | 05:08 | |
| durin42 (~durin@adium/durin42) joined #pypy. | 05:10 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection | 05:11 | |
| gutworth (~benjamin@dhcp-128-36-84-91.central.yale.edu) joined #pypy. | 05:15 | |
| cwillu (~cwillu@cwillu.com) joined #pypy. | 05:16 | |
| gutworth (~benjamin@dhcp-128-36-84-91.central.yale.edu) left irc: Ping timeout: 248 seconds | 05:26 | |
| Guest66623 (~John@osbk-4db16ffd.pool.mediaWays.net) left irc: Remote host closed the connection | 05:31 | |
| Guest66623 (~John@osbk-4db16ffd.pool.mediaWays.net) joined #pypy. | 05:31 | |
| whitelynx (~whitelynx@75.110.189.230) left irc: Ping timeout: 240 seconds | 05:33 | |
| whitelynx (~whitelynx@75.111.197.204) joined #pypy. | 05:47 | |
| thinker` (~thinker@203.69.99.17) joined #pypy. | 05:52 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Remote host closed the connection | 06:07 | |
| Nick change: Gulopine -> Gulaway | 06:11 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy. | 06:16 | |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 244 seconds | 06:22 | |
| kdas_ (kdas@nat/redhat/x-ipahvqqyrgigkrke) joined #pypy. | 06:45 | |
| kdas_ (kdas@nat/redhat/x-ipahvqqyrgigkrke) left irc: Client Quit | 06:47 | |
| fijal (~fijal@41.49.102.71) joined #pypy. | 06:49 | |
| fijal | hi | 06:53 |
| mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) joined #pypy. | 07:09 | |
| Ademan (~dan@adsl-71-141-224-79.dsl.snfc21.pacbell.net) joined #pypy. | 07:21 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/297 | 07:30 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 07:32 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 07:41 | |
| EnCuKou (~encukou@a91-156-243-246.elisa-laajakaista.fi) left irc: Remote host closed the connection | 07:47 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 07:50 | |
| arigato (~arigo@82.113.99.131) joined #pypy. | 07:51 | |
| Ademan (~dan@adsl-71-141-224-79.dsl.snfc21.pacbell.net) left irc: Quit: leaving | 07:56 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 240 seconds | 07:57 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 08:02 | |
| fijal | arigato: hi | 08:16 |
| fijal | arigato: quick question, can we remove gc.disable/gc.enable in timeit? | 08:16 |
| antocuni (~antocuni@host129-122-dynamic.16-79-r.retail.telecomitalia.it) joined #pypy. | 08:18 | |
| overminder (~overminde@wf096-099.ust.hk) left irc: Quit: Leaving | 08:18 | |
| cwillu_at_work (~cwillu@cwillu-1-pt.tunnel.tserv13.ash1.ipv6.he.net) left irc: Ping timeout: 252 seconds | 08:20 | |
| arigato | hi | 08:21 |
| arigato | and get two different timeit that give different numbers on CPython? looks like a bad idea | 08:23 |
| mikefc | timeout/gc.quantum_state() | 08:23 |
| fijal | arigato: well | 08:24 |
| fijal | arigato: it's already better than what it is now | 08:24 |
| fijal | I think | 08:24 |
| fijal | because if you have finalizers, they won't run | 08:24 |
| fijal | so it might even lead to some sort of problems | 08:24 |
| fijal | but okish | 08:24 |
| Action: mikefc grabs a nightly | 08:24 | |
| fijal | arigato: so, want to discuss the thing that you showed yesterday? | 08:25 |
| arigato | fijal: ah, well, I'm ok if the modified version calls gc.disable/enable on CPython but not on pypy | 08:25 |
| fijal | I know why it's slow (I think) :) | 08:25 |
| mikefc | woo. multi dim arrays :) | 08:29 |
| mikefc | in numpypy | 08:29 |
| JaredWigmore (~JaredW@118.142.17.238) left irc: Ping timeout: 244 seconds | 08:30 | |
| cwillu_at_work (~cwillu@cwillu-1-pt.tunnel.tserv13.ash1.ipv6.he.net) joined #pypy. | 08:31 | |
| fijal | mikefc: that's done for like weeks | 08:34 |
| WildChild (~wildchild@modemcable165.184-57-74.mc.videotron.ca) left irc: Read error: Connection reset by peer | 08:43 | |
| WildChild (~wildchild@modemcable165.184-57-74.mc.videotron.ca) joined #pypy. | 08:43 | |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 08:44 | |
| WildChild (~wildchild@modemcable165.184-57-74.mc.videotron.ca) left irc: Read error: Connection reset by peer | 08:47 | |
| WildChild (~wildchild@modemcable165.184-57-74.mc.videotron.ca) joined #pypy. | 08:48 | |
| lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) joined #pypy. | 08:48 | |
| thinker` (~thinker@203.69.99.17) left irc: Ping timeout: 240 seconds | 08:50 | |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer_ | 08:53 | |
| stakkars | arigato: hi armin | 09:16 |
| stakkars | arigato: I'm stuck. when I test "test_rmmap.py" on default, I get a prebuilt constant error | 09:18 |
| stakkars | and I cannot find why. it is not in rmmap.py. | 09:18 |
| stakkars | but when I use my branch, the error is gone. | 09:19 |
| stakkars | crazy, I have no idea where to look | 09:19 |
| stakkars | I applied my rmmap changes to default, but no change, the pbc hides elsewhere. | 09:20 |
| stakkars | sigh, blocks me | 09:21 |
| squiddy (~squiddy@f053080138.adsl.alicedsl.de) joined #pypy. | 09:21 | |
| fijal | Alex_Gaynor: ping | 09:23 |
| G2P (~G2P@fw-asn1.ornis.com) joined #pypy. | 09:23 | |
| mikefc | fijal: it wasn't in 1.7. I'm only just starting to follow pypy closely. | 09:24 |
| Fluxid | fijal: i've run it outside virtualenv with no installed mako, cache info included: http://paste.pocoo.org/show/517436/ | 09:25 |
| fijal | mikefc: right, got merged just after 1.7 | 09:25 |
| fijal | Fluxid: there is definitely some sort of difference between various machines | 09:25 |
| fijal | Fluxid: old processor? | 09:26 |
| fijal | Fluxid: what's that anyway? | 09:27 |
| fijal | Fluxid: can you paste one of the entries of /proc/cpuinfo? | 09:27 |
| Fluxid | http://paste.pocoo.org/show/517438/ | 09:27 |
| fijal | ok | 09:28 |
| Fluxid | it has about 3-4 years, i think | 09:28 |
| fijal | @#$%^&%^&!@#^%$%$@#$%$^@#$@#$@ | 09:28 |
| fijal | WHAT THE FUCK | 09:28 |
| Fluxid | ? | 09:28 |
| fijal | Fluxid: so, those processors have 512 L2 cache per die | 09:28 |
| fijal | + 2M L3 cache | 09:28 |
| fijal | now | 09:28 |
| fijal | WHY THE LATTER PART IS NOT MENTIONED ANYWHERE? | 09:28 |
| Fluxid | uh, are you screaming on me? | 09:29 |
| fijal | no | 09:29 |
| fijal | on AMD | 09:29 |
| Fluxid | i got scared for a while | 09:29 |
| fijal | Fluxid: ok, now go to pypy-benchmarks/own/ | 09:29 |
| fijal | and run | 09:29 |
| Fluxid | let me check one more thing from admin, maybe this is a virtual, i don't really know | 09:30 |
| fijal | PYPY_GC_NURSERY=1M PYTHONPATH=../lib/mako pypy bm_mako.py -n 50 | 09:30 |
| fijal | and try this for various values of PYPY_GC_NURSERY | 09:30 |
| fijal | 384k 512k 768k 1M 1.5M 2M | 09:30 |
| fijal | maybe you need 1500k instead of 1.5M | 09:31 |
| fijal | and see the differences | 09:31 |
| stakkars | fijal: I think yelling is not adequate. I'd express it differently | 09:31 |
| fijal | stakkars: yes? | 09:31 |
| CIA-13 | 03fijal 07roundup * 10#958/AMD Opterons don't specify their L3 cache size: | 09:34 |
| CIA-13 | [new] This is a processor: http://www.newegg.com/Product/Product.aspx? | 09:34 |
| CIA-13 | Item=N82E16819105192 and this is what's in /proc/cpuinfo: | 09:34 |
| CIA-13 | http://paste.p ... * 14https://bugs.pypy.org/issue958 | 09:34 |
| Fluxid | fijal: there's a huge difference. with 2M i get 1.58 smaller times than with 384k, and 1.67 times smaller than without PYPY_GC_NURSERY | 09:38 |
| Fluxid | so that's why... | 09:39 |
| fijal | well ok | 09:39 |
| fijal | so | 09:39 |
| fijal | pypy uses cache more efficiently than cpython | 09:39 |
| fijal | however, the efficient use of cache depends on being able to read it's size | 09:39 |
| fijal | we've seen a billion ways to spell it in /proc/cpuinfo.... | 09:39 |
| fijal | like | 09:40 |
| fijal | there is no way of telling if this is per-die or total | 09:40 |
| fijal | I can't really tell you anything right now other than specify PYPY_GC_NURSERY | 09:40 |
| Fluxid | thank you | 09:41 |
| fijal | what lscpu tells you? | 09:41 |
| fijal | great | 09:43 |
| Fluxid | fijal: it tells me it doesn't exist | 09:43 |
| fijal | :/ | 09:43 |
| CIA-13 | 03fijal 07roundup * 10#958/AMD Opterons don't specify their L3 cache size: | 09:43 |
| CIA-13 | [chatting] On my machine at least there is lscpu which tells me more. We should look at the | 09:43 |
| CIA-13 | source code and maybe steal something. * 14https://bugs.pypy.org/issue958 | 09:43 |
| arigato | fijal: I think that nowadays setting the nursery size to half the cache size is a bit pointless | 09:46 |
| arigato | fijal: we should just set it to 2 or 4MB and be done with it | 09:46 |
| fijal | arigato: indeed maybe | 09:46 |
| fijal | arigato: but we're again loosing because our nursery size is very much inefficient | 09:46 |
| arigato | e.g. on tannit it makes no difference if the nursery is larger than the cache or not | 09:46 |
| fijal | right | 09:46 |
| fijal | but mako is much faster on tannit than it is on my machine | 09:47 |
| Fluxid | fijal: does benchmark runner cleanup environment? | 09:47 |
| fijal | Fluxid: yes | 09:47 |
| fijal | Fluxid: leftovers after unladen_swallow | 09:47 |
| fijal | there are options to avoid that | 09:47 |
| Fluxid | bah | 09:47 |
| arigato | for all I know we could use another technique I've seen in GCs, which is to not have a fixed nursery size: | 09:47 |
| arigato | they just allocate until the absolute maximum is reached, but then they run a minor collection instead of a major one | 09:48 |
| arigato | (most of the time) | 09:48 |
| fijal | arigato: my machine has mako that's ~10% faster than CPython, tannit has 2x | 09:48 |
| arigato | fijal: mako is indeed 2x faster with PYPY_GC_NURSERY=4MB rather than 1MB | 09:54 |
| arigato | almost | 09:54 |
| fijal | I have 4M of cache | 09:55 |
| fijal | +512/core | 09:55 |
| fijal | does not seem reasonable to have 2M nursery | 09:55 |
| arigato | I don't think at this point we have to care about what "seems" reasonable or not, but just measure | 09:56 |
| fijal | okey | 09:56 |
| Fluxid | what gc nursery is exactly? | 09:56 |
| fijal | the thing is we should not measure just on tannit | 09:56 |
| arigato | e.g. on my laptop with 8MB is still a bit faster | 09:56 |
| arigato | but with 16MB it makes no difference | 09:56 |
| arigato | that's all on a 3MB cache laptop | 09:56 |
| arigato | (more importantly it does not go down again) | 09:57 |
| fijal | right | 09:59 |
| fijal | for mako at least | 09:59 |
| aleksi (~aleksi@85.235.191.82) joined #pypy. | 09:59 | |
| fijal | for gc bench it goes down | 09:59 |
| fijal | by a bit | 09:59 |
| fijal | on my machine | 09:59 |
| fijal | but also it's not as drastic as underestimating | 09:59 |
| Action: lucian is impressed by azul http://www.infoq.com/presentations/Understanding-Java-Garbage-Collection | 10:00 | |
| fijal | lucian: did you use it? | 10:01 |
| lucian | fijal: no, just saw demos | 10:01 |
| fijal | ah ok :) | 10:01 |
| lucian | i'd like to use it, but it's exclusive/expensive | 10:01 |
| fijal | then they just have a great PR | 10:01 |
| fijal | right | 10:01 |
| fijal | ? | 10:01 |
| lucian | not really, they have great GCs | 10:02 |
| lucian | and pretty good VMs | 10:02 |
| fijal | how do you know? | 10:02 |
| fijal | if you never used it? | 10:02 |
| lucian | second hand statistics, yeah | 10:02 |
| fijal | they're not even second hand | 10:02 |
| fijal | since they come from azul themselves right? | 10:02 |
| lucian | no, folks like Rich Hickey have played with their VMs | 10:03 |
| fijal | ok | 10:03 |
| fijal | slightly better :) | 10:03 |
| lucian | yes, i'm not sold until i run on it | 10:04 |
| lucian | but it looks very promising | 10:04 |
| fijal | we should sell pypy enterprise edition | 10:04 |
| lucian | perhaps you should | 10:04 |
| lucian | activestate are doing well | 10:04 |
| fijal | they do tons of stuff | 10:04 |
| fijal | though | 10:04 |
| lucian | sure. but their main product is enterprise runtimes + support | 10:05 |
| arigato (~arigo@82.113.99.131) left irc: Ping timeout: 252 seconds | 10:05 | |
| lucian | fijal: anyway, i found the video interesting regardless of their products | 10:06 |
| stakkars_ (~stakkars@89.204.138.198) joined #pypy. | 10:06 | |
| ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) joined #pypy. | 10:07 | |
| stakkars_ | Help! If the annotator complains about a PBC, how do I locate whwre it comes feom? | 10:08 |
| fijal | stakkars_: what does it complain about? | 10:09 |
| kenaan | 12fijal refactor-signature 111f2faa79c08d 15/pypy/module/micronumpy/: start refactoring signature. not yet rpython | 10:09 |
| stakkars_ | It is an unsigned -1 which comes from somewhere, on rmmap default win32 | 10:10 |
| fijal | how is -1 a PBC? | 10:11 |
| stakkars_ | It complains about the long. No prob to fix, I just can't find | 10:11 |
| stakkars_ | seems to be some uint | 10:12 |
| fijal | no idea | 10:14 |
| stakkars_ | Has the bit pattern but is unsigned. When is a pbc built? If a constant is generated in rpython? | 10:14 |
| timotimo | at first i thought it was a Process Control Block, but the letters are the other way around. what's a PBC? | 10:15 |
| stakkars_ | Prebuilt constant | 10:15 |
| timotimo | ah, ok | 10:15 |
| fijal | stakkars_: if it's seen by anntotator | 10:17 |
| stakkars_ | Some code in the context of test_rmmap :: test_create generates a PBC that has the pattern r_uint(-1) and complains | 10:19 |
| fijal | uh | 10:20 |
| stakkars_ | fijal: yes? What makes the annotator see what it better should't ? :-) | 10:20 |
| stakkars_ | and on my branch it does not happen. Would make me happy if I knew why | 10:21 |
| fijal | stakkars_: there are a lot of -1 | 10:21 |
| fijal | there | 10:21 |
| fijal | like -1 casted to a pointer | 10:21 |
| stakkars_ | and again winnows only, so nobody recognizes but me | 10:22 |
| stakkars_ | fijal: When would the annotator see it? | 10:22 |
| fijal | I don't know what do you mean by your question | 10:23 |
| fijal | when annotating | 10:23 |
| fijal | pbcs are built when it discoveres a value can't cache | 10:23 |
| fijal | change | 10:23 |
| stakkars_ | If the calue comes from the module globals it seems ok. So how is the peoblem created. If the constant is computed by rpython? | 10:25 |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 10:27 | |
| stakkars_ | Does the ann recognize it if a variable turns into a constant? | 10:27 |
| fijal | if you have just one possible value then usually yes | 10:29 |
| fijal | x = 1 | 10:29 |
| fijal | if x: | 10:29 |
| fijal | that's handled by a flow space | 10:29 |
| fijal | but slightly more advanced example would do | 10:29 |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) joined #pypy. | 10:32 | |
| stakkars_ | Ok, if I have x=r_uint(-1) as expression in rpython, would that become a PBC and then I get the complaint about a long? | 10:33 |
| voidspace (~voidspace@python/psf/voidspace) left irc: Quit: Uhm... gotta go | 10:35 | |
| stakkars_ | And if I put this into the flobals setup as constant, there is bo PBC built? Confuses me vwry much | 10:36 |
| fijal | hakanardo: hey | 10:36 |
| fijal | stakkars_: I have no idea | 10:36 |
| stakkars_ | sorry about typos, iphone keyboard | 10:37 |
| witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy. | 10:37 | |
| stakkars_ | Is there a way to find the location of the constant operation? | 10:38 |
| kenaan | 12fijal refactor-signature 115ccd3a82d52d 15/pypy/module/micronumpy/: make this rpython | 10:39 |
| fijal | I honestly don't understand what you're saying | 10:39 |
| fijal | put a pdb in __init__ of PBC and see where it comes from | 10:39 |
| stakkars_ | ah? Will try, thanks | 10:41 |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 10:41 | |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 10:41 | |
| voidspace (~anonymous@python/psf/voidspace) joined #pypy. | 10:41 | |
| kenaan | 12fijal refactor-signature 1100c7a228329b 15/pypy/module/micronumpy/: fix forced signature | 10:51 |
| kenaan | 12fijal refactor-signature 11e08b8dbb9fb8 15/pypy/module/micronumpy/interp_numarray.py: reindent | 10:53 |
| kenaan | 12fijal refactor-signature 116d4692380e8f 15/pypy/module/micronumpy/signature.py: oops, forgot to remove | 10:53 |
| mikefc | ugh. where is scipy.ndimage.save (not related to pypy) | 10:56 |
| arigato (~arigo@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 10:57 | |
| fijal | where as in where is it implemented? | 10:57 |
| fijal | arigato: hi | 10:57 |
| mikefc | fijal: i just can't find a save method in the docs. | 10:57 |
| arigato | hi | 10:57 |
| fijal | oh | 10:57 |
| fijal | arigato: want to discuss options for the slowness you pointed out yesterday? | 10:58 |
| arigato | I try to stay uninvolved in numpy business, but sure, shoot your suggestions at me :-) | 11:00 |
| mikefc | "someone" needs to write a new PIL | 11:01 |
| fijal | arigato: ok, well, fine :) | 11:04 |
| Action: arigato reboots tannit | 11:04 | |
| fijal | arigato: well, I don't actually know how to solve it | 11:05 |
| fijal | probably not exposing this stuff to the JIT would be a good first step | 11:05 |
| stakkars_ | Ok, I seem to understand. An expr "x = r_uint(-1)" is handled by flowspace. But if it is more complex, the annotator finds out and hits me with that limitation. Not a nice limitation. But now I can find it | 11:06 |
| stakkars_ | mikefc: Write to Fredrik Lundh if he still has a pure Python impl of PIL | 11:08 |
| stakkars_ | that would be interesting to feed the Jit with | 11:09 |
| Action: mikefc looks into it | 11:09 | |
| arigato | stakkars_: the 'socket' module on default on win32 translates fine for me | 11:13 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/741 [12arigo] | 11:14 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/617 [12arigo] | 11:14 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1880 [12arigo] | 11:14 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1145 [12arigo] | 11:14 |
| stakkars_ | arigato: Great. Still hunting a PBC mess in rmmap. Will check in about an hour, on my way to the office | 11:15 |
| arigato | ah, that's in mmap | 11:15 |
| stakkars_ | Happens on Default and is really not in rmmap | 11:17 |
| stakkars_ | but in something that rmmap uses | 11:19 |
| stakkars_ | try test_rmmap:test_create and it complains | 11:21 |
| mikefc | it'd be worth rewriting PIL in numpypy | 11:28 |
| stakkars_ | mikefc: people say it is a lot of trick undocumented code in C | 11:29 |
| mikefc | yeah. i'm thinking a reimplementation rather than a port. | 11:30 |
| mikefc | with numpy as a backend. | 11:30 |
| Action: mikefc reinvents the wheel | 11:30 | |
| mikefc | s | 11:30 |
| mikefc | o | 11:30 |
| mikefc | m | 11:30 |
| mikefc | uch | 11:30 |
| mikefc | so much shit depends upon PIL, yet it's an unsupported mess. | 11:30 |
| stakkars_ | Before involving numpypy I'd try a very correct pure Python version. Unless it is easier with numpypy | 11:32 |
| mikefc | stakkars_: multidim arrays would be handy. If I was to even attempt it, it'd have to be with numpy rather than pure python. | 11:33 |
| stakkars_ | ok. But app level first, I guess. Then if speed is an issue, go perhaps to Rpython | 11:34 |
| stakkars_ | In the nice new world, Pypy is the language, and RPython stands for C code (although much better) | 11:36 |
| stakkars__ (~stakkars@i59F7355F.versanet.de) joined #pypy. | 11:43 | |
| stakkars_ (~stakkars@89.204.138.198) left irc: Read error: Connection reset by peer | 11:45 | |
| stakkars_ (~stakkars@89.204.138.124) joined #pypy. | 11:51 | |
| stakkars__ (~stakkars@i59F7355F.versanet.de) left irc: Ping timeout: 240 seconds | 11:53 | |
| stakkars_ | Gack! | 12:06 |
| stakkars_ | locked out, and cleaning woman locked in ;-) | 12:07 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/741 [12arigo] | 12:15 |
| lotrpy | could I ask a newbie question, even I don't learn pypy yet. | 12:15 |
| fijal | lotrpy: sure, at worst noone will answer :) | 12:16 |
| lotrpy | fijal, thanks for the answer:). | 12:16 |
| Action: mikefc is still too scared to look at any rpython | 12:17 | |
| lotrpy | I'm a python user, write pytho code for several years. I want to learn pypy/rpython, where should I start, should I learn some C/ Drangon book if I want to know the internal of pypy/rpy? | 12:17 |
| Action: stakkars_ agrees, save yourself | 12:18 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 12:18 | |
| lucian | mikefc: if you were to use a numpypy on pypy and numpy and cpython, it should be quite interesting and useful | 12:18 |
| mikefc | lucian: yeah. i think a pure python numpy-based PIL clone would be useful to me. | 12:21 |
| mikefc | jitted pixel ops would probably be fast too. it'd be a nice stress test for numpypy. | 12:22 |
| fijal | lotrpy: you should probably not learn rpython at all | 12:25 |
| fijal | why would you do that? | 12:25 |
| PiotrSikora (~none@nginx/adept/piotrsikora) left irc: Excess Flood | 12:27 | |
| PiotrSikora (~none@nginx/adept/piotrsikora) joined #pypy. | 12:28 | |
| fijal | lotrpy: RPython is used only by dynamic language VM authors, like us | 12:28 |
| amaury (~amaury_@74.125.57.34) joined #pypy. | 12:29 | |
| mat^2 (~mathias@212.130.113.35) joined #pypy. | 12:31 | |
| kenaan | 12bivab arm-backend-2 1193473354e34c 15/pypy/jit/backend/arm/opassembler.py: fix for GUARD_NOT_INVALIDATED | 12:32 |
| stakkars_ | lotrpy: RPython requires a lot of knowledge, so if you really want that, it costs you a lot of time | 12:36 |
| fijal | yes, but also it does not buy you much | 12:37 |
| stakkars_ | But I don' want to stop you, it is simply difficult | 12:37 |
| lotrpy | oh, thanks for the info. then... I just download/install pypy, and run my python source file? | 12:39 |
| fijal | yes, precisely :) | 12:39 |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds | 12:40 | |
| lotrpy | fijal, thanks :) | 12:46 |
| jnoller (~jnoller@vpn.nasuni.com) joined #pypy. | 12:51 | |
| fijal | jnoller: hi jesse | 12:51 |
| stakkars__ (~tismer@i59F7355F.versanet.de) joined #pypy. | 12:52 | |
| jnoller | hello | 12:53 |
| stakkars__ | hola | 12:59 |
| stakkars__ | jnoller: you are Jesse? | 13:00 |
| jnoller | yes | 13:00 |
| Nick change: nopper` -> nopper | 13:01 | |
| stakkars__ | I just got the first rough windows 64 PyPy ready on Monday and would like to talk about this on PyCon. | 13:01 |
| stakkars__ | But it's way over the date to submit a talk. Should I try, anyway? | 13:02 |
| stakkars__ | it's Chris Tismer, the stackless/psyco/pypy guy... | 13:02 |
| jnoller | The only avenues for talk proposals are Lightning talks, Poster sessions or Open Space sessions | 13:02 |
| jnoller | Yup, saw your login host :) | 13:03 |
| jnoller | Main track talks are closed - we're actually having 2+ hours of meetings a day to pick the program :) | 13:03 |
| jnoller | But there will probably be PyPy tutorials (there is one) and PyPy Talks at the con, I think your windows build should factor into those | 13:04 |
| stakkars__ | ok, that sounds good! | 13:04 |
| jnoller | np | 13:04 |
| fijal | stakkars__: yop, if our talk gets accepted, we'll say about win64 | 13:04 |
| jnoller | 2+ hours of meetings and planning per day. | 13:05 |
| Action: jnoller sighs | 13:05 | |
| Fluxid | fijal: is it possible that in first few loop iterations pypy takes really short time, then time goes up by a factor of bout 4x and after after a many iterations time goes down until it stabilizes? | 13:05 |
| stakkars__ | so I will try to fold my talk into PyPy, also try to do a lightning etc. | 13:06 |
| jnoller | stakkars__: +1 | 13:06 |
| stakkars___ (~stakkars@i59F7355F.versanet.de) joined #pypy. | 13:06 | |
| fijal | Fluxid: this sort of questions begs for the answer "yes it is possible" | 13:06 |
| fijal | mostly because any sort of performance characteristic is possible | 13:06 |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 13:07 | |
| fijal | does it stabilize below or above the first batch? | 13:07 |
| stakkars__ | fijal: can I join a PyPy talk? I haven't written a proposal, yet | 13:08 |
| stakkars__ | but I want to advertize it, and be present | 13:09 |
| fijal | stakkars__: you can surely be present and advertise it, note however that we have already 3 speakers and a lot of material for 30min, so we won't let you hijack the entire talk | 13:10 |
| stakkars_ (~stakkars@89.204.138.124) left irc: Ping timeout: 240 seconds | 13:10 | |
| K-os (~gabriel@dhcp-205.zbh.uni-hamburg.de) joined #pypy. | 13:10 | |
| fijal | but I would at the very least insist you're present and answer questions about whatever you did | 13:10 |
| Fluxid | fijal: someone at our company is doing bencharks of parts of our app with pypy, and as far i understand, first 10 iterations take in total 37.4ms, then next 10 suddenly 237.3, 270 iterations (measured by 10 iterations) it goes down linearly and stabilizes around 66ms | 13:10 |
| fijal | Fluxid: sounds a bit bogus to me, but also times are very small | 13:11 |
| Fluxid | fijal: but this not mako | 13:11 |
| fijal | so it's possible for the first 10 iterations you accumulate garbage | 13:11 |
| fijal | and don't run gc.collect | 13:11 |
| stakkars__ | jnoller: should I submit a proposal then, or explicitly plan for short notes injected in the PyPy talk, and a lightning? | 13:11 |
| fijal | while later on it stabilizes a bit more | 13:11 |
| fijal | stakkars__: you can't submit a proposal by now | 13:11 |
| fijal | it's I think few months too late | 13:11 |
| Fluxid | i just wonder if this something in app or something pypy-specific | 13:11 |
| amaury (~amaury_@74.125.57.34) left irc: Ping timeout: 240 seconds | 13:12 | |
| fijal | Fluxid: if those are those opterons, make sure you pass PYPY_GC_NURSERY btw | 13:12 |
| jnoller | stakkars__: You can not submit anything but a Poster Session proposal | 13:12 |
| Fluxid | no, this is other machine, those result got someone else | 13:12 |
| jnoller | stakkars__: https://us.pycon.org/2012/posters/ | 13:13 |
| stakkars__ | jnoller: ok, thank you! | 13:13 |
| jnoller | Lightning talk submissions will happen on site | 13:13 |
| jnoller | stakkars__: and it will be good to have you there. | 13:13 |
| fijal | Fluxid: it is possible, it does sound weird | 13:13 |
| fijal | but again, the few ms time might be anything | 13:13 |
| stakkars__ | jnoller: yes, and I'm hapy to come, this time _with_ really something | 13:14 |
| jnoller | :) | 13:14 |
| Fluxid | fijal: is there a way to get info about gc stuff, like how long garbage collection took or something that would help explain this? | 13:16 |
| fijal | yes | 13:16 |
| fijal | PYPYLOG=log pypy <stuff> | 13:16 |
| fijal | and then you need a pypy checkout | 13:16 |
| fijal | and run logparser | 13:16 |
| fijal | it's explained in my blog post btw :) | 13:16 |
| fijal | http://lostinjit.blogspot.com/2011/11/analysing-pythons-performance-under.html | 13:17 |
| Fluxid | fijal: on your blogspot? | 13:17 |
| Fluxid | ah, good, thanks | 13:17 |
| fijal | I should seriously charge money for that | 13:17 |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds | 13:17 | |
| stakkars__ | fijal: for the blog post? | 13:17 |
| fijal | stakkars__: for knowing how to measure and improve performance | 13:18 |
| stakkars__ | well, we had that... | 13:18 |
| fijal | we had what? | 13:19 |
| stakkars__ | the discussion about what and how to sell | 13:20 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/617 [12arigo] | 13:20 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1880 [12arigo] | 13:20 |
| fijal | stakkars__: yeah | 13:20 |
| Fluxid | duh, sorry... | 13:21 |
| fijal | Fluxid: ? | 13:21 |
| Fluxid | for asking and not paying ;) | 13:22 |
| fijal | haha ;-) | 13:23 |
| fijal | it's ok, this is googleable even | 13:23 |
| rokujyouhitoma (~rokujyouh@12.51.221.130) joined #pypy. | 13:23 | |
| fijal | I reserve the right to have a better set of tools that's paid | 13:23 |
| fijal | to use | 13:23 |
| linq (~ident@24-246-25-39.cable.teksavvy.com) left irc: Ping timeout: 252 seconds | 13:27 | |
| Fluxid | http://codespeak.net/pypy/dist/pypy/doc/garbage_collection.html � why this doesn't redirect to newest version on pypy.org? | 13:31 |
| Fluxid | it's first result in google... | 13:31 |
| fijal | is there info about garbage collection on pypy.org? | 13:34 |
| fijal | I can't *really* take any responsibility for google | 13:34 |
| fijal | the codespeak version is no longer up to date | 13:34 |
| fijal | it moved to docs.pypy.org | 13:34 |
| Fluxid | imo there should be a redirect to http://readthedocs.org/docs/pypy/en/latest/garbage_collection.html or it should at least be removed from codespeak... | 13:35 |
| fijal | not that I can update the codespeak any more | 13:35 |
| fijal | I'll ask what can be done | 13:35 |
| Fluxid | but then on readthedocs it shows "PyPy 1.6" in the title :) | 13:35 |
| gutworth (~benjamin@dhcp-128-36-84-91.central.yale.edu) joined #pypy. | 13:36 | |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 13:36 | |
| fijal | Fluxid: eh, I can fix that | 13:36 |
| Guest66623 (~John@osbk-4db16ffd.pool.mediaWays.net) left irc: Read error: Connection reset by peer | 13:41 | |
| Kaskuka (~John@osbk-4db16ffd.pool.mediaWays.net) joined #pypy. | 13:43 | |
| Action: timotimo tried to translate pyrolog and failed | 13:45 | |
| timotimo | is it supposed to be translatable from the repo? | 13:46 |
| cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 13:48 | |
| timotimo | ah, using the commit called "fix translation" seems to work | 13:49 |
| timotimo | that was quick. pyrolog seems pretty small | 13:52 |
| harrison (~quassel@adsl-76-217-37-36.dsl.chcgil.sbcglobal.net) joined #pypy. | 13:59 | |
| cfbolz | prolog is a much smaller language than python | 13:59 |
| Rhy0lite (dje@nat/ibm/x-mdulssipssctadzc) joined #pypy. | 13:59 | |
| fijal | cfbolz: hi carl | 13:59 |
| cfbolz | hello | 14:00 |
| Rhy0lite | fijal: how is Laplace progressing? | 14:00 |
| timotimo | yes, i can already see it's much, much, much, much smaller | 14:01 |
| harrison_ (~quassel@adsl-76-217-37-36.dsl.chcgil.sbcglobal.net) joined #pypy. | 14:02 | |
| fijal | Rhy0lite: I'm attacking sharing iterators | 14:02 |
| fijal | but we did some progress, we fixed bugs | 14:03 |
| cfbolz | timotimo: did you enable the jit? | 14:03 |
| harrison (~quassel@adsl-76-217-37-36.dsl.chcgil.sbcglobal.net) left irc: Ping timeout: 248 seconds | 14:03 | |
| timotimo | i'm not 100% sure. i would have had to supply -Ojit, right? | 14:04 |
| cfbolz | yes | 14:04 |
| timotimo | OK | 14:05 |
| timotimo | the interpreter isn't aware of multi-line-ness? | 14:05 |
| timotimo | and a syntax error in a file that's consulted causes a program exit with an rpython traceback? :) | 14:05 |
| timotimo | so this is more or less a proof of concept and was what you used to develop the jit generator? | 14:05 |
| cfbolz | timotimo: the parser is rather hackish | 14:08 |
| cfbolz | the semantics are quite sane though | 14:08 |
| cfbolz | and yes, it was mostly to push the JIT generator further | 14:08 |
| Nick change: Gulaway -> Gulopine | 14:19 | |
| kenaan | 12hager ppc-jit-backend 11141b01d305d7 15/pypy/jit/backend/ppc/ppcgen/test/test_stackframe.py: Update stack frame sketch | 14:19 |
| kenaan | 12hager ppc-jit-backend 11120ce67e8e79 15/pypy/jit/backend/ppc/ppcgen/regalloc.py: float not supported yet | 14:19 |
| kenaan | 12hager ppc-jit-backend 1160ddbddadec5 15/pypy/jit/backend/ppc/ppcgen/: correct offset computations due to new stack frames and handle holes in register array more properly | 14:20 |
| santagada (~leonardo@201.47.217.214) joined #pypy. | 14:21 | |
| kenaan | 12fijal refactor-signature 11ee9bb45f0923 15/pypy/module/micronumpy/: in-progress | 14:21 |
| kenaan | 12fijal default 11591be18ef52c 15/pypy/module/micronumpy/: implement some rudimentary __array_interface__ | 14:21 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1145 [12arigo] | 14:24 |
| timotimo | now i have a jitted pyrolog | 14:27 |
| timotimo | is there an article or something that explains why prolog was such a good fit for developing the jit generator? | 14:27 |
| whitelynx|work (~whitelynx@63.241.75.144) joined #pypy. | 14:31 | |
| cfbolz | timotimo: wait | 14:31 |
| cfbolz | timotimo: some parts of the jit generator were prototyped in swi-prolog | 14:31 |
| cfbolz | but that has nothing to do with pyrolog | 14:32 |
| timotimo | oh, is that so? i see. | 14:32 |
| cfbolz | timotimo: there is a paper about that here: http://www.stups.uni-duesseldorf.de/mediawiki/images/0/01/Pub-BoLeRi09_235.pdf | 14:34 |
| kenaan | 12fijal default 11a23933bd7963 15/pypy/module/micronumpy/: fixes | 14:35 |
| timotimo | thank you | 14:35 |
| cfbolz | timotimo: (it's not that good) | 14:35 |
| Nick change: Gulopine -> Gulaway | 14:43 | |
| kenaan | 12fijal default 11060a7ce40fa6 15/pypy/module/micronumpy/interp_numarray.py: another fix. I don't think views of virtual arrays are well supported | 14:49 |
| fijal | Alex_Gaynor: I think (a + a)[::2] is broken | 14:49 |
| fijal | I'll fix it though | 14:50 |
| Alex_Gaynor | ok, write a test :) | 14:50 |
| fijal | yes | 14:50 |
| cpets (c358b60a@gateway/web/freenode/ip.195.88.182.10) joined #pypy. | 14:53 | |
| cpets (c358b60a@gateway/web/freenode/ip.195.88.182.10) left irc: Client Quit | 14:55 | |
| cpets (c358b60a@gateway/web/freenode/ip.195.88.182.10) joined #pypy. | 14:55 | |
| jnoller (~jnoller@vpn.nasuni.com) left irc: Quit: Leaving... | 14:56 | |
| kenaan | 12alex_gaynor extradoc 1138bf58fc834d 15/planning/micronumpy.txt: update | 14:59 |
| fijal | Alex_Gaynor: it seems to be doing pretty good | 15:01 |
| Alex_Gaynor | fijal: what does? | 15:02 |
| fijal | micronumpy | 15:02 |
| Alex_Gaynor | ah yes, indeed | 15:02 |
| kenaan | 12fijal default 11b5fbdffb1026 15/pypy/module/micronumpy/interp_numarray.py: how-did-it-even-work? | 15:03 |
| fijal | Alex_Gaynor: it seems to me we never though about a view of a concrete thing or a view of virtual thing | 15:07 |
| fijal | at least I didn't | 15:07 |
| harrison_ (~quassel@adsl-76-217-37-36.dsl.chcgil.sbcglobal.net) left irc: Remote host closed the connection | 15:14 | |
| harrison_ (~quassel@adsl-76-217-37-36.dsl.chcgil.sbcglobal.net) joined #pypy. | 15:15 | |
| Alex_Gaynor | fijal: well, in theory it shouldn't be possible to write code that translates and blows up there, because you need to use the APIs and not the concrete impl, in practice... | 15:16 |
| fijal | well | 15:17 |
| fijal | some stuff doesn't have a good answer to this | 15:17 |
| fijal | like "what's the concrete address of the array" | 15:17 |
| fijal | you have to have a concrete array first | 15:17 |
| siccegge (~siccegge@faui49p.informatik.uni-erlangen.de) left irc: Ping timeout: 258 seconds | 15:18 | |
| Alex_Gaynor | yes, that's fine for asking for an address to force | 15:18 |
| fijal | Alex_Gaynor: I'm doing matplotlib experiments | 15:20 |
| Alex_Gaynor | fijal: I thought you were doing shared iterator expirements with a signature refactor | 15:21 |
| fijal | yes, thinking about this right now :) | 15:21 |
| fijal | but it's nasty unless you want to deal with virtualizables | 15:21 |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum | 15:22 | |
| Alex_Gaynor | what's wrong with virtualizables | 15:22 |
| fijal | I dunno | 15:22 |
| fijal | you're the one who removed them from numpy no? | 15:22 |
| fijal | I'm fine with them btw | 15:23 |
| Alex_Gaynor | yes, the main reason was just to make ASTs which supported arbitrary ufuncs instread of the bytecode | 15:23 |
| Alex_Gaynor | I'm fine to have virtualizables | 15:23 |
| cfbolz | fijal: *can* you have virtualizables? | 15:24 |
| cfbolz | I'm not sure we ever had more than one class of them | 15:24 |
| fijal | cfbolz: I added support for that | 15:24 |
| fijal | it's tested :) | 15:24 |
| cfbolz | fijal: but not stress-tested | 15:25 |
| fijal | well | 15:25 |
| fijal | we used it for numpy a bit | 15:26 |
| fijal | but it's anyway not a very good reason | 15:26 |
| whitelynx|work (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat | 15:30 | |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) joined #pypy. | 15:30 | |
| overminder (overminder@2002:af9f:6fc7::af9f:6fc7) joined #pypy. | 15:31 | |
| fijal (~fijal@41.49.102.71) left irc: Read error: Connection reset by peer | 15:34 | |
| voidspace (~anonymous@python/psf/voidspace) left irc: Quit: voidspace | 15:35 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy. | 15:37 | |
| asmeurer (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 15:39 | |
| Ademan (~yaaic@67.sub-97-157-35.myvzw.com) joined #pypy. | 15:46 | |
| stakkars__ | arrgh. signed/unsigned is really a mess. | 16:03 |
| stakkars__ | now it is way too explicit | 16:03 |
| exarkun | explicit woo | 16:03 |
| cfbolz | stakkars__: the old behavior produced a lot of subtle bugs | 16:04 |
| stakkars__ | cfbolz: I agree. The new behavior, too. But all in Windows ;-) | 16:05 |
| kenaan | 12ctismer default 11588a7a11455b 15/pypy/rlib/rmmap.py: rmmap is fixed. Signed/unsigned problem, with weird effects in the annotator. had a hard time to understand this. | 16:09 |
| kenaan | 12ctismer default 11469c4a362d73 15/pypy/module/micronumpy/: Merge | 16:09 |
| stakkars__ | cfbolz: it totally confused me: | 16:10 |
| stakkars__ | we can no longer write | 16:10 |
| stakkars__ | (a << 32) + b | 16:11 |
| stakkars__ | when a is signed and b is unsigned. | 16:11 |
| stakkars__ | I was used to think in terms of a signed high and a shorter, unsigned low. | 16:14 |
| stakkars__ | basically a concatenation | 16:14 |
| Ademan (~yaaic@67.sub-97-157-35.myvzw.com) left irc: Remote host closed the connection | 16:15 | |
| ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) left irc: Quit: Leaving... | 16:15 | |
| cfbolz | stakkars__: yes, but if you do automatic type conversion and you aren't totally careful, suddenly lots of things are unsigned | 16:16 |
| arigato | <spam> | 16:16 |
| kenaan | 12arigo default 110cec1f036691 15/pypy/: Throw away and restart another attempt at pypy/bin/checkmodule. | 16:17 |
| kenaan | 12arigo default 11ac541142ddcd 15/pypy/objspace/fake/: Progress. | 16:17 |
| kenaan | 12arigo default 1165c9c70b487b 15/pypy/objspace/fake/: Progress. | 16:17 |
| kenaan | 12arigo default 11914208fc6836 15/pypy/objspace/fake/test/test_objspace.py: extra tests. | 16:17 |
| kenaan | 12arigo default 111a471ba2aa1d 15/pypy/objspace/fake/: Progress. | 16:17 |
| kenaan | 12arigo default 11548656579bd4 15/pypy/objspace/fake/: Progress. | 16:17 |
| kenaan | 12arigo default 11090ec341827b 15/pypy/objspace/fake/: Progress. | 16:17 |
| kenaan | 12arigo default 116e9276536c74 15/pypy/objspace/fake/: Progress. | 16:17 |
| kenaan | 12arigo default 11391271fcc7f9 15/pypy/objspace/fake/: Still more progress. | 16:17 |
| kenaan | 12arigo default 1130e84d345b46 15/pypy/objspace/fake/objspace.py: Fix the multiple calls to build_types() by passing complete_now=False | 16:17 |
| kenaan | 12arigo default 1190f0debd374c 15/pypy/objspace/fake/: Some progress. | 16:17 |
| kenaan | 12arigo default 112db948e2fa60 15/pypy/: Fixes. | 16:17 |
| kenaan | 12arigo default 1170d0240ac95a 15/pypy/objspace/fake/test/test_objspace.py: fix test | 16:17 |
| kenaan | 12arigo default 1193c1adc1f2e5 15/pypy/module/micronumpy/: Kill a dependency to the stdobjspace. | 16:17 |
| kenaan | 12arigo default 11b1a1441f2980 15/pypy/: Fixes. Now micronumpy passes :-) | 16:17 |
| kenaan | 12arigo default 11139fdb431fef 15/pypy/objspace/fake/: List explicitly some of the modules for which it is known to work. It doesn't work out of the box on any module. | 16:17 |
| kenaan | 12arigo default 11ea6c0a78b1e6 15/pypy/objspace/fake/: Wrong logic. Must only call ann.complete() once at the end. | 16:17 |
| kenaan | 12arigo default 113d44c9c53444 15/pypy/: merge heads | 16:17 |
| arigato | </spam> | 16:17 |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 16:18 | |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 16:18 | |
| voidspace (~anonymous@python/psf/voidspace) joined #pypy. | 16:18 | |
| arigato | so now, you no longer have an excuse for checking in a micronumpy that doesn't translate | 16:18 |
| arigato | you can run "pypy/bin/checkmodule micronumpy" and get an answer is 20 seconds | 16:18 |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy. | 16:19 | |
| arigato | ok, 30 | 16:19 |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) left irc: Quit: bivab | 16:22 | |
| arigato | stakkars__: for example, (a<<32) + b, with b unsigned, used to give an unsigned result | 16:22 |
| arigato | which is probably a bit unexpected if a is signed | 16:22 |
| stakkars__ | arigato: I see. It should become a signed, of course. | 16:23 |
| arigato | moreover, assuming b is actually an rffi.UINT, it's never usable directly in a "+" | 16:23 |
| arigato | on 64bit | 16:23 |
| arigato | so you have anyway to call intmask(b) | 16:24 |
| stakkars__ | ahh, that was so very unexpected that I searched to death since yesterday. (but survived) | 16:24 |
| arigato | on 64bit, intmask(some rffi.UINT) does the right thing and gives you a signed between 0 and 2**32-1 | 16:24 |
| arigato | (or at least it definitely should) | 16:25 |
| arigato | (bah, no tests. /me writes one) | 16:25 |
| stakkars__ | well, I should have known. _NEVER_ mix signed and unsigned. Basta. | 16:26 |
| arigato | ah, you can write it int(b) instead of intmask(b), I believe | 16:26 |
| stakkars__ | sorry? b is supposed to be unsigned! | 16:27 |
| stakkars__ | adding the signed high part and the unsigned low-part, or it will become very wrong | 16:28 |
| arigato | ah no, you have to call intmask(b) | 16:28 |
| kenaan | 12arigo default 11bb4fc57d2649 15/pypy/translator/c/test/test_typed.py: A passing test for widening casts from a short unsigned value. | 16:29 |
| arigato | ^^^ see test | 16:29 |
| stakkars__ | arigato: you confuse me again | 16:29 |
| arigato | forget all I tried to explain confusingly, and look at the test I just checked in | 16:29 |
| harrison_ (~quassel@adsl-76-217-37-36.dsl.chcgil.sbcglobal.net) left irc: Ping timeout: 252 seconds | 16:32 | |
| arigato | anyone cares to understand why buildbot gives the following page? | 16:32 |
| arigato | http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1880 | 16:32 |
| stakkars__ | arigato: sure, that test is ok. But if you have 32bit values and are on 32bit, intmask turns you into a signed, which is not intended. | 16:33 |
| K-os (~gabriel@dhcp-205.zbh.uni-hamburg.de) left irc: Ping timeout: 240 seconds | 16:33 | |
| arigato | on 32bit, writing "a << 32" is not what you want, either, unless you are really working with r_longlong | 16:34 |
| arigato | so I assumed somehow that the line above was run only in 64-bit | 16:34 |
| arigato | if you are looking at mmap, note that the win32-specific code is kind of broken anyway: | 16:35 |
| arigato | https://bugs.pypy.org/issue810 | 16:35 |
| stakkars__ | no, I try to avoid too many cases | 16:35 |
| arigato | RPython is like C for "<<": if you do "x << 32" on a 32-bit machine, you get undefined results | 16:36 |
| arigato | (on x86, it is the same as doing "x << 0") | 16:36 |
| arigato | gcc gives a warning | 16:36 |
| Taggnostr | mikefc, I'm committing your defaultdict patch, if you have a name I'll include it in the commit message | 16:37 |
| stakkars__ | ok. I'm trying to get win32 to compile. Then to be correct ;-) | 16:37 |
| arigato | basically, the expression (a << 32) is never correct on 32-bit | 16:37 |
| stakkars__ | yeah yeah, it was not my code, so I got very confused | 16:39 |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 16:39 | |
| stakkars__ | please let's skip over this ;-) | 16:40 |
| overminder (overminder@2002:af9f:6fc7::af9f:6fc7) left irc: Ping timeout: 268 seconds | 16:43 | |
| timotimo | yay, redis seems to work with pypy | 16:46 |
| mattip (~chatzilla@bzq-79-179-96-122.red.bezeqint.net) joined #pypy. | 16:48 | |
| mattip | hi | 16:48 |
| rokujyouhitoma (~rokujyouh@12.51.221.130) left irc: Ping timeout: 252 seconds | 16:49 | |
| arigato | hi | 16:50 |
| mattip | arigato: is checkmodule mentioned on the developer website somewhere? I sure would have liked to know about it earlier. | 16:50 |
| arigato | mattip: earlier than today at noon, it was not helpful for any module other than _clr | 16:50 |
| arigato | I rewrote it from scratch for this context, and now it works for micronumpy, which was my intention | 16:51 |
| mattip | cool. Thanks, It will help beginners like me. | 16:52 |
| jterrace (~jterrace@aegis.CS.Princeton.EDU) joined #pypy. | 16:54 | |
| kenaan | 12arigo default 11831d216b57f0 15/pypy/: Tweaks. | 16:55 |
| kenaan | 12arigo default 11aeb5a474cce9 15/pypy/bin/checkmodule.py: Also accept a full directory name, for easier tab-completion. | 16:55 |
| harrison (~quassel@adsl-69-209-220-254.dsl.chcgil.ameritech.net) joined #pypy. | 16:56 | |
| cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) left irc: Read error: Operation timed out | 16:56 | |
| Action: arigato -> away | 16:57 | |
| brads (~brads@uwsclient-166-70.uws.ualberta.ca) joined #pypy. | 16:58 | |
| arigato (~arigo@fwstups.cs.uni-duesseldorf.de) left irc: Quit: See you | 16:58 | |
| brads | hello, I'm having trouble installing python-ldap. Here is the error | 16:59 |
| brads | File "/usr/local/pypy-1.7/lib-python/modified-2.7/distutils/unixccompiler.py", line 300, in runtime_library_dir_option | 16:59 |
| brads | compiler = os.path.basename(sysconfig.get_config_var("CC")) | 16:59 |
| brads | File "/usr/local/pypy-1.7/lib-python/2.7/posixpath.py", line 112, in basename | 16:59 |
| brads | i = p.rfind('/') + 1 | 16:59 |
| brads | AttributeError: 'NoneType' object has no attribute 'rfind' | 16:59 |
| G2P (~G2P@fw-asn1.ornis.com) left irc: Quit: Leaving. | 16:59 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 17:00 | |
| brads | I'm using freebsd 9 | 17:00 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 17:02 | |
| brads | where would I add a value for CC in sysconfig? | 17:02 |
| `fox` (~fox@95.232.111.114) joined #pypy. | 17:03 | |
| mattip (chatzilla@bzq-79-179-96-122.red.bezeqint.net) left #pypy. | 17:04 | |
| kenaan | 12hager ppc-jit-backend 11c79efdc9a57f 15/pypy/jit/backend/ppc/ppcgen/arch.py: resize float/int conversion area | 17:04 |
| kenaan | 12hager ppc-jit-backend 11e20c4260d119 15/pypy/jit/backend/ppc/ppcgen/codebuilder.py: add sanity check to bl_abs | 17:04 |
| kenaan | 12hager ppc-jit-backend 11ba02345dd112 15/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py: remove bug in computation of frame size | 17:05 |
| kenaan | 12hager ppc-jit-backend 11d69f7c5cc1e7 15/pypy/jit/backend/ppc/ppcgen/opassembler.py: implement CALL according to new frame layout for 32 bit, 64 bit is disabled right now | 17:05 |
| kenaan | 12ctismer win64-stage1 11da31cc0f6eee 15/pypy/: merge default | 17:06 |
| whitelynx|work (~whitelynx@63.241.75.144) joined #pypy. | 17:07 | |
| dmalcolm (david@nat/redhat/x-hymjpynsaphwbdsn) joined #pypy. | 17:08 | |
| brads | --- compiler = os.path.basename(sysconfig.get_config_var("CC")) | 17:09 |
| brads | +++ compiler = "gcc46" | 17:09 |
| brads | (in /usr/local/pypy-1.7/lib-python/modified-2.7/distutils/unixccompiler.py, line 300) | 17:09 |
| brads | maybe that should be fixed instead of kludged? | 17:10 |
| brads | or is it a problem with the port? | 17:13 |
| kennethreitz (~kennethre@adsl-99-191-194-225.dsl.pltn13.sbcglobal.net) joined #pypy. | 17:18 | |
| jterrace | Alex_Gaynor: numpypy scalars are their actual type, not shadowed types? | 17:19 |
| fox__ (~fox@host91-171-dynamic.245-95-r.retail.telecomitalia.it) joined #pypy. | 17:21 | |
| `fox` (~fox@95.232.111.114) left irc: Ping timeout: 255 seconds | 17:24 | |
| stakkars__ (~tismer@i59F7355F.versanet.de) left irc: Quit: schnarch | 17:26 | |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) left irc: Quit: http://www.fprimex.com | 17:29 | |
| kennethreitz (~kennethre@adsl-99-191-194-225.dsl.pltn13.sbcglobal.net) left irc: Quit: Textual IRC Client: http://www.textualapp.com/ | 17:31 | |
| stakkars_ (~stakkars@82.113.119.200) joined #pypy. | 17:33 | |
| stakkars_ (~stakkars@82.113.119.200) left irc: Client Quit | 17:36 | |
| stakkars___ (~stakkars@i59F7355F.versanet.de) left irc: Ping timeout: 252 seconds | 17:36 | |
| aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection | 17:39 | |
| stakkars_ (~tismer@f052069064.adsl.alicedsl.de) joined #pypy. | 17:40 | |
| fijal (~fijal@197.171.27.162) joined #pypy. | 17:44 | |
| rokujyouhitoma (~rokujyouh@173.227.61.3) joined #pypy. | 17:48 | |
| fox__ (~fox@host91-171-dynamic.245-95-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 17:49 | |
| `fox` (~fox@host91-171-dynamic.245-95-r.retail.telecomitalia.it) joined #pypy. | 17:50 | |
| legogris (~legogris@c80-217-207-157.bredband.comhem.se) left irc: Ping timeout: 244 seconds | 17:54 | |
| legogris (~legogris@c80-217-207-157.bredband.comhem.se) joined #pypy. | 17:56 | |
| lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) left irc: Ping timeout: 240 seconds | 17:56 | |
| kenaan | 12fijal default 11f8b238a469f4 15/pypy/: Add list-comprehension-operation to checkconfig by default, have a test that checks if micronumpy translates | 17:59 |
| `fox` (~fox@host91-171-dynamic.245-95-r.retail.telecomitalia.it) left irc: Ping timeout: 244 seconds | 17:59 | |
| fijal | antocuni: ping | 18:01 |
| brads | What does this error mean? http://pastebin.com/bUcwJniY | 18:07 |
| fijal | Alex_Gaynor: cool http://paste.pocoo.org/show/517658/ | 18:07 |
| fijal | brads: it means that ldap module is not cooperating with our cpyext | 18:08 |
| fijal | either ldap or cpyext is broken | 18:08 |
| fijal | it occurs to me you do PyTuple_Check before initializing module | 18:08 |
| fijal | or so | 18:08 |
| fijal | but I don't know | 18:09 |
| brads | okay so should I submit a bug to pypy or to python-ldap? | 18:09 |
| intellec1ronica (~intellect@212-64-151-86.static.cloud-ips.co.uk) joined #pypy. | 18:11 | |
| fijal | I don't know yet | 18:11 |
| fijal | brads: you can submit it to pypy for the time being, but if you want someone to look there, probably some investigation is required | 18:11 |
| intellec1ronica (~intellect@212-64-151-86.static.cloud-ips.co.uk) left irc: Client Quit | 18:11 | |
| fijal | you can submit to both even :) | 18:11 |
| stakkars_ | fijal: zlib stuff: is that win32 only? | 18:20 |
| antocuni | fijal: pong | 18:20 |
| voidspace (~anonymous@python/psf/voidspace) left irc: Quit: voidspace | 18:20 | |
| fijal | antocuni: I think warning in case you didn't specify arguments for ctypes function, but there are no arguments is a bit of an exagerration :) | 18:21 |
| antocuni | I agree | 18:21 |
| antocuni | note that, contrary to popular belief, it's not me who added the warning :-) | 18:21 |
| stakkars_ | I see, the windows docu is out of date. | 18:22 |
| fijal | :) | 18:23 |
| fijal | antocuni: feel like fixing it? | 18:23 |
| fijal | stakkars_: no idea | 18:23 |
| fijal | I don;'t think so | 18:23 |
| antocuni | fijal: I'm going out soon | 18:23 |
| stakkars_ | fijal: there is a win64 | 18:23 |
| antocuni | but I can do it tomorrow/friday | 18:24 |
| fijal | antocuni: cool, I'm having fun embedding cpython using ctypes in pypy | 18:24 |
| antocuni | wow | 18:24 |
| antocuni | but you have to disable cpyext? | 18:24 |
| fijal | yes, obviously | 18:24 |
| fijal | too bad :) | 18:24 |
| fijal | wasn't using it anyway | 18:24 |
| antocuni | what's the goal? | 18:25 |
| fijal | to run matplotlib | 18:25 |
| antocuni | ah, nice | 18:26 |
| antocuni | and running it in a subprocess is to expensive because you have to pass huge arrays of data? | 18:26 |
| fijal | yes | 18:26 |
| fijal | also annoying | 18:26 |
| fijal | cause you would need to implement pickling of arrays and whatnot | 18:26 |
| fijal | antocuni: of course I have to invent tons of nice context managers | 18:27 |
| fijal | like | 18:27 |
| fijal | with exception_tracking: | 18:27 |
| fijal | or with refcount: | 18:27 |
| fijal | :] | 18:28 |
| antocuni | pff | 18:28 |
| antocuni | have fun :-) | 18:28 |
| fijal | yes, pfff ;-) | 18:28 |
| fijal | it's easy | 18:28 |
| fijal | "easy" | 18:28 |
| fijal | just very annoying | 18:28 |
| fijal | antocuni: note that this way you can have python 2 and python 3 in one process | 18:29 |
| fijal | just pypy 2 and cpython 3 | 18:29 |
| kennethreitz (~kennethre@204.14.152.118) joined #pypy. | 18:30 | |
| antocuni | well, but you can't pass arbitrary objects back and forth, can you? | 18:30 |
| fijal | well no, obviously not | 18:30 |
| fijal | how would you think that would work? | 18:30 |
| fijal | it's not like dict in python 3 and dict in python 2 are the same thing | 18:30 |
| exarkun | well, they basically are the same thing | 18:31 |
| exarkun | they just don't have the same interface | 18:31 |
| fijal | yes | 18:31 |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 18:33 | |
| antocuni | fijal: yes, I know. That's why having py3 and py2 in the same process is pointless :-) | 18:35 |
| antocuni | (in this incarnation, at least) | 18:35 |
| ronny | fijal: hmm, now i have a uterly perverse idea for a new execnet gateway | 18:36 |
| ronny | inprocess-pypy-to-cpython | 18:36 |
| fijal | yes, that was my perverse idea first though | 18:37 |
| DasIch_ (~dasich@p4FFDD13B.dip.t-dialin.net) joined #pypy. | 18:38 | |
| arigato (~arigo@82.113.99.177) joined #pypy. | 18:39 | |
| DasIch (~dasich@p4FFDFB48.dip.t-dialin.net) left irc: Ping timeout: 240 seconds | 18:41 | |
| jterrace | fijal: numpypy's scalars are the actual python datatypes, not subclasses? | 18:45 |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) left irc: Remote host closed the connection | 18:45 | |
| fijal | subclasses | 18:46 |
| fijal | why? | 18:46 |
| jterrace | hmm, it seems like they aren't.. when i do type(x[0]) on an element, it says 'int' | 18:46 |
| jterrace | whereas in numpy, it's 'numpy.int64' | 18:47 |
| fijal | how new is your pypy? | 18:49 |
| jterrace | this is on default branch latest | 18:49 |
| jterrace | i think.. let me just double check | 18:49 |
| `fox` (~fox@host91-171-dynamic.245-95-r.retail.telecomitalia.it) joined #pypy. | 18:50 | |
| jterrace | actually, i was testing on 1.7 | 18:50 |
| jterrace | has that been added since 1.7? | 18:50 |
| fijal | yes | 18:50 |
| arigato | it feels like 1.7 is already ages ago | 18:52 |
| jterrace | fijal: are they now instances of type Scalar? | 18:52 |
| fijal | no | 18:52 |
| mtigas (~Adium@users.spokesman.com) joined #pypy. | 18:52 | |
| fijal | they should not be of type Scalar | 18:52 |
| fijal | arigato: yes | 18:52 |
| fijal | arigato: eh, do you know anything about linux loading schemas? | 18:52 |
| fijal | I'm trying to load libraries | 18:52 |
| fijal | I load libpython first | 18:53 |
| fijal | and then numpy | 18:53 |
| jterrace | how can i add a property/function to a scalar then? which type should i be looking at? | 18:53 |
| fijal | (CPython's numpy) | 18:53 |
| fijal | and the latter does not see symbols from earlier | 18:53 |
| fijal | I pass RTLD_GLOBAL as an argument to CDLL | 18:53 |
| arigato | strange | 18:54 |
| fijal | http://paste.pocoo.org/show/517676/ | 18:54 |
| arigato | sorry, I only know about RTLD_GLOBAL and that's it | 18:55 |
| fijal | the script looks like this if you care | 18:55 |
| arigato | uh, and you want to run it on top of pypy? | 18:55 |
| fijal | unless ctypes does not care | 18:55 |
| fijal | yes | 18:55 |
| fijal | what's wrong with me? | 18:55 |
| fijal | ;-) | 18:55 |
| arigato | :-) | 18:56 |
| fijal | oh nice | 18:56 |
| fijal | but at least pypy's CDLL does not pass the flags | 18:56 |
| arigato | :-/ | 18:56 |
| mtigas (~Adium@users.spokesman.com) left irc: Quit: Leaving. | 18:57 | |
| rokujyouhitoma (~rokujyouh@173.227.61.3) left irc: Ping timeout: 240 seconds | 18:57 | |
| Alex_Gaynor | jterrace: what type do you mean | 18:57 |
| fijal | ARGH | 18:57 |
| jterrace | i think i figured it out | 18:57 |
| jterrace | W_Dtype | 18:57 |
| Alex_Gaynor | jterrace: numpy has both scalar (aka 0-d) arrays, as well as numpy.generic subclasses | 18:57 |
| Alex_Gaynor | ah, that's a dtype :) | 18:57 |
| jterrace | so im working on adding the tolist() function to arrays | 18:58 |
| jterrace | and it's also defined on scalars, so figured id start there | 18:58 |
| jterrace | eg. x[0].tolist() works, and returns a single value rather than a list in numpy | 18:58 |
| jterrace | so can i just add a method to W_Dtype called tolist? | 18:58 |
| fijal | grrrrrrrrrrr | 18:58 |
| fijal | grumble grumble | 18:59 |
| Alex_Gaynor | jterrace: no, that'd be on W_Generic in interp_boxes | 18:59 |
| jterrace | oh | 18:59 |
| jterrace | btw, what is the descr convention? | 18:59 |
| derdon (~derdon@pD9E1DEEC.dip.t-dialin.net) joined #pypy. | 18:59 | |
| kkris (~kris@93-82-32-161.adsl.highway.telekom.at) joined #pypy. | 19:02 | |
| bugfree (azhang@adsl-99-63-77-95.dsl.pltn13.sbcglobal.net) left #pypy. | 19:03 | |
| kenaan | 12arigo default 111ef0414a0491 15/pypy/objspace/fake/test/test_zmodules.py: Remove it from there then. | 19:03 |
| kenaan | 12arigo default 1138243eb2f78b 15/pypy/: Distribute test_zmodules's content to the various modules. | 19:03 |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Quit: Leaving | 19:04 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum | 19:05 | |
| fijal | arigato: eh nice, how did you fix conflicts? | 19:05 |
| arigato | ? which conflicts | 19:06 |
| fijal | or I did not manage to push | 19:06 |
| fijal | ? | 19:06 |
| fijal | ah ok | 19:06 |
| fijal | no, fine :) | 19:06 |
| Alex_Gaynor | jterrace: I usually name RPython methods that are exposed in python as descr_< | 19:06 |
| Alex_Gaynor | tehod_na | 19:06 |
| Alex_Gaynor | e>m | 19:06 |
| Alex_Gaynor | wtf, my keyboard is broken | 19:07 |
| jterrace | Alex_Gaynor: i added a function descr_tolist to W_GenericBox and then added a property tolist = interp2app(..) in the W_GenericBox.typedef | 19:07 |
| jterrace | and the world exploded with errors | 19:07 |
| kenaan | 12fijal default 11bc01389b6c4c 15/pypy/rpython/tool/: add a simple wrapper and some tests | 19:07 |
| Niedar (gfghfghf@host-173-230-2-133.vanodod.clients.pavlovmedia.com) left irc: Ping timeout: 240 seconds | 19:07 | |
| Alex_Gaynor | hah, paste your diff? | 19:07 |
| jterrace | ok one sec | 19:07 |
| Alex_Gaynor | k | 19:07 |
| jterrace | http://pastebin.com/raw.php?i=WzAH9tv2 | 19:08 |
| jterrace | obviously '0' is not right, but wanted to just see if it would work first | 19:08 |
| Alex_Gaynor | you're returning an RPython it | 19:08 |
| Alex_Gaynor | you need to return a W_In | 19:08 |
| Alex_Gaynor | do sapce.wrap(0) | 19:08 |
| Alex_Gaynor | space* | 19:08 |
| jterrace | ah | 19:10 |
| jterrace | so interp2app passes a self and a space? | 19:10 |
| Alex_Gaynor | yes | 19:10 |
| jterrace | cool i think i get it, that worked | 19:10 |
| Action: jterrace dances | 19:10 | |
| fijal | ok | 19:10 |
| fijal | now why does _ffi and _rawffi have duplicated functionality? | 19:10 |
| Alex_Gaynor | ask antocuni | 19:10 |
| Alex_Gaynor | :) | 19:10 |
| fijal | antocuni: ? | 19:11 |
| arigato | the idea is that at some point _ffi should replace _rawffi | 19:11 |
| cpets (c358b60a@gateway/web/freenode/ip.195.88.182.10) left irc: Ping timeout: 265 seconds | 19:11 | |
| fijal | arigato: so the idea is that we should not gradually remove stuff from _rawffi but instead just remove it in one go? | 19:12 |
| kenaan | 12arigo default 1180bbb425d34a 15/py/_code/code.py: Fix an occasional IndexError. (I should try to figure out if the trunk py lib still has the same issue, and write ... | 19:12 |
| kenaan | 12arigo default 1134288a8ab7fd 15/pypy/rpython/lltypesystem/ll2ctypes.py: Fix for ctypes on Python 2.5: "c_byte" is a better approximation of the missing "c_bool", although still not perfect. | 19:12 |
| arigato | fijal: I don't know, but I think that all the code from _rawffi is still used in some case or another, right now | 19:13 |
| fijal | arigato: yes, I'm generally pretty unhappy with current ctypes | 19:13 |
| fijal | because while the fast case is fast, the slow case is super-slow | 19:13 |
| fijal | and it does not give a good feeling | 19:14 |
| fijal | but hey, we'll come with a better ffi! | 19:14 |
| kenaan | 12fijal default 11b4badea8f26f 15/pypy/rlib/: Pass mode around, everyone supports it, it's just about passing it | 19:14 |
| arigato | I think with enough effort we can end up at a situation where there is no more slow case and no more _rawffi | 19:14 |
| kenaan | 12fijal default 11cfff5b5f0b13 15/pypy/module/_ffi/interp_ffi.py: Pass mode | 19:14 |
| kenaan | 12fijal default 113e5a23d598b4 15/: merge | 19:14 |
| Alex_Gaynor | fijal: I'm writing docs on a better FFI | 19:14 |
| fijal | Alex_Gaynor: cool | 19:14 |
| arigato | Alex_Gaynor: that's what antocuni is doing with _ffi | 19:15 |
| arigato | (just want to make sure you know) | 19:15 |
| fijal | no, he's not | 19:15 |
| fijal | anto is not designing a better user-facing interface | 19:15 |
| fijal | and this is what alex is doing | 19:15 |
| Alex_Gaynor | arigato: I'm talking about a better public API, to replace ctypes | 19:15 |
| Alex_Gaynor | internals are a seperate thing | 19:15 |
| arigato | well, talk with antocuni | 19:15 |
| fijal | well, it's not like anto is doing any development currently anyway | 19:15 |
| arigato | last I heard, he was going for an interface good enough to be public | 19:16 |
| rokujyouhitoma (~rokujyouh@173.227.61.3) joined #pypy. | 19:16 | |
| arigato | (just saying, nothing more. It's obscure but not really strange that everybody comes with his better-than-ctypes API) | 19:16 |
| antocuni (~antocuni@host129-122-dynamic.16-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 19:17 | |
| stakkars_ | arigato: win32 default looks quite good so far. Building one with -Ojit | 19:18 |
| fijal | win32 or win64? | 19:18 |
| mtigas (~mtigas@users.spokesman.com) joined #pypy. | 19:18 | |
| kenaan | 12fijal default 11315da4da5ab0 15/pypy/module/_ffi/interp_ffi.py: pass a mode here | 19:18 |
| fijal | arigato: I think Alex's and anto's motivations differ | 19:18 |
| fijal | quite drastically | 19:19 |
| fijal | but well | 19:19 |
| rokujyouhitoma (~rokujyouh@173.227.61.3) left irc: Ping timeout: 252 seconds | 19:20 | |
| stakkars_ | arigato: I need a new builder win32 on snakepit. May I do that? | 19:21 |
| stakkars_ | the existing one is not so good | 19:21 |
| stakkars_ | fijal: I said it all. | 19:22 |
| stakkars_ | there is no win64 default. | 19:23 |
| arigato | stakkars_: I agree | 19:24 |
| arigato | stakkars_: if we make a builder "snakepit32" and put it before "bigboard" in the list on the server, it should run in priority | 19:25 |
| arigato | and "bigboard" is only going to start if snakepit32 isn't connected | 19:26 |
| stakkars_ | arigato: good! | 19:26 |
| jnoller (~jnoller@vpn.nasuni.com) joined #pypy. | 19:27 | |
| stakkars_ | I will for my win32 jit build to finish, drive home meanwhile, and then create the new slave. | 19:27 |
| stakkars_ | s/for/wait for/ | 19:27 |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 244 seconds | 19:29 | |
| Action: fijal does some sword fighting while pypy translates | 19:31 | |
| stakkars_ | arigato: one reason why I'm keen on a jitted win32 is: | 19:31 |
| bbot2 (~bbot2@wyvern.cs.uni-duesseldorf.de) left irc: Quit: buildmaster reconfigured: bot disconnecting | 19:31 | |
| Action: jterrace gets on rolly chair and battles fijal | 19:31 | |
| stakkars_ | I will make win64 more flexible, to run builds/tests on top of wywy-c.exe (regardless of architecture) | 19:32 |
| stakkars_ | because it is slooowww | 19:32 |
| arigato | :-) | 19:32 |
| stakkars_ | that becomes a real bootstrap, then :-) | 19:33 |
| arigato | note that a 32-bit pypy should be able to run a 32-bit translation too, but the | 19:33 |
| etrepum (~bob@accessnat4.mochimedia.net) joined #pypy. | 19:33 | |
| arigato | issue is the 2GB limit, | 19:33 |
| arigato | which can be raised to 3GB with minimal hacking | 19:33 |
| bbot2 (~bbot2@wyvern.cs.uni-duesseldorf.de) joined #pypy. | 19:34 | |
| stakkars_ | is pypy-c there different from cpython? | 19:34 |
| arigato | I don't know, but I would assume that cpython did the hacking | 19:34 |
| stakkars_ | if the one does it, the other does as well, no? | 19:34 |
| arigato | or maybe it's just that 2GB is enough on CPython | 19:34 |
| stakkars_ | ar har. we will see. | 19:35 |
| fijal | arigato: 2G is enough to translate pypy on pypy on 32bit linux | 19:35 |
| arigato | it's possible that CPython needs less memory (at least resident, so likely also virtual) | 19:35 |
| stakkars_ | with all working stuff? | 19:35 |
| arigato | fijal: yes, but not on windows | 19:35 |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 19:35 | |
| arigato | and also we don't know if 2GB of *virtual* space is really enough (although it likely is) | 19:36 |
| Action: stakkars_ off to the s-bahn | 19:36 | |
| arigato | tchuss | 19:36 |
| stakkars_ | a bientot | 19:37 |
| arigato | :-) | 19:37 |
| rokujyouhitoma (~rokujyouh@173.227.61.3) joined #pypy. | 19:38 | |
| fijal | arigato: why? | 19:38 |
| fijal | or we don't really know? | 19:38 |
| rokujyouhitoma (~rokujyouh@173.227.61.3) left irc: Read error: Connection reset by peer | 19:38 | |
| stakkars_ | well, I will try the same test with the new built pypy-c. in an hour | 19:38 |
| rokujyouhitoma (~rokujyouh@173.227.61.3) joined #pypy. | 19:38 | |
| stakkars_ | got all modules, just not expat. there is something wrong with the config, still. | 19:40 |
| arigato | fijal: indeed, I don't know why | 19:40 |
| stakkars_ | does not find expat.h | 19:40 |
| Action: stakkars_ reeeeaaallly going | 19:41 | |
| stakkars_ (~tismer@f052069064.adsl.alicedsl.de) left irc: Quit: schnarch | 19:41 | |
| `fox` (~fox@host91-171-dynamic.245-95-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 19:41 | |
| Circlefusion (~cf@74-138-199-109.dhcp.insightbb.com) left irc: Read error: Connection reset by peer | 19:42 | |
| hpk (~hpk@hq2.merlinux.eu) joined #pypy. | 19:45 | |
| hpk | y-sync | 19:45 |
| ronan (~ronan@host86-142-249-87.range86-142.btcentralplus.com) left irc: Quit: Ex-Chat | 19:48 | |
| fijal | hpk: hi hpk | 19:49 |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 19:49 | |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 244 seconds | 19:50 | |
| santagada (~leonardo@201.47.217.214) left irc: Quit: Ex-Chat | 19:53 | |
| kennethreitz (~kennethre@204.14.152.118) left irc: Quit: Computer has gone to sleep. | 19:53 | |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 19:56 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 240 seconds | 20:02 | |
| Circlefusion (~cf@74-138-199-109.dhcp.insightbb.com) joined #pypy. | 20:05 | |
| amaury (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy. | 20:05 | |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy. | 20:06 | |
| kenaan | 12fijal default 11e37e4e6e97b8 15/: we *must* specify RTLD_NOW. | 20:08 |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 244 seconds | 20:11 | |
| brads | from python-ldap: | 20:15 |
| brads | Frankly I've never used PyPy and I have no clue what PyTuple_Check is about. | 20:15 |
| brads | Also a short search did not return sample code on how to use it. | 20:15 |
| brads | I'd be willing to accept a patch for python-ldap if the import of something is | 20:15 |
| brads | truly optional. | 20:15 |
| brads | Ciao, Michael. | 20:15 |
| brads | (Michael Ströder) | 20:15 |
| Rhy0lite (dje@nat/ibm/x-mdulssipssctadzc) left irc: Quit: Leaving | 20:16 | |
| fijal | brads: well, you have to come up with a patch I fear | 20:16 |
| fijal | Alex_Gaynor: can you find out how do I create a numpy array from address and dtype? | 20:19 |
| Alex_Gaynor | fijal: create a buffer obj somehow maybe? I can look in a bit, pycon meeting atm | 20:20 |
| fijal | k | 20:20 |
| arigato | brads: sorry, what do you mean? | 20:26 |
| exarkun | python-ldap does this: | 20:27 |
| exarkun | PyDict_SetItemString( d, "error", LDAPexception_class ); | 20:27 |
| exarkun | Py_DECREF( LDAPexception_class ); | 20:27 |
| exarkun | LDAPexception_class->ob_refcnt is 1 before the Py_DECREF. | 20:27 |
| exarkun | Without knowing the refcount semantics of PyDict_SetItemString, I would guess that it only works by accident on CPython, and the Py_DECREF is a bug and should be removed. | 20:27 |
| fijal | http://baroquesoftware.com/~fijal/extreme_hacks.png | 20:27 |
| exarkun | Maybe there are even some Py_INCREFs missing | 20:28 |
| fijal | Alex_Gaynor: I did it :) | 20:28 |
| Alex_Gaynor | fijal: NICE | 20:28 |
| fijal | retweet from @pypyproject? | 20:29 |
| timotimo | oh, what, matplotlib in pypy? | 20:29 |
| timotimo | as the name of the file suggests, it's implemented properly? :)) | 20:29 |
| Alex_Gaynor | fijal: can you? the password is the same as the bitbucket one | 20:30 |
| exarkun | brads: Does that make sense to you? | 20:30 |
| brads | exarkun: i think your'e more than five steps ahead of me :D | 20:30 |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy. | 20:30 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host | 20:30 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 20:30 | |
| fijal | Alex_Gaynor: ah ok, sure | 20:30 |
| exarkun | brads: You can build python-ldap with debug info, 'pypy-c setup.py build_ext -f --debug; pypy-c setup.py install' and then run pypy under gdb and step through the ldap module initialization. | 20:31 |
| fijal | I'll write a blog post | 20:31 |
| dmalcolm | bother; my refcount checker croaked on that function :( | 20:31 |
| exarkun | The only hard part is figuring out what the reference count behavior of a random CPython API /should/ be | 20:32 |
| amaury | what is a refcount checker? | 20:32 |
| amaury | a runtime tool? | 20:32 |
| amaury | or static analysis? | 20:32 |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 20:32 | |
| Alex_Gaynor | amaury: i assume it's an application of dmalcolm's static analysis tol | 20:32 |
| dmalcolm | amaury: static analyser: http://readthedocs.org/docs/gcc-python-plugin/en/latest/cpychecker.html | 20:32 |
| Alex_Gaynor | amaury: http://dmalcolm.livejournal.com/5931.html | 20:32 |
| dmalcolm | fwiw, PyDict_SetItemString internally INCREFs the value in CPython (I think) | 20:33 |
| amaury | impressive | 20:33 |
| arigato | dmalcolm: indeed (just checked) | 20:33 |
| amaury | not always! | 20:34 |
| brads | exarkun: Thanks for that! I was about halfway through pdb docs& HAHA | 20:34 |
| amaury | not if you replace with the same value | 20:34 |
| dmalcolm | good point | 20:34 |
| arigato | well yes, it INCREFs if and because there is an extra reference in the dict | 20:34 |
| amaury | that's why looking at ob_refcount before and after the call is not enough | 20:34 |
| arigato | the point is that you should not do a DECREF of the class afterwards (I assume it's some global) | 20:35 |
| arigato | that's equivalent to just doing a DECREF out of thin air | 20:35 |
| exarkun | it's actually allocated on the heap | 20:35 |
| amaury | that's equivalent of borrowing the reference from the dict | 20:35 |
| dmalcolm | yeah, that Py_DECREF( LDAPexception_class ) eliminates that function's last "owned" ref to the obj | 20:36 |
| arigato | I think you should look at the code in context by ignoring PyDict_SetItem and seeing if it still makes sense | 20:36 |
| amaury | borrowed references are not an issue in CPython, but they cannot work with pypy | 20:37 |
| Action: dmalcolm wonders if there's any way for PyPy to own an extra reference within the scope of the function, but suspects that this will also break existing code :( | 20:37 | |
| amaury | is it only the scope of the function? | 20:38 |
| amaury | I suspect that PyDict_SetItemString( d, "error", LDAPexception_class ); | 20:38 |
| amaury | belongs to the module's init function | 20:39 |
| exarkun | Oh | 20:39 |
| amaury | and that LDAPexception_class is a static | 20:39 |
| dmalcolm | this is in LDAPinit_errors( PyObject*d ) { | 20:39 |
| exarkun | It's heap allocated _and_ a global | 20:39 |
| dmalcolm | PyObject* | 20:39 |
| dmalcolm | LDAPexception_class; | 20:39 |
| exarkun | And it gets re-used after the Py_DECREF. But d should be keeping it alive, so I dunno. | 20:39 |
| dmalcolm | in global scope at top of errors.c | 20:39 |
| timotimo | fijal: are you using cpythons C-extension api with ctypes from pypy?! | 20:39 |
| amaury | exarkun: not with pypy | 20:40 |
| exarkun | Oh. PyPy keeps some other version of it alive, not the cpyext version? | 20:40 |
| amaury | in pypy, d keeps the object alive, not the reference | 20:40 |
| amaury | :)- | 20:40 |
| exarkun | (I hope what you just said means what I just said) | 20:41 |
| dmalcolm | that would explain the issue, I think | 20:41 |
| exarkun | But it still crashes without the Py_C | 20:41 |
| exarkun | Py_DECREF | 20:41 |
| dmalcolm | code in question is: http://fpaste.org/Vjkc/ I believe | 20:41 |
| jnoller (~jnoller@vpn.nasuni.com) left irc: | 20:41 | |
| dmalcolm | code further down uses LDAPexception_class | 20:42 |
| exarkun | PyErr_NewException creates an object with a refcount of 1 right? | 20:42 |
| amaury | yes | 20:42 |
| dmalcolm | yes, so fn owns a ref there | 20:42 |
| dmalcolm | then, in CPython, the obj gets 2 extra refs on it, not owned by the function | 20:43 |
| dmalcolm | due to the dict | 20:43 |
| exarkun | Ah, bah, no, it doesn't crash, I just forgot to re-install the modified version | 20:43 |
| amaury | and probably a cycle in the type's __mro__ | 20:43 |
| amaury | (in CPython) | 20:43 |
| dmalcolm | but presumably in PyPy, the calls to PyDict_SetItemString are "merely" proxying through the PyObject* into PyPy implementation objects | 20:43 |
| amaury | yes | 20:43 |
| amaury | PyDict_SetItemString does not change ownership of an object | 20:44 |
| amaury | of a *reference* (sorry) | 20:44 |
| exarkun | brads: So, you can point out that errors.c:129 should not be Py_DECREF'ing the exception class, because the module re-uses the exception class later on. | 20:44 |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) joined #pypy. | 20:44 | |
| dmalcolm | idea for a horrible hack workaround: let PyObject* live a little longer after the refcount hits 0, putting them on a clean-em-up list | 20:44 |
| exarkun | brads: And it only works on CPython by accident | 20:44 |
| amaury | dmalcolm: not "a little longer" | 20:45 |
| exarkun | (Exactly what I said first, just for a different reason ;) | 20:45 |
| brads | exarkun: sure thing u guys rocked it | 20:45 |
| amaury | if you store it in a global | 20:45 |
| dmalcolm | ah, good point | 20:45 |
| dmalcolm | that's definitely dodgy | 20:45 |
| exarkun | dmalcolm: How about attach the call stack to the object when its refcount gets to 0, but keep the object around indefinitely | 20:46 |
| exarkun | dmalcolm: And then report the call stack if anyone ever touches it again | 20:46 |
| dmalcolm | but if it wasn't, you'd have code that worked fine under CPython but crashed under PyPy | 20:46 |
| amaury | exarkun: there are tools like this when you run pypy+cpyext untranslated | 20:47 |
| amaury | but it does not always work, because the last to DECREF is not always the guilty one | 20:47 |
| amaury | btw, did you know it is possible to run pypy extension modules on top of an untranslated pypy? | 20:48 |
| amaury | very very handy for debugging this kind of issues | 20:48 |
| exarkun | untranslated pypy is exactly the same as translated pypy, except for performance, right :) | 20:48 |
| amaury | performance yes | 20:49 |
| amaury | also, the garbage collector is the one of the underlying Python | 20:49 |
| amaury | and the thread context switcher (how do you call this?) is not that great | 20:50 |
| amaury | sys.checkinterval | 20:50 |
| amaury | but I got wxPython and pygames running with it | 20:50 |
| rokujyou_ (~rokujyouh@173.227.61.4) joined #pypy. | 20:51 | |
| amaury | well, crawling instead | 20:52 |
| rokujyouhitoma (~rokujyouh@173.227.61.3) left irc: Ping timeout: 268 seconds | 20:53 | |
| rokujyou_ (~rokujyouh@173.227.61.4) left irc: Remote host closed the connection | 20:55 | |
| rokujyouhitoma (~rokujyouh@173.227.61.4) joined #pypy. | 20:55 | |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 240 seconds | 20:57 | |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 20:58 | |
| arigato | :-) | 21:04 |
| mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) left irc: Quit: This computer has gone to sleep | 21:04 | |
| mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) joined #pypy. | 21:08 | |
| amaury | fijal: you probably broke win32 build | 21:11 |
| amaury | with this additional argument to dlopen() | 21:11 |
| Action: mikefc thinks that a "pure" python, numpy-based PIL clone is quite doable. | 21:12 | |
| exarkun | For sure | 21:13 |
| kennethreitz (~kennethre@204.14.152.118) joined #pypy. | 21:13 | |
| Action: mikefc is sick of the unsupported nature of PIL | 21:18 | |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving | 21:21 | |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) left irc: Remote host closed the connection | 21:21 | |
| amaury | unsupported means: "This release supports Python 1.5.2 and newer, including 2.5 and 2.6." | 21:21 |
| stakkars_ (~tismer@p5DC46A5E.dip0.t-ipconnect.de) joined #pypy. | 21:22 | |
| stakkars_ | jikes! My build is still working, Jit-ing 11493 jitcode instances, memory usage 1.1 Gig right now | 21:25 |
| stakkars_ | how long should a full pypy build take, under an hour? Laugh | 21:26 |
| mattip (4fb77934@gateway/web/freenode/ip.79.183.121.52) joined #pypy. | 21:26 | |
| amaury | stakkars_: 20 minutes on a fast win32 | 21:26 |
| amaury | but without JIT | 21:27 |
| stakkars_ | mine is with everything, and on top of cpython32 | 21:27 |
| mattip (4fb77934@gateway/web/freenode/ip.79.183.121.52) left irc: Client Quit | 21:28 | |
| amaury | cpython32? | 21:28 |
| amaury | 32bit or 3.2? | 21:28 |
| stakkars_ | bit | 21:28 |
| amaury | so it will be a 32bit pypy? | 21:28 |
| stakkars_ | 2.6.5, actually. Sure, I want to see that win32 is fixed, and to produce my python for testing ;-) | 21:29 |
| stakkars_ | I will change win64 to run on top of win32, to get a bootstrap. | 21:30 |
| arigato | stakkars_: as I said above (maybe you missed it), you can get pypy32 to translate pypy32 on windows, | 21:33 |
| arigato | but it requires 3GB of address space instead of 2 | 21:33 |
| arigato | which looks anyway like a good fix | 21:33 |
| arigato | to do to the pypy32 | 21:34 |
| arigato | stakkars_: I also gave you the password for snakepit32 privately, not sure if you saw it | 21:34 |
| stakkars_ | arigato: is that fix already in? | 21:34 |
| arigato | no | 21:35 |
| stakkars_ | no, as I said, I just left the S-Bahn | 21:35 |
| stakkars_ | what does it take to modify that? Something that can be done on the .exe? | 21:36 |
| stakkars_ | ah, is it the Jit tht makes pypy32 so hungry? | 21:36 |
| dmalcolm | got the analysis working with a simplified version of that function: http://fedorapeople.org/~dmalcolm/gcc-python-plugin/2011-12-07/errors.c.LDAPinit_errors-refcount-errors.html | 21:37 |
| stakkars_ | my cpy32 is still below 1.2 GByte | 21:37 |
| arigato | stakkars_: http://stackoverflow.com/questions/5185406/how-does-the-large-address-aware-flag-work-for-32-bit-applications-on-64-bit-com | 21:38 |
| dmalcolm | brads, exarkun, amaury et al: http://fedorapeople.org/~dmalcolm/gcc-python-plugin/2011-12-07/errors.c.LDAPinit_errors-refcount-errors.html fwiw | 21:38 |
| dmalcolm | [I had to comment out most of the seterrobj() invocations due to a bug in the checker] | 21:39 |
| fijal | stakkars_: 2.7 is *much* faster at translating than 2.6 | 21:39 |
| fijal | like 2x | 21:39 |
| exarkun | dmalcolm: nice | 21:39 |
| brads | dmalcolm: wow! :O | 21:40 |
| arigato | bye | 21:40 |
| arigato (~arigo@82.113.99.177) left irc: Quit: See you | 21:40 | |
| amaury | dmalcolm: just remove the DECREF, then | 21:41 |
| amaury | L129 | 21:41 |
| dmalcolm | amaury: yup | 21:41 |
| dmalcolm | brads: ^^^ what amaury said | 21:41 |
| K-os (~gabriel@port-20136.pppoe.wtnet.de) joined #pypy. | 21:42 | |
| amaury | I don't necessarily agree with the "ob_refcnt of '*e' is 1 too high" | 21:42 |
| amaury | errobjects seems to be a global array | 21:43 |
| dmalcolm | hence "'*e' is now referenced by 1 non-stack value(s): errobjects[28]" | 21:43 |
| dmalcolm | that INCREF in seterrobj() looks wrong to me | 21:43 |
| dmalcolm | (wish it wasn't so macro-happy though) | 21:44 |
| amaury | ah, right | 21:44 |
| stakkars_ | fijal: argll. will change my setup, again ;-) | 21:44 |
| fijal (~fijal@197.171.27.162) left irc: Ping timeout: 252 seconds | 21:45 | |
| stakkars_ | I always used 2.6 in 32bit and 2.7 in 64bit, laziness. dumb-ass me | 21:45 |
| amaury | dmalcolm: impressive | 21:45 |
| dmalcolm | amaury: you're not seeing all the tracebacks and bugs in the tool :( | 21:46 |
| dmalcolm | high-level question: the checker is attempting to verify refcounting semantics when compiled against CPython. Based on earlier discussion, it sounds like PyPy is implementing only the documented refcounting behavior, rather than the undocumented implementation details. Should the checker check for code that assumes the latter? | 21:48 |
| kkris (~kris@93-82-32-161.adsl.highway.telekom.at) left irc: Quit: Leaving. | 21:48 | |
| mvt (mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) left #pypy ("Leaving"). | 21:54 | |
| amaury | dmalcolm: refcounting semantics are only defined in terms of ownership | 21:58 |
| amaury | by the caller | 21:58 |
| amaury | not in terms of "this call will increase the refcount" | 21:59 |
| dmalcolm | seems that I need a --strict mode or somesuch | 22:00 |
| amaury | dmalcolm: How do you handle PyWeakref_GetObject? | 22:05 |
| amaury | this function returns a borrowed reference | 22:05 |
| dmalcolm | amaury: I don't yet :) see the long list of caveats on the project's website... | 22:05 |
| amaury | to something that can disappear anytime | 22:05 |
| Action: dmalcolm fears another week of refactoring to cope with that | 22:06 | |
| stakkars_ (~tismer@p5DC46A5E.dip0.t-ipconnect.de) left irc: Quit: schnarch | 22:11 | |
| brutal_chaos | 'ello, any devs around? | 22:16 |
| rguillebert | some of them | 22:18 |
| brutal_chaos | I have benchmarks for a pypy llvm/clang shadowstack build. Both the printed out results and the results.json are available. fijal had said I should send the benchmark results to the mailing list, which needs to be sent? | 22:22 |
| rguillebert | I guess something human readable | 22:25 |
| brutal_chaos | should I run sendresults.py? if so, what should I put for the options; I am assuming pypy-c-jit isn't enough. | 22:26 |
| brutal_chaos | (e.g. pypy-c-jit-clang instead?) | 22:26 |
| rguillebert | unless you run the benchmark on tannit I don't think you need to send the results to upload the results | 22:28 |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds | 22:29 | |
| K-os (~gabriel@port-20136.pppoe.wtnet.de) left irc: Ping timeout: 252 seconds | 22:30 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/163 | 22:37 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/737 | 22:37 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/968 | 22:37 |
| brads (~brads@uwsclient-166-70.uws.ualberta.ca) left irc: Quit: brads | 22:42 | |
| xorAxAx (~alexander@ampleforth.srv.alexanderweb.de) left irc: Excess Flood | 22:53 | |
| xorAxAx (~alexander@moinmoin/coreteam/alexander) joined #pypy. | 22:54 | |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 22:54 | |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 22:54 | |
| voidspace (~anonymous@python/psf/voidspace) joined #pypy. | 22:54 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 22:59 | |
| stakkars | incredible. still building pypy-c win32 on python 2.6 | 22:59 |
| stakkars | 1.8 GByte right now. Whow | 23:00 |
| whitelynx|work (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat | 23:01 | |
| brutal_chaos | 2.xx GBytes required for 32bit i believe | 23:03 |
| stakkars | aaaaargh, at the very last step, python 2.6 died with memoryerror | 23:03 |
| stakkars | very unnecessary, everything was built, only the c source was not ready :-( | 23:04 |
| stakkars | which build _does_ work on win32, with jit, but probably less modules? | 23:06 |
| rguillebert | pypy 1.6 I think | 23:07 |
| rguillebert | https://bitbucket.org/pypy/pypy/downloads/pypy-1.6-win32-c.zip | 23:08 |
| kennethreitz (~kennethre@204.14.152.118) left irc: Ping timeout: 244 seconds | 23:11 | |
| stakkars | ah, no, I'd like to build myself. What can I omit from the build? A bad thing if python cannot build pypy ;-) | 23:14 |
| stakkars | what to omit? like no cpyext? | 23:14 |
| ronny | stakkars: do you lack ram? | 23:15 |
| stakkars | no. python 2.6 32bit does | 23:15 |
| ronan (~ronan@host86-142-249-87.range86-142.btcentralplus.com) joined #pypy. | 23:15 | |
| ronny | afair cpython tends to use a bit less memory for translation, since the translation toolchain is optmize witht stuff like __slots__, and cpython doesnt create jit traces/code | 23:16 |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Remote host closed the connection | 23:16 | |
| stakkars | I have a 16GB win-xp 64 on virtualbox/debian | 23:16 |
| ronny | started in 3gb mode? (tha might be the thing that can barely copile if you are lucky | 23:17 |
| ronny | i wonder if there is a way to build a win* python thats able to use 4gb on 64 bit machines with 32 bit emu | 23:18 |
| stakkars | I use a stock activestate python. | 23:18 |
| ronny | well, i dont know the details on windows python | 23:19 |
| stakkars | hey, I'm a bit upset. this is not user-friendly | 23:19 |
| ronny | its windows, development is a fucked up pain | 23:19 |
| stakkars | again, the biggest potential of users is treated like 2nd class citizens. We _must_ change this | 23:20 |
| MostAwesomeDude | How? | 23:21 |
| stakkars | ronny: __slots__ do not help. pypy does the same without explicit __slots__ | 23:22 |
| stakkars | MostAwesomeDude: at least this needs to go into the docs, which are btw. outdated. | 23:22 |
| MostAwesomeDude | stakkars: Patches welcome? I don't know who actually cares about Win32 in here. | 23:23 |
| stakkars | "if you want to get a fitted 32bit win32 full implementation" erhm, right now you cannot :-D | 23:23 |
| stakkars | I know. Mostly only little more than one. | 23:24 |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds | 23:24 | |
| stakkars | a way out will be when I'm ready with win64. | 23:25 |
| stakkars | but I wanted to use pypy for bootstrap. Caught in the boots-trap | 23:26 |
| ronny | stakkars: im aware if mapdict | 23:26 |
| stakkars | need to build a 3gb enabled python, and pypy too. sigh... | 23:26 |
| amaury | stakkars: no need to "build" | 23:27 |
| amaury | just run editbin.exe /largeaddressaware | 23:27 |
| stakkars | amaury: ah? | 23:28 |
| amaury | on python.exe | 23:28 |
| stakkars | amaury: (smootch) | 23:28 |
| stakkars | does that work with any exe, provided it stands negatice addresses? | 23:29 |
| amaury | It worked with c:\python27\python.exe | 23:29 |
| amaury | 32bit version, running on win64 | 23:29 |
| stakkars | great! editbin is in the visual studio tools? | 23:30 |
| amaury | yes | 23:30 |
| stakkars | will try that tomorrow. Awfully tired now | 23:30 |
| whitelynx (~whitelynx@75.111.197.204) left irc: Ping timeout: 252 seconds | 23:31 | |
| amaury | stakkars: it's even documented in pypy.org! | 23:32 |
| amaury | http://doc.pypy.org/en/latest/windows.html#preping-windows-for-the-large-build | 23:32 |
| Action: amaury -> bed as well | 23:32 | |
| stakkars | I'm no longer good at reading. thank you! | 23:32 |
| dmalcolm (david@nat/redhat/x-hymjpynsaphwbdsn) left irc: Quit: Leaving | 23:33 | |
| stakkars | sorry about my rant | 23:34 |
| mat^2 (~mathias@212.130.113.35) left irc: | 23:39 | |
| stakkars | amaury: the pypy build is a stub exe and a large dll. do I need to take care? | 23:43 |
| stakkars | or is the exe dictating the address space for the dll? | 23:43 |
| amaury | well, it's just like CPython | 23:43 |
| amaury | ah, only the .exe needs to be processed by editbin | 23:43 |
| amaury | yes | 23:43 |
| stakkars | cpython's stub gets modified and not the dll | 23:44 |
| amaury | which is a bit wrong IMO | 23:44 |
| amaury | but convenient | 23:44 |
| stakkars | funny, I did not expect this to be enough. | 23:44 |
| amaury | on win32, you also have to set some hidden variable and reboot | 23:45 |
| stakkars | no issue, have xp64 | 23:45 |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 23:45 | |
| whitelynx (~whitelynx@75.110.189.230) joined #pypy. | 23:46 | |
| jterrace (~jterrace@aegis.CS.Princeton.EDU) left irc: Quit: Leaving. | 23:48 | |
| Arfrever (~Arfrever@apache/committer/Arfrever) joined #pypy. | 23:49 | |
| --- Thu Dec 8 2011 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!