#pypy IRC log for Wednesday, 2011-12-07

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 seconds00:17
_pyre_1 (~stian@137.241.189.109.customer.cdi.no) left irc: Ping timeout: 255 seconds00:17
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.00:29
Rhyolite (~dje@pool-108-6-25-71.nycmny.fios.verizon.net) left irc: Quit: Leaving00:34
asmeurer___ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Ping timeout: 252 seconds00: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-1303nirbheek 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-13Open a pair of fds using os.openpty():00:43
CIA-13* os.read() from the master pty fd works fine00:43
CIA-13* os.fdopen().read() ... * 14https://bugs.pypy.org/issue95600: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: Leaving00:48
K-os (~gabriel@cl-3210.ham-01.de.sixxs.net) left irc: Remote host closed the connection00:55
Nick change: Gulaway -> Gulopine00:56
etrepum (~bob@accessnat4.mochimedia.net) left irc: Quit: etrepum00:59
kennethreitz (~kennethre@204.14.152.118) joined #pypy.01:03
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/16201:06
aurojit (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection01: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 seconds01:11
whitelynx (~whitelynx@75.111.197.204) left irc: Ping timeout: 252 seconds01:16
bbot24Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/73601:22
mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Remote host closed the connection01: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-1303nirbheek 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 tests01:32
CIA-13do not work, and either return a blank digest, or raise SI ... * 14https://bugs.pypy.org/issue95701:32
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/187901:37
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/29701:37
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/61601:37
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/114401:37
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/63401:37
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/81901:37
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/146101:37
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/74001:37
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/28501: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 connection02:07
apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy.02:07
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/28502:10
apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Ping timeout: 240 seconds02:11
mat^2 (~mathias@212.130.113.35) left irc: 02:14
linluxiang (~linluxian@218.107.55.253) left irc: Quit: linluxiang02:16
DanKluev (~root@93-88-2-072-xdsl.vntc.ru) left irc: Ping timeout: 248 seconds02:25
bbot24Finished ??: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/96602:29
bbot23Success: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/187902:29
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/114402:29
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/81902:29
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/146102:29
bbot213Exception: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/61602:29
bbot213Exception: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/63402:29
bbot23Success: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/74002:29
cwillu (~cwillu@cwillu.com) left irc: Ping timeout: 244 seconds02:29
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/96702:29
hakanardo (~hakan@h59ec009e.seluldx.dyn.perspektivbredband.net) left irc: Ping timeout: 252 seconds02: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: fzzzy02:34
ericflo (~ericflo@75.103.8.110) left irc: Quit: ericflo02: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 seconds02:41
Nick change: Moku -> Guest6662302: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 seconds02:55
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy02:56
mwhudson (~mwh@120.136.5.22) left irc: Ping timeout: 240 seconds03:05
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy.03:07
zk (~is@whatit.is) left irc: Quit: leaving03:23
linq (~ident@24-246-25-39.cable.teksavvy.com) joined #pypy.03:30
linqTypo on PyPy's PyCon page03:30
linqlimites -> limits03:30
linqhttps://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 connection03:46
dD0T (~dD0T@unaffiliated/dd0t) left irc: Quit: Ohhhh nooeeezzzz, my uptime!!1111eleven03: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 peer04: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 seconds04:33
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/96704:51
gutworth (~benjamin@128.36.84.91) left irc: Ping timeout: 268 seconds05:03
durin42 (~durin@adium/durin42) left irc: Ping timeout: 240 seconds05:08
durin42 (~durin@adium/durin42) joined #pypy.05:10
tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection05: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 seconds05:26
Guest66623 (~John@osbk-4db16ffd.pool.mediaWays.net) left irc: Remote host closed the connection05:31
Guest66623 (~John@osbk-4db16ffd.pool.mediaWays.net) joined #pypy.05:31
whitelynx (~whitelynx@75.110.189.230) left irc: Ping timeout: 240 seconds05: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 connection06:07
Nick change: Gulopine -> Gulaway06:11
mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy.06:16
mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 244 seconds06:22
kdas_ (kdas@nat/redhat/x-ipahvqqyrgigkrke) joined #pypy.06:45
kdas_ (kdas@nat/redhat/x-ipahvqqyrgigkrke) left irc: Client Quit06:47
fijal (~fijal@41.49.102.71) joined #pypy.06:49
fijalhi06: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
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/29707:30
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy07: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 connection07: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: leaving07:56
lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 240 seconds07:57
hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy.08:02
fijalarigato: hi08:16
fijalarigato: 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: Leaving08:18
cwillu_at_work (~cwillu@cwillu-1-pt.tunnel.tserv13.ash1.ipv6.he.net) left irc: Ping timeout: 252 seconds08:20
arigatohi08:21
arigatoand get two different timeit that give different numbers on CPython?  looks like a bad idea08:23
mikefctimeout/gc.quantum_state()08:23
fijalarigato: well08:24
fijalarigato: it's already better than what it is now08:24
fijalI think08:24
fijalbecause if you have finalizers, they won't run08:24
fijalso it might even lead to some sort of problems08:24
fijalbut okish08:24
Action: mikefc grabs a nightly08:24
fijalarigato: so, want to discuss the thing that you showed yesterday?08:25
arigatofijal: ah, well, I'm ok if the modified version calls gc.disable/enable on CPython but not on pypy08:25
fijalI know why it's slow (I think) :)08:25
mikefcwoo. multi dim arrays :)08:29
mikefcin numpypy08:29
JaredWigmore (~JaredW@118.142.17.238) left irc: Ping timeout: 244 seconds08:30
cwillu_at_work (~cwillu@cwillu-1-pt.tunnel.tserv13.ash1.ipv6.he.net) joined #pypy.08:31
fijalmikefc: that's done for like weeks08:34
WildChild (~wildchild@modemcable165.184-57-74.mc.videotron.ca) left irc: Read error: Connection reset by peer08: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 peer08: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 seconds08:50
asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer_08:53
stakkarsarigato: hi armin09:16
stakkarsarigato: I'm stuck. when I test "test_rmmap.py" on default, I get a prebuilt constant error09:18
stakkarsand I cannot find why. it is not in rmmap.py.09:18
stakkarsbut when I use my branch, the error is gone.09:19
stakkarscrazy, I have no idea where to look09:19
stakkarsI applied my rmmap changes to default, but no change, the pbc hides elsewhere.09:20
stakkarssigh, blocks me09:21
squiddy (~squiddy@f053080138.adsl.alicedsl.de) joined #pypy.09:21
fijalAlex_Gaynor: ping09:23
G2P (~G2P@fw-asn1.ornis.com) joined #pypy.09:23
mikefcfijal: it wasn't in 1.7.  I'm only just starting to follow pypy closely.09:24
Fluxidfijal: i've run it outside virtualenv with no installed mako, cache info included: http://paste.pocoo.org/show/517436/09:25
fijalmikefc: right, got merged just after 1.709:25
fijalFluxid: there is definitely some sort of difference between various machines09:25
fijalFluxid: old processor?09:26
fijalFluxid: what's that anyway?09:27
fijalFluxid: can you paste one of the entries of /proc/cpuinfo?09:27
Fluxidhttp://paste.pocoo.org/show/517438/09:27
fijalok09:28
Fluxidit has about 3-4 years, i think09:28
fijal@#$%^&%^&!@#^%$%$@#$%$^@#$@#$@09:28
fijalWHAT THE FUCK09:28
Fluxid?09:28
fijalFluxid: so, those processors have 512 L2 cache per die09:28
fijal+ 2M L3 cache09:28
fijalnow09:28
fijalWHY THE LATTER PART IS NOT MENTIONED ANYWHERE?09:28
Fluxiduh, are you screaming on me?09:29
fijalno09:29
fijalon AMD09:29
Fluxidi got scared for a while09:29
fijalFluxid: ok, now go to pypy-benchmarks/own/09:29
fijaland run09:29
Fluxidlet me check one more thing from admin, maybe this is a virtual, i don't really know09:30
fijalPYPY_GC_NURSERY=1M PYTHONPATH=../lib/mako pypy bm_mako.py -n 5009:30
fijaland try this for various values of PYPY_GC_NURSERY09:30
fijal384k 512k 768k 1M 1.5M 2M09:30
fijalmaybe you need 1500k instead of 1.5M09:31
fijaland see the differences09:31
stakkarsfijal: I think yelling is not adequate. I'd express it differently09:31
fijalstakkars: yes?09:31
CIA-1303fijal 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-13Item=N82E16819105192 and this is what's in /proc/cpuinfo:09:34
CIA-13http://paste.p ... * 14https://bugs.pypy.org/issue95809:34
Fluxidfijal: 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_NURSERY09:38
Fluxidso that's why...09:39
fijalwell ok09:39
fijalso09:39
fijalpypy uses cache more efficiently than cpython09:39
fijalhowever, the efficient use of cache depends on being able to read it's size09:39
fijalwe've seen a billion ways to spell it in /proc/cpuinfo....09:39
fijallike09:40
fijalthere is no way of telling if this is per-die or total09:40
fijalI can't really tell you anything right now other than specify PYPY_GC_NURSERY09:40
Fluxidthank you09:41
fijalwhat lscpu tells you?09:41
fijalgreat09:43
Fluxidfijal: it tells me it doesn't exist09:43
fijal:/09:43
CIA-1303fijal 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 the09:43
CIA-13source code and maybe steal something. * 14https://bugs.pypy.org/issue95809:43
arigatofijal: I think that nowadays setting the nursery size to half the cache size is a bit pointless09:46
arigatofijal: we should just set it to 2 or 4MB and be done with it09:46
fijalarigato: indeed maybe09:46
fijalarigato: but we're again loosing because our nursery size is very much inefficient09:46
arigatoe.g. on tannit it makes no difference if the nursery is larger than the cache or not09:46
fijalright09:46
fijalbut mako is much faster on tannit than it is on my machine09:47
Fluxidfijal: does benchmark runner cleanup environment?09:47
fijalFluxid: yes09:47
fijalFluxid: leftovers after unladen_swallow09:47
fijalthere are options to avoid that09:47
Fluxidbah09:47
arigatofor all I know we could use another technique I've seen in GCs, which is to not have a fixed nursery size:09:47
arigatothey just allocate until the absolute maximum is reached, but then they run a minor collection instead of a major one09:48
arigato(most of the time)09:48
fijalarigato: my machine has mako that's ~10% faster than CPython, tannit has 2x09:48
arigatofijal: mako is indeed 2x faster with PYPY_GC_NURSERY=4MB rather than 1MB09:54
arigatoalmost09:54
fijalI have 4M of cache09:55
fijal+512/core09:55
fijaldoes not seem reasonable to have 2M nursery09:55
arigatoI don't think at this point we have to care about what "seems" reasonable or not, but just measure09:56
fijalokey09:56
Fluxidwhat gc nursery is exactly?09:56
fijalthe thing is we should not measure just on tannit09:56
arigatoe.g. on my laptop with 8MB is still a bit faster09:56
arigatobut with 16MB it makes no difference09:56
arigatothat's all on a 3MB cache laptop09:56
arigato(more importantly it does not go down again)09:57
fijalright09:59
fijalfor mako at least09:59
aleksi (~aleksi@85.235.191.82) joined #pypy.09:59
fijalfor gc bench it goes down09:59
fijalby a bit09:59
fijalon my machine09:59
fijalbut also it's not as drastic as underestimating 09:59
Action: lucian is impressed by azul http://www.infoq.com/presentations/Understanding-Java-Garbage-Collection10:00
fijallucian: did you use it?10:01
lucianfijal: no, just saw demos10:01
fijalah ok :)10:01
luciani'd like to use it, but it's exclusive/expensive10:01
fijalthen they just have a great PR10:01
fijalright10:01
fijal?10:01
luciannot really, they have great GCs10:02
lucianand pretty good VMs10:02
fijalhow do you know?10:02
fijalif you never used it?10:02
luciansecond hand statistics, yeah10:02
fijalthey're not even second hand10:02
fijalsince they come from azul themselves right?10:02
lucianno, folks like Rich Hickey have played with their VMs10:03
fijalok10:03
fijalslightly better :)10:03
lucianyes, i'm not sold until i run on it10:04
lucianbut it looks very promising10:04
fijalwe should sell pypy enterprise edition10:04
lucianperhaps you should10:04
lucianactivestate are doing well10:04
fijalthey do tons of stuff10:04
fijalthough10:04
luciansure. but their main product is enterprise runtimes + support10:05
arigato (~arigo@82.113.99.131) left irc: Ping timeout: 252 seconds10:05
lucianfijal: anyway, i found the video interesting regardless of their products10: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
fijalstakkars_: what does it complain about?10:09
kenaan12fijal refactor-signature 111f2faa79c08d 15/pypy/module/micronumpy/: start refactoring signature. not yet rpython10:09
stakkars_It is an unsigned -1 which comes from somewhere, on rmmap default win3210:10
fijalhow is -1 a PBC?10:11
stakkars_It complains about the long. No prob to fix, I just can't find10:11
stakkars_seems to be some uint10:12
fijalno idea10:14
stakkars_Has the bit pattern but is unsigned. When is a pbc built? If a constant is generated in rpython?10:14
timotimoat 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 constant10:15
timotimoah, ok10:15
fijalstakkars_: if it's seen by anntotator10:17
stakkars_Some code in the context of test_rmmap :: test_create generates a PBC that has the pattern r_uint(-1) and complains10:19
fijaluh10: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 why10:21
fijalstakkars_: there are a lot of -110:21
fijalthere10:21
fijallike -1 casted to a pointer10:21
stakkars_and again winnows only, so nobody recognizes but me10:22
stakkars_fijal: When would the annotator see it?10:22
fijalI don't know what do you mean by your question10:23
fijalwhen annotating10:23
fijalpbcs are built when it discoveres a value can't cache10:23
fijalchange10: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
fijalif you have just one possible value then usually yes10:29
fijalx = 110:29
fijalif x:10:29
fijalthat's handled by a flow space10:29
fijalbut slightly more advanced example would do10: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 go10:35
stakkars_And if I put this into the flobals setup as constant, there is bo PBC built? Confuses me vwry much10:36
fijalhakanardo: hey10:36
fijalstakkars_: I have no idea10:36
stakkars_sorry about typos, iphone keyboard10: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
kenaan12fijal refactor-signature 115ccd3a82d52d 15/pypy/module/micronumpy/: make this rpython10:39
fijalI honestly don't understand what you're saying10:39
fijalput a pdb in __init__ of PBC and see where it comes from10:39
stakkars_ah? Will try, thanks10: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 host10:41
voidspace (~anonymous@python/psf/voidspace) joined #pypy.10:41
kenaan12fijal refactor-signature 1100c7a228329b 15/pypy/module/micronumpy/: fix forced signature10:51
kenaan12fijal refactor-signature 11e08b8dbb9fb8 15/pypy/module/micronumpy/interp_numarray.py: reindent10:53
kenaan12fijal refactor-signature 116d4692380e8f 15/pypy/module/micronumpy/signature.py: oops, forgot to remove10:53
mikefcugh. where is scipy.ndimage.save (not related to pypy) 10:56
arigato (~arigo@fwstups.cs.uni-duesseldorf.de) joined #pypy.10:57
fijalwhere as in where is it implemented?10:57
fijalarigato: hi10:57
mikefcfijal: i just can't find a save method in the docs.10:57
arigatohi10:57
fijaloh10:57
fijalarigato: want to discuss options for the slowness you pointed out yesterday?10:58
arigatoI try to stay uninvolved in numpy business, but sure, shoot your suggestions at me :-)11:00
mikefc"someone" needs to write a new PIL11:01
fijalarigato: ok, well, fine :)11:04
Action: arigato reboots tannit11:04
fijalarigato: well, I don't actually know how to solve it11:05
fijalprobably not exposing this stuff to the JIT would be a good first step11: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 it11:06
stakkars_mikefc: Write to Fredrik Lundh if he still has a pure Python impl of PIL11:08
stakkars_that would be interesting to feed the Jit with11:09
Action: mikefc looks into it11:09
arigatostakkars_: the 'socket' module on default on win32 translates fine for me11:13
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/741 [12arigo]11:14
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/617 [12arigo]11:14
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1880 [12arigo]11:14
bbot2Started: 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 office11:15
arigatoah, that's in mmap11:15
stakkars_Happens on Default and is really not in rmmap11:17
stakkars_but in something that rmmap uses11:19
stakkars_try test_rmmap:test_create and it complains11:21
mikefcit'd be worth rewriting PIL in numpypy11:28
stakkars_mikefc: people say it is a lot of trick undocumented code in C11:29
mikefcyeah. i'm thinking a reimplementation rather than a port.11:30
mikefcwith numpy as a backend.11:30
Action: mikefc reinvents the wheel11:30
mikefcs11:30
mikefco 11:30
mikefcm11:30
mikefcuch 11:30
mikefcso 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 numpypy11:32
mikefcstakkars_:  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 Rpython11: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 peer11:45
stakkars_ (~stakkars@89.204.138.124) joined #pypy.11:51
stakkars__ (~stakkars@i59F7355F.versanet.de) left irc: Ping timeout: 240 seconds11:53
stakkars_ Gack!12:06
stakkars_locked out, and cleaning woman locked in ;-)12:07
bbot24Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/741 [12arigo]12:15
lotrpycould I ask a newbie question, even I don't learn pypy yet.12:15
fijallotrpy: sure, at worst noone will answer :)12:16
lotrpyfijal, thanks for the answer:).12:16
Action: mikefc is still too scared to look at any rpython12:17
lotrpyI'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 yourself12:18
nedbat (~nedbat@python/psf/nedbat) joined #pypy.12:18
lucianmikefc: if you were to use a numpypy on pypy and numpy and cpython, it should be quite interesting and useful12:18
mikefclucian: yeah. i think a pure python numpy-based PIL clone would be useful to me.12:21
mikefcjitted pixel ops would probably be fast too. it'd be a nice stress test for numpypy.12:22
fijallotrpy: you should probably not learn rpython at all12:25
fijalwhy would you do that?12:25
PiotrSikora (~none@nginx/adept/piotrsikora) left irc: Excess Flood12:27
PiotrSikora (~none@nginx/adept/piotrsikora) joined #pypy.12:28
fijallotrpy: RPython is used only by dynamic language VM authors, like us12:28
amaury (~amaury_@74.125.57.34) joined #pypy.12:29
mat^2 (~mathias@212.130.113.35) joined #pypy.12:31
kenaan12bivab arm-backend-2 1193473354e34c 15/pypy/jit/backend/arm/opassembler.py: fix for GUARD_NOT_INVALIDATED12:32
stakkars_lotrpy: RPython requires a lot of knowledge, so if you really want that, it costs you a lot of time12:36
fijalyes, but also it does not buy you much12:37
stakkars_But I don' want to stop you, it is simply difficult12:37
lotrpyoh, thanks for the info. then... I just download/install pypy, and run my python source file?12:39
fijalyes, precisely :)12:39
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds12:40
lotrpyfijal, thanks :)12:46
jnoller (~jnoller@vpn.nasuni.com) joined #pypy.12:51
fijaljnoller: hi jesse12:51
stakkars__ (~tismer@i59F7355F.versanet.de) joined #pypy.12:52
jnollerhello12:53
stakkars__hola12:59
stakkars__jnoller: you are Jesse?13:00
jnolleryes13:00
Nick change: nopper` -> nopper13: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
jnollerThe only avenues for talk proposals are Lightning talks, Poster sessions or Open Space sessions13:02
jnollerYup, saw your login host :)13:03
jnollerMain track talks are closed - we're actually having 2+ hours of meetings a day to pick the program :)13:03
jnollerBut there will probably be PyPy tutorials (there is one) and PyPy Talks at the con, I think your windows build should factor into those13:04
stakkars__ok, that sounds good!13:04
jnollernp13:04
fijalstakkars__: yop, if our talk gets accepted, we'll say about win6413:04
jnoller2+ hours of meetings and planning per day.13:05
Action: jnoller sighs13:05
Fluxidfijal: 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
jnollerstakkars__: +113:06
stakkars___ (~stakkars@i59F7355F.versanet.de) joined #pypy.13:06
fijalFluxid: this sort of questions begs for the answer "yes it is possible"13:06
fijalmostly because any sort of performance characteristic is possible13:06
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.13:07
fijaldoes it stabilize below or above the first batch?13:07
stakkars__fijal: can I join a PyPy talk? I haven't written a proposal, yet13:08
stakkars__but I want to advertize it, and be present13:09
fijalstakkars__: 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 talk13:10
stakkars_ (~stakkars@89.204.138.124) left irc: Ping timeout: 240 seconds13:10
K-os (~gabriel@dhcp-205.zbh.uni-hamburg.de) joined #pypy.13:10
fijalbut I would at the very least insist you're present and answer questions about whatever you did13:10
Fluxidfijal: 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 66ms13:10
fijalFluxid: sounds a bit bogus to me, but also times are very small13:11
Fluxidfijal: but this not mako13:11
fijalso it's possible for the first 10 iterations you accumulate garbage13:11
fijaland don't run gc.collect13: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
fijalwhile later on it stabilizes a bit more13:11
fijalstakkars__: you can't submit a proposal by now13:11
fijalit's I think few months too late13:11
Fluxidi just wonder if this something in app or something pypy-specific13:11
amaury (~amaury_@74.125.57.34) left irc: Ping timeout: 240 seconds13:12
fijalFluxid: if those are those opterons, make sure you pass PYPY_GC_NURSERY btw13:12
jnollerstakkars__: You can not submit anything but a Poster Session proposal13:12
Fluxidno, this is other machine, those result got someone else13:12
jnollerstakkars__: https://us.pycon.org/2012/posters/13:13
stakkars__jnoller: ok, thank you!13:13
jnollerLightning talk submissions will happen on site13:13
jnollerstakkars__: and it will be good to have you there.13:13
fijalFluxid: it is possible, it does sound weird13:13
fijalbut again, the few ms time might be anything13:13
stakkars__jnoller: yes, and I'm hapy to come, this time _with_ really something13:14
jnoller:)13:14
Fluxidfijal: 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
fijalyes13:16
fijalPYPYLOG=log pypy <stuff>13:16
fijaland then you need a pypy checkout13:16
fijaland run logparser13:16
fijalit's explained in my blog post btw :)13:16
fijalhttp://lostinjit.blogspot.com/2011/11/analysing-pythons-performance-under.html13:17
Fluxidfijal: on your blogspot?13:17
Fluxidah, good, thanks13:17
fijalI should seriously charge money for that13:17
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds13:17
stakkars__fijal: for the blog post?13:17
fijalstakkars__: for knowing how to measure and improve performance13:18
stakkars__well, we had that...13:18
fijalwe had what?13:19
stakkars__the discussion about what and how to sell13:20
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/617 [12arigo]13:20
bbot23Success: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1880 [12arigo]13:20
fijalstakkars__: yeah13:20
Fluxidduh, sorry...13:21
fijalFluxid: ?13:21
Fluxidfor asking and not paying ;)13:22
fijalhaha ;-)13:23
fijalit's ok, this is googleable even13:23
rokujyouhitoma (~rokujyouh@12.51.221.130) joined #pypy.13:23
fijalI reserve the right to have a better set of tools that's paid13:23
fijalto use13:23
linq (~ident@24-246-25-39.cable.teksavvy.com) left irc: Ping timeout: 252 seconds13:27
Fluxidhttp://codespeak.net/pypy/dist/pypy/doc/garbage_collection.html � why this doesn't redirect to newest version on pypy.org?13:31
Fluxidit's first result in google...13:31
fijalis there info about garbage collection on pypy.org?13:34
fijalI can't *really* take any responsibility for google13:34
fijalthe codespeak version is no longer up to date13:34
fijalit moved to docs.pypy.org13:34
Fluxidimo 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
fijalnot that I can update the codespeak any more13:35
fijalI'll ask what can be done13:35
Fluxidbut 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
fijalFluxid: eh, I can fix that13:36
Guest66623 (~John@osbk-4db16ffd.pool.mediaWays.net) left irc: Read error: Connection reset by peer13:41
Kaskuka (~John@osbk-4db16ffd.pool.mediaWays.net) joined #pypy.13:43
Action: timotimo tried to translate pyrolog and failed13:45
timotimois it supposed to be translatable from the repo?13:46
cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) joined #pypy.13:48
timotimoah, using the commit called "fix translation" seems to work13:49
timotimothat was quick. pyrolog seems pretty small13:52
harrison (~quassel@adsl-76-217-37-36.dsl.chcgil.sbcglobal.net) joined #pypy.13:59
cfbolzprolog is a much smaller language than python13:59
Rhy0lite (dje@nat/ibm/x-mdulssipssctadzc) joined #pypy.13:59
fijalcfbolz: hi carl13:59
cfbolzhello14:00
Rhy0litefijal: how is Laplace progressing?14:00
timotimoyes, i can already see it's much, much, much, much smaller14:01
harrison_ (~quassel@adsl-76-217-37-36.dsl.chcgil.sbcglobal.net) joined #pypy.14:02
fijalRhy0lite: I'm attacking sharing iterators14:02
fijalbut we did some progress, we fixed bugs14:03
cfbolztimotimo: did you enable the jit?14:03
harrison (~quassel@adsl-76-217-37-36.dsl.chcgil.sbcglobal.net) left irc: Ping timeout: 248 seconds14:03
timotimoi'm not 100% sure. i would have had to supply -Ojit, right?14:04
cfbolzyes14:04
timotimoOK14:05
timotimothe interpreter isn't aware of multi-line-ness?14:05
timotimoand a syntax error in a file that's consulted causes a program exit with an rpython traceback? :)14:05
timotimoso this is more or less a proof of concept and was what you used to develop the jit generator?14:05
cfbolztimotimo: the parser is rather hackish14:08
cfbolzthe semantics are quite sane though14:08
cfbolzand yes, it was mostly to push the JIT generator further14:08
Nick change: Gulaway -> Gulopine14:19
kenaan12hager ppc-jit-backend 11141b01d305d7 15/pypy/jit/backend/ppc/ppcgen/test/test_stackframe.py: Update stack frame sketch14:19
kenaan12hager ppc-jit-backend 11120ce67e8e79 15/pypy/jit/backend/ppc/ppcgen/regalloc.py: float not supported yet14:19
kenaan12hager 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 properly14:20
santagada (~leonardo@201.47.217.214) joined #pypy.14:21
kenaan12fijal refactor-signature 11ee9bb45f0923 15/pypy/module/micronumpy/: in-progress14:21
kenaan12fijal default 11591be18ef52c 15/pypy/module/micronumpy/: implement some rudimentary __array_interface__14:21
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1145 [12arigo]14:24
timotimonow i have a jitted pyrolog14:27
timotimois 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
cfbolztimotimo: wait14:31
cfbolztimotimo: some parts of the jit generator were prototyped in swi-prolog14:31
cfbolzbut that has nothing to do with pyrolog14:32
timotimooh, is that so? i see.14:32
cfbolztimotimo: there is a paper about that here: http://www.stups.uni-duesseldorf.de/mediawiki/images/0/01/Pub-BoLeRi09_235.pdf14:34
kenaan12fijal default 11a23933bd7963 15/pypy/module/micronumpy/: fixes14:35
timotimothank you14:35
cfbolztimotimo: (it's not that good)14:35
Nick change: Gulopine -> Gulaway14:43
kenaan12fijal default 11060a7ce40fa6 15/pypy/module/micronumpy/interp_numarray.py: another fix. I don't think views of virtual arrays are well supported14:49
fijalAlex_Gaynor: I think (a + a)[::2] is broken14:49
fijalI'll fix it though14:50
Alex_Gaynorok, write a test :)14:50
fijalyes14: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 Quit14: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
kenaan12alex_gaynor extradoc 1138bf58fc834d 15/planning/micronumpy.txt: update14:59
fijalAlex_Gaynor: it seems to be doing pretty good15:01
Alex_Gaynorfijal: what does?15:02
fijalmicronumpy15:02
Alex_Gaynorah yes, indeed15:02
kenaan12fijal default 11b5fbdffb1026 15/pypy/module/micronumpy/interp_numarray.py: how-did-it-even-work?15:03
fijalAlex_Gaynor: it seems to me we never though about a view of a concrete thing or a view of virtual thing15:07
fijalat least I didn't15:07
harrison_ (~quassel@adsl-76-217-37-36.dsl.chcgil.sbcglobal.net) left irc: Remote host closed the connection15:14
harrison_ (~quassel@adsl-76-217-37-36.dsl.chcgil.sbcglobal.net) joined #pypy.15:15
Alex_Gaynorfijal: 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
fijalwell15:17
fijalsome stuff doesn't have a good answer to this15:17
fijallike "what's the concrete address of the array"15:17
fijalyou have to have a concrete array first15:17
siccegge (~siccegge@faui49p.informatik.uni-erlangen.de) left irc: Ping timeout: 258 seconds15:18
Alex_Gaynoryes, that's fine for asking for an address to force15:18
fijalAlex_Gaynor: I'm doing matplotlib experiments15:20
Alex_Gaynorfijal: I thought you were doing shared iterator expirements with a signature refactor15:21
fijalyes, thinking about this right now :)15:21
fijalbut it's nasty unless you want to deal with virtualizables15:21
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum15:22
Alex_Gaynorwhat's wrong with virtualizables15:22
fijalI dunno15:22
fijalyou're the one who removed them from numpy no?15:22
fijalI'm fine with them btw15:23
Alex_Gaynoryes, the main reason was just to make ASTs which supported arbitrary ufuncs instread of the bytecode15:23
Alex_GaynorI'm fine to have virtualizables15:23
cfbolzfijal: *can* you have virtualizables?15:24
cfbolzI'm not sure we ever had more than one class of them15:24
fijalcfbolz: I added support for that15:24
fijalit's tested :)15:24
cfbolzfijal: but not stress-tested15:25
fijalwell15:25
fijalwe used it for numpy a bit15:26
fijalbut it's anyway not a very good reason15:26
whitelynx|work (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat15: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 peer15:34
voidspace (~anonymous@python/psf/voidspace) left irc: Quit: voidspace15: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 explicit16:03
exarkunexplicit woo16:03
cfbolzstakkars__: the old behavior produced a lot of subtle bugs16:04
stakkars__cfbolz: I agree. The new behavior, too. But all in Windows ;-)16:05
kenaan12ctismer 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
kenaan12ctismer default 11469c4a362d73 15/pypy/module/micronumpy/: Merge16:09
stakkars__cfbolz: it totally confused me:16:10
stakkars__we can no longer write 16:10
stakkars__(a << 32) + b16: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 concatenation16:14
Ademan (~yaaic@67.sub-97-157-35.myvzw.com) left irc: Remote host closed the connection16:15
ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) left irc: Quit: Leaving...16:15
cfbolzstakkars__: yes, but if you do automatic type conversion and you aren't totally careful, suddenly lots of things are unsigned16:16
arigato<spam>16:16
kenaan12arigo default 110cec1f036691 15/pypy/: Throw away and restart another attempt at pypy/bin/checkmodule.16:17
kenaan12arigo default 11ac541142ddcd 15/pypy/objspace/fake/: Progress.16:17
kenaan12arigo default 1165c9c70b487b 15/pypy/objspace/fake/: Progress.16:17
kenaan12arigo default 11914208fc6836 15/pypy/objspace/fake/test/test_objspace.py: extra tests.16:17
kenaan12arigo default 111a471ba2aa1d 15/pypy/objspace/fake/: Progress.16:17
kenaan12arigo default 11548656579bd4 15/pypy/objspace/fake/: Progress.16:17
kenaan12arigo default 11090ec341827b 15/pypy/objspace/fake/: Progress.16:17
kenaan12arigo default 116e9276536c74 15/pypy/objspace/fake/: Progress.16:17
kenaan12arigo default 11391271fcc7f9 15/pypy/objspace/fake/: Still more progress.16:17
kenaan12arigo default 1130e84d345b46 15/pypy/objspace/fake/objspace.py: Fix the multiple calls to build_types() by passing complete_now=False16:17
kenaan12arigo default 1190f0debd374c 15/pypy/objspace/fake/: Some progress.16:17
kenaan12arigo default 112db948e2fa60 15/pypy/: Fixes.16:17
kenaan12arigo default 1170d0240ac95a 15/pypy/objspace/fake/test/test_objspace.py: fix test16:17
kenaan12arigo default 1193c1adc1f2e5 15/pypy/module/micronumpy/: Kill a dependency to the stdobjspace.16:17
kenaan12arigo default 11b1a1441f2980 15/pypy/: Fixes.  Now micronumpy passes :-)16:17
kenaan12arigo 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
kenaan12arigo default 11ea6c0a78b1e6 15/pypy/objspace/fake/: Wrong logic.  Must only call ann.complete() once at the end.16:17
kenaan12arigo default 113d44c9c53444 15/pypy/: merge heads16: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 host16:18
voidspace (~anonymous@python/psf/voidspace) joined #pypy.16:18
arigatoso now, you no longer have an excuse for checking in a micronumpy that doesn't translate16:18
arigatoyou can run "pypy/bin/checkmodule micronumpy" and get an answer is 20 seconds16:18
gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy.16:19
arigatook, 3016:19
bivab (~david@fwstups.cs.uni-duesseldorf.de) left irc: Quit: bivab16:22
arigatostakkars__: for example, (a<<32) + b, with b unsigned, used to give an unsigned result16:22
arigatowhich is probably a bit unexpected if a is signed16:22
stakkars__arigato: I see. It should become a signed, of course.16:23
arigatomoreover, assuming b is actually an rffi.UINT, it's never usable directly in a "+"16:23
arigatoon 64bit16:23
arigatoso 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
arigatoon 64bit, intmask(some rffi.UINT) does the right thing and gives you a signed between 0 and 2**32-116: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
arigatoah, you can write it int(b) instead of intmask(b), I believe16: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 wrong16:28
arigatoah no, you have to call intmask(b)16:28
kenaan12arigo 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 test16:29
stakkars__arigato: you confuse me again16:29
arigatoforget all I tried to explain confusingly, and look at the test I just checked in16:29
harrison_ (~quassel@adsl-76-217-37-36.dsl.chcgil.sbcglobal.net) left irc: Ping timeout: 252 seconds16:32
arigatoanyone cares to understand why buildbot gives the following page?16:32
arigatohttp://buildbot.pypy.org/builders/own-linux-x86-32/builds/188016: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 seconds16:33
arigatoon 32bit, writing "a << 32" is not what you want, either, unless you are really working with r_longlong16:34
arigatoso I assumed somehow that the line above was run only in 64-bit16:34
arigatoif you are looking at mmap, note that the win32-specific code is kind of broken anyway:16:35
arigatohttps://bugs.pypy.org/issue81016:35
stakkars__no, I try to avoid too many cases16:35
arigatoRPython is like C for "<<": if you do "x << 32" on a 32-bit machine, you get undefined results16:36
arigato(on x86, it is the same as doing "x << 0")16:36
arigatogcc gives a warning16:36
Taggnostrmikefc, I'm committing your defaultdict patch, if you have a name I'll include it in the commit message16:37
stakkars__ok. I'm trying to get win32 to compile. Then to be correct ;-)16:37
arigatobasically, the expression (a << 32) is never correct on 32-bit16:37
stakkars__yeah yeah, it was not my code, so I got very confused16:39
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection16:39
stakkars__please let's skip over this ;-)16:40
overminder (overminder@2002:af9f:6fc7::af9f:6fc7) left irc: Ping timeout: 268 seconds16:43
timotimoyay, redis seems to work with pypy16:46
mattip (~chatzilla@bzq-79-179-96-122.red.bezeqint.net) joined #pypy.16:48
mattiphi16:48
rokujyouhitoma (~rokujyouh@12.51.221.130) left irc: Ping timeout: 252 seconds16:49
arigatohi16:50
mattiparigato: is checkmodule mentioned on the developer website somewhere? I sure would have liked to know about it earlier.16:50
arigatomattip: earlier than today at noon, it was not helpful for any module other than _clr16:50
arigatoI rewrote it from scratch for this context, and now it works for micronumpy, which was my intention16:51
mattipcool. Thanks, It will help beginners like me. 16:52
jterrace (~jterrace@aegis.CS.Princeton.EDU) joined #pypy.16:54
kenaan12arigo default 11831d216b57f0 15/pypy/: Tweaks.16:55
kenaan12arigo 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 out16:56
Action: arigato -> away16:57
brads (~brads@uwsclient-166-70.uws.ualberta.ca) joined #pypy.16:58
arigato (~arigo@fwstups.cs.uni-duesseldorf.de) left irc: Quit: See you16:58
bradshello, I'm having trouble installing python-ldap.  Here is the error 16:59
bradsFile "/usr/local/pypy-1.7/lib-python/modified-2.7/distutils/unixccompiler.py", line 300, in runtime_library_dir_option16: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 basename16:59
brads    i = p.rfind('/') + 116:59
bradsAttributeError: '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
bradsI'm using freebsd 917:00
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.17:02
bradswhere 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
kenaan12hager ppc-jit-backend 11c79efdc9a57f 15/pypy/jit/backend/ppc/ppcgen/arch.py: resize float/int conversion area17:04
kenaan12hager ppc-jit-backend 11e20c4260d119 15/pypy/jit/backend/ppc/ppcgen/codebuilder.py: add sanity check to bl_abs17:04
kenaan12hager ppc-jit-backend 11ba02345dd112 15/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py: remove bug in computation of frame size17:05
kenaan12hager 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 now17:05
kenaan12ctismer win64-stage1 11da31cc0f6eee 15/pypy/: merge default17: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
bradsmaybe that should be fixed instead of kludged?17:10
bradsor is it a problem with the port?17:13
kennethreitz (~kennethre@adsl-99-191-194-225.dsl.pltn13.sbcglobal.net) joined #pypy.17:18
jterraceAlex_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 seconds17:24
stakkars__ (~tismer@i59F7355F.versanet.de) left irc: Quit: schnarch17:26
fprimex (~fprimex@brent-macbook.sc.fsu.edu) left irc: Quit: http://www.fprimex.com17: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 Quit17:36
stakkars___ (~stakkars@i59F7355F.versanet.de) left irc: Ping timeout: 252 seconds17:36
aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection17: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 seconds17: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 seconds17: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 seconds17:56
kenaan12fijal default 11f8b238a469f4 15/pypy/: Add list-comprehension-operation to checkconfig by default, have a test that checks if micronumpy translates17:59
`fox` (~fox@host91-171-dynamic.245-95-r.retail.telecomitalia.it) left irc: Ping timeout: 244 seconds17:59
fijalantocuni: ping18:01
bradsWhat does this error mean?  http://pastebin.com/bUcwJniY18:07
fijalAlex_Gaynor: cool http://paste.pocoo.org/show/517658/18:07
fijalbrads: it means that ldap module is not cooperating with our cpyext18:08
fijaleither ldap or cpyext is broken18:08
fijalit occurs to me you do PyTuple_Check before initializing module18:08
fijalor so18:08
fijalbut I don't know18:09
bradsokay 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
fijalI don't know yet18:11
fijalbrads: you can submit it to pypy for the time being, but if you want someone to look there, probably some investigation is required18:11
intellec1ronica (~intellect@212-64-151-86.static.cloud-ips.co.uk) left irc: Client Quit18:11
fijalyou can submit to both even :)18:11
stakkars_fijal: zlib stuff: is that win32 only?18:20
antocunifijal: pong18:20
voidspace (~anonymous@python/psf/voidspace) left irc: Quit: voidspace18:20
fijalantocuni: 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
antocuniI agree18:21
antocuninote 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
fijalantocuni: feel like fixing it?18:23
fijalstakkars_: no idea18:23
fijalI don;'t think so18:23
antocunifijal: I'm going out soon18:23
stakkars_fijal: there is a win6418:23
antocunibut I can do it tomorrow/friday18:24
fijalantocuni: cool, I'm having fun embedding cpython using ctypes in pypy18:24
antocuniwow18:24
antocunibut you have to disable cpyext?18:24
fijalyes, obviously18:24
fijaltoo bad :)18:24
fijalwasn't using it anyway18:24
antocuniwhat's the goal?18:25
fijalto run matplotlib18:25
antocuniah, nice18:26
antocuniand running it in a subprocess is to expensive because you have to pass huge arrays of data?18:26
fijalyes18:26
fijalalso annoying18:26
fijalcause you would need to implement pickling of arrays and whatnot18:26
fijalantocuni: of course I have to invent tons of nice context managers18:27
fijallike18:27
fijalwith exception_tracking:18:27
fijalor with refcount:18:27
fijal:]18:28
antocunipff18:28
antocunihave fun :-)18:28
fijalyes, pfff ;-)18:28
fijalit's easy18:28
fijal"easy"18:28
fijaljust very annoying18:28
fijalantocuni: note that this way you can have python 2 and python 3 in one process18:29
fijaljust pypy 2 and cpython 318:29
kennethreitz (~kennethre@204.14.152.118) joined #pypy.18:30
antocuniwell, but you can't pass arbitrary objects back and forth, can you?18:30
fijalwell no, obviously not18:30
fijalhow would you think that would work?18:30
fijalit's not like dict in python 3 and dict in python 2 are the same thing18:30
exarkunwell, they basically are the same thing18:31
exarkunthey just don't have the same interface18:31
fijalyes18:31
mwhudson (~mwh@linaro/mwhudson) joined #pypy.18:33
antocunifijal: 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
ronnyfijal: hmm, now i have a uterly perverse idea for a new execnet gateway18:36
ronnyinprocess-pypy-to-cpython18:36
fijalyes, that was my perverse idea first though18: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 seconds18:41
jterracefijal: 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 connection18:45
fijalsubclasses18:46
fijalwhy?18:46
jterracehmm, it seems like they aren't.. when i do type(x[0]) on an element, it says 'int'18:46
jterracewhereas in numpy, it's 'numpy.int64'18:47
fijalhow new is your pypy?18:49
jterracethis is on default branch latest18:49
jterracei think.. let me just double check18:49
`fox` (~fox@host91-171-dynamic.245-95-r.retail.telecomitalia.it) joined #pypy.18:50
jterraceactually, i was testing on 1.718:50
jterracehas that been added since 1.7?18:50
fijalyes18:50
arigatoit feels like 1.7 is already ages ago18:52
jterracefijal: are they now instances of type Scalar?18:52
fijalno18:52
mtigas (~Adium@users.spokesman.com) joined #pypy.18:52
fijalthey should not be of type Scalar18:52
fijalarigato: yes18:52
fijalarigato: eh, do you know anything about linux loading schemas?18:52
fijalI'm trying to load libraries18:52
fijalI load libpython first18:53
fijaland then numpy18:53
jterracehow 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
fijaland the latter does not see symbols from earlier18:53
fijalI pass RTLD_GLOBAL as an argument to CDLL18:53
arigatostrange18:54
fijalhttp://paste.pocoo.org/show/517676/18:54
arigatosorry, I only know about RTLD_GLOBAL and that's it18:55
fijalthe script looks like this if you care18:55
arigatouh, and you want to run it on top of pypy?18:55
fijalunless ctypes does not care18:55
fijalyes18:55
fijalwhat's wrong with me?18:55
fijal;-)18:55
arigato:-)18:56
fijaloh nice18:56
fijalbut at least pypy's CDLL does not pass the flags18: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 seconds18:57
Alex_Gaynorjterrace: what type do you mean18:57
fijalARGH18:57
jterracei think i figured it out18:57
jterraceW_Dtype18:57
Alex_Gaynorjterrace: numpy has both scalar (aka 0-d) arrays, as well as numpy.generic subclasses18:57
Alex_Gaynorah, that's a dtype :)18:57
jterraceso im working on adding the tolist() function to arrays18:58
jterraceand it's also defined on scalars, so figured id start there18:58
jterraceeg. x[0].tolist() works, and returns a single value rather than a list in numpy18:58
jterraceso can i just add a method to W_Dtype called tolist?18:58
fijalgrrrrrrrrrrr18:58
fijalgrumble grumble18:59
Alex_Gaynorjterrace: no, that'd be on W_Generic in interp_boxes18:59
jterraceoh18:59
jterracebtw, 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
kenaan12arigo default 111ef0414a0491 15/pypy/objspace/fake/test/test_zmodules.py: Remove it from there then.19:03
kenaan12arigo 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: Leaving19:04
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum19:05
fijalarigato: eh nice, how did you fix conflicts?19:05
arigato?  which conflicts19:06
fijalor I did not manage to push19:06
fijal?19:06
fijalah ok19:06
fijalno, fine :)19:06
Alex_Gaynorjterrace: I usually name RPython methods that are exposed in python as descr_<19:06
Alex_Gaynortehod_na19:06
Alex_Gaynore>m19:06
Alex_Gaynorwtf, my keyboard is broken19:07
jterraceAlex_Gaynor: i added a function descr_tolist to W_GenericBox and then added a property tolist = interp2app(..) in the W_GenericBox.typedef19:07
jterraceand the world exploded with errors19:07
kenaan12fijal default 11bc01389b6c4c 15/pypy/rpython/tool/: add a simple wrapper and some tests19:07
Niedar (gfghfghf@host-173-230-2-133.vanodod.clients.pavlovmedia.com) left irc: Ping timeout: 240 seconds19:07
Alex_Gaynorhah, paste your diff?19:07
jterraceok one sec19:07
Alex_Gaynork19:07
jterracehttp://pastebin.com/raw.php?i=WzAH9tv219:08
jterraceobviously '0' is not right, but wanted to just see if it would work first19:08
Alex_Gaynoryou're returning an RPython it19:08
Alex_Gaynoryou need to return a W_In19:08
Alex_Gaynordo sapce.wrap(0)19:08
Alex_Gaynorspace*19:08
jterraceah19:10
jterraceso interp2app passes a self and a space?19:10
Alex_Gaynoryes19:10
jterracecool i think i get it, that worked19:10
Action: jterrace dances19:10
fijalok19:10
fijalnow why does _ffi and _rawffi have duplicated functionality?19:10
Alex_Gaynorask antocuni 19:10
Alex_Gaynor:)19:10
fijalantocuni: ?19:11
arigatothe idea is that at some point _ffi should replace _rawffi19:11
cpets (c358b60a@gateway/web/freenode/ip.195.88.182.10) left irc: Ping timeout: 265 seconds19:11
fijalarigato: so the idea is that we should not gradually remove stuff from _rawffi but instead just remove it in one go?19:12
kenaan12arigo 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
kenaan12arigo 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
arigatofijal: I don't know, but I think that all the code from _rawffi is still used in some case or another, right now19:13
fijalarigato: yes, I'm generally pretty unhappy with current ctypes19:13
fijalbecause while the fast case is fast, the slow case is super-slow19:13
fijaland it does not give a good feeling19:14
fijalbut hey, we'll come with a better ffi!19:14
kenaan12fijal default 11b4badea8f26f 15/pypy/rlib/: Pass mode around, everyone supports it, it's just about passing it19:14
arigatoI think with enough effort we can end up at a situation where there is no more slow case and no more _rawffi19:14
kenaan12fijal default 11cfff5b5f0b13 15/pypy/module/_ffi/interp_ffi.py: Pass mode19:14
kenaan12fijal default 113e5a23d598b4 15/: merge19:14
Alex_Gaynorfijal: I'm writing docs on a better FFI19:14
fijalAlex_Gaynor: cool19:14
arigatoAlex_Gaynor: that's what antocuni is doing with _ffi19:15
arigato(just want to make sure you know)19:15
fijalno, he's not19:15
fijalanto is not designing a better user-facing interface19:15
fijaland this is what alex is doing19:15
Alex_Gaynorarigato: I'm talking about a better public API, to replace ctypes19:15
Alex_Gaynorinternals are a seperate thing19:15
arigatowell, talk with antocuni19:15
fijalwell, it's not like anto is doing any development currently anyway19:15
arigatolast I heard, he was going for an interface good enough to be public19: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 seconds19:17
stakkars_arigato: win32 default looks quite good so far. Building one with -Ojit19:18
fijalwin32 or win64?19:18
mtigas (~mtigas@users.spokesman.com) joined #pypy.19:18
kenaan12fijal default 11315da4da5ab0 15/pypy/module/_ffi/interp_ffi.py: pass a mode here19:18
fijalarigato: I think Alex's and anto's motivations differ19:18
fijalquite drastically19:19
fijalbut well19:19
rokujyouhitoma (~rokujyouh@173.227.61.3) left irc: Ping timeout: 252 seconds19:20
stakkars_arigato: I need a new builder win32 on snakepit. May I do that?19:21
stakkars_the existing one is not so good19:21
stakkars_fijal: I said it all.19:22
stakkars_there is no win64 default.19:23
arigatostakkars_: I agree19:24
arigatostakkars_: if we make a builder "snakepit32" and put it before "bigboard" in the list on the server, it should run in priority19:25
arigatoand "bigboard" is only going to start if snakepit32 isn't connected19: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 seconds19:29
Action: fijal does some sword fighting while pypy translates19: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 disconnecting19:31
Action: jterrace gets on rolly chair and battles fijal19: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 slooowww19:32
arigato:-)19:32
stakkars_that becomes a real bootstrap, then :-)19:33
arigatonote that a 32-bit pypy should be able to run a 32-bit translation too, but the19:33
etrepum (~bob@accessnat4.mochimedia.net) joined #pypy.19:33
arigatoissue is the 2GB limit,19:33
arigatowhich can be raised to 3GB with minimal hacking19:33
bbot2 (~bbot2@wyvern.cs.uni-duesseldorf.de) joined #pypy.19:34
stakkars_is pypy-c there different from cpython?19:34
arigatoI don't know, but I would assume that cpython did the hacking19:34
stakkars_if the one does it, the other does as well, no?19:34
arigatoor maybe it's just that 2GB is enough on CPython19:34
stakkars_ar har. we will see.19:35
fijalarigato: 2G is enough to translate pypy on pypy on 32bit linux19:35
arigatoit's possible that CPython needs less memory (at least resident, so likely also virtual)19:35
stakkars_with all working stuff?19:35
arigatofijal: yes, but not on windows19:35
mwhudson (~mwh@linaro/mwhudson) joined #pypy.19:35
arigatoand 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-bahn19:36
arigatotchuss19:36
stakkars_a bientot19:37
arigato:-)19:37
rokujyouhitoma (~rokujyouh@173.227.61.3) joined #pypy.19:38
fijalarigato: why?19:38
fijalor we don't really know?19:38
rokujyouhitoma (~rokujyouh@173.227.61.3) left irc: Read error: Connection reset by peer19:38
stakkars_well, I will try the same test with the new built pypy-c. in an hour19: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
arigatofijal: indeed, I don't know why19:40
stakkars_does not find expat.h19:40
Action: stakkars_ reeeeaaallly going19:41
stakkars_ (~tismer@f052069064.adsl.alicedsl.de) left irc: Quit: schnarch19:41
`fox` (~fox@host91-171-dynamic.245-95-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds19:41
Circlefusion (~cf@74-138-199-109.dhcp.insightbb.com) left irc: Read error: Connection reset by peer19:42
hpk (~hpk@hq2.merlinux.eu) joined #pypy.19:45
hpky-sync19:45
ronan (~ronan@host86-142-249-87.range86-142.btcentralplus.com) left irc: Quit: Ex-Chat19:48
fijalhpk: hi hpk19: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 seconds19:50
santagada (~leonardo@201.47.217.214) left irc: Quit: Ex-Chat19: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 seconds20: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
kenaan12fijal default 11e37e4e6e97b8 15/: we *must* specify RTLD_NOW.20:08
mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 244 seconds20:11
bradsfrom python-ldap:20:15
bradsFrankly I've never used PyPy and I have no clue what PyTuple_Check is about.20:15
bradsAlso a short search did not return sample code on how to use it.20:15
bradsI'd be willing to accept a patch for python-ldap if the import of something is20:15
bradstruly optional.20:15
bradsCiao, Michael.20:15
brads(Michael Ströder)20:15
Rhy0lite (dje@nat/ibm/x-mdulssipssctadzc) left irc: Quit: Leaving20:16
fijalbrads: well, you have to come up with a patch I fear20:16
fijalAlex_Gaynor: can you find out how do I create a numpy array from address and dtype?20:19
Alex_Gaynorfijal: create a buffer obj somehow maybe?  I can look in a bit, pycon meeting atm20:20
fijalk20:20
arigatobrads: sorry, what do you mean?20:26
exarkunpython-ldap does this:20:27
exarkunPyDict_SetItemString( d, "error", LDAPexception_class );20:27
exarkunPy_DECREF( LDAPexception_class );20:27
exarkunLDAPexception_class->ob_refcnt is 1 before the Py_DECREF.20:27
exarkunWithout 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
fijalhttp://baroquesoftware.com/~fijal/extreme_hacks.png20:27
exarkunMaybe there are even some Py_INCREFs missing20:28
fijalAlex_Gaynor: I did it :)20:28
Alex_Gaynorfijal: NICE20:28
fijalretweet from @pypyproject?20:29
timotimooh, what, matplotlib in pypy?20:29
timotimoas the name of the file suggests, it's implemented properly? :))20:29
Alex_Gaynorfijal: can you?  the password is the same as the bitbucket one20:30
exarkunbrads: Does that make sense to you?20:30
bradsexarkun: i think your'e more than five steps ahead of me :D20: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 host20:30
tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy.20:30
fijalAlex_Gaynor: ah ok, sure20:30
exarkunbrads: 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
fijalI'll write a blog post20:31
dmalcolmbother; my refcount checker croaked on that function :(20:31
exarkunThe only hard part is figuring out what the reference count behavior of a random CPython API /should/ be20:32
amaurywhat is a refcount checker?20:32
amaurya runtime tool?20:32
amauryor static analysis?20:32
mwhudson (~mwh@linaro/mwhudson) joined #pypy.20:32
Alex_Gaynoramaury: i assume it's an application of dmalcolm's static analysis tol20:32
dmalcolmamaury: static analyser: http://readthedocs.org/docs/gcc-python-plugin/en/latest/cpychecker.html20:32
Alex_Gaynoramaury: http://dmalcolm.livejournal.com/5931.html20:32
dmalcolmfwiw, PyDict_SetItemString internally INCREFs the value in CPython (I think)20:33
amauryimpressive20:33
arigatodmalcolm: indeed (just checked)20:33
amaurynot always!20:34
bradsexarkun: Thanks for that! I was about halfway through pdb docs& HAHA20:34
amaurynot if you replace with the same value20:34
dmalcolmgood point20:34
arigatowell yes, it INCREFs if and because there is an extra reference in the dict20:34
amaurythat's why looking at ob_refcount before and after the call is not enough20:34
arigatothe point is that you should not do a DECREF of the class afterwards (I assume it's some global)20:35
arigatothat's equivalent to just doing a DECREF out of thin air20:35
exarkunit's actually allocated on the heap20:35
amaurythat's equivalent of borrowing the reference from the dict20:35
dmalcolmyeah, that Py_DECREF( LDAPexception_class ) eliminates that function's last "owned" ref to the obj20:36
arigatoI think you should look at the code in context by ignoring PyDict_SetItem and seeing if it still makes sense20:36
amauryborrowed references are not an issue in CPython, but they cannot work with pypy20: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
amauryis it only the scope of the function?20:38
amauryI suspect that PyDict_SetItemString( d, "error", LDAPexception_class );20:38
amaurybelongs to the module's init function20:39
exarkunOh20:39
amauryand that  LDAPexception_class is a static20:39
dmalcolmthis is in LDAPinit_errors( PyObject*d ) {20:39
exarkunIt's heap allocated _and_ a global20:39
dmalcolmPyObject*20:39
dmalcolmLDAPexception_class;20:39
exarkunAnd it gets re-used after the Py_DECREF.  But d should be keeping it alive, so I dunno.20:39
dmalcolmin global scope at top of errors.c20:39
timotimofijal: are you using cpythons C-extension api with ctypes from pypy?!20:39
amauryexarkun: not with pypy20:40
exarkunOh.  PyPy keeps some other version of it alive, not the cpyext version?20:40
amauryin pypy, d keeps the object alive, not the reference20:40
amaury:)-20:40
exarkun(I hope what you just said means what I just said)20:41
dmalcolmthat would explain the issue, I think20:41
exarkunBut it still crashes without the Py_C20:41
exarkunPy_DECREF20:41
dmalcolmcode in question is: http://fpaste.org/Vjkc/ I believe20:41
jnoller (~jnoller@vpn.nasuni.com) left irc: 20:41
dmalcolmcode further down uses LDAPexception_class20:42
exarkunPyErr_NewException creates an object with a refcount of 1 right?20:42
amauryyes20:42
dmalcolmyes, so fn owns a ref there20:42
dmalcolmthen, in CPython, the obj gets 2 extra refs on it, not owned by the function20:43
dmalcolmdue to the dict20:43
exarkunAh, bah, no, it doesn't crash, I just forgot to re-install the modified version20:43
amauryand probably a cycle in the type's __mro__20:43
amaury(in CPython)20:43
dmalcolmbut presumably in PyPy, the calls to PyDict_SetItemString are "merely" proxying through the PyObject* into PyPy implementation objects20:43
amauryyes20:43
amauryPyDict_SetItemString does not change ownership of an object20:44
amauryof a *reference* (sorry)20:44
exarkunbrads: 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
dmalcolmidea for a horrible hack workaround: let PyObject* live a little longer after the refcount hits 0, putting them on a clean-em-up list20:44
exarkunbrads: And it only works on CPython by accident20:44
amaurydmalcolm: not "a little longer"20:45
exarkun(Exactly what I said first, just for a different reason ;)20:45
bradsexarkun: sure thing u guys rocked it20:45
amauryif you store it in a global20:45
dmalcolmah, good point20:45
dmalcolmthat's definitely dodgy20:45
exarkundmalcolm: How about attach the call stack to the object when its refcount gets to 0, but keep the object around indefinitely20:46
exarkundmalcolm: And then report the call stack if anyone ever touches it again20:46
dmalcolmbut if it wasn't, you'd have code that worked fine under CPython but crashed under PyPy20:46
amauryexarkun: there are tools like this when you run pypy+cpyext untranslated20:47
amaurybut it does not always work, because the last to DECREF is not always the guilty one20:47
amaurybtw, did you know it is possible to run pypy extension modules on top of an untranslated pypy?20:48
amauryvery very handy for debugging this kind of issues20:48
exarkununtranslated pypy is exactly the same as translated pypy, except for performance, right :)20:48
amauryperformance yes20:49
amauryalso, the garbage collector is the one of the underlying Python20:49
amauryand the thread context switcher (how do you call this?) is not that great20:50
amaurysys.checkinterval20:50
amaurybut I got wxPython and pygames running with it20:50
rokujyou_ (~rokujyouh@173.227.61.4) joined #pypy.20:51
amaurywell, crawling instead20:52
rokujyouhitoma (~rokujyouh@173.227.61.3) left irc: Ping timeout: 268 seconds20:53
rokujyou_ (~rokujyouh@173.227.61.4) left irc: Remote host closed the connection20:55
rokujyouhitoma (~rokujyouh@173.227.61.4) joined #pypy.20:55
mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 240 seconds20: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 sleep21:04
mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) joined #pypy.21:08
amauryfijal: you probably broke win32 build21:11
amaurywith this additional argument to dlopen()21:11
Action: mikefc thinks that a "pure" python, numpy-based PIL clone is quite doable.21:12
exarkunFor sure21:13
kennethreitz (~kennethre@204.14.152.118) joined #pypy.21:13
Action: mikefc is sick of the unsupported nature of PIL21:18
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving21:21
fprimex (~fprimex@brent-macbook.sc.fsu.edu) left irc: Remote host closed the connection21:21
amauryunsupported 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 now21:25
stakkars_how long should a full pypy build take, under an hour? Laugh21:26
mattip (4fb77934@gateway/web/freenode/ip.79.183.121.52) joined #pypy.21:26
amaurystakkars_: 20 minutes on a fast win3221:26
amaurybut without JIT21:27
stakkars_mine is with everything, and on top of cpython3221:27
mattip (4fb77934@gateway/web/freenode/ip.79.183.121.52) left irc: Client Quit21:28
amaurycpython32?21:28
amaury32bit or 3.2?21:28
stakkars_bit21:28
amauryso 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
arigatostakkars_: as I said above (maybe you missed it), you can get pypy32 to translate pypy32 on windows,21:33
arigatobut it requires 3GB of address space instead of 221:33
arigatowhich looks anyway like a good fix21:33
arigatoto do to the pypy3221:34
arigatostakkars_: I also gave you the password for snakepit32 privately, not sure if you saw it21:34
stakkars_arigato: is that fix already in?21:34
arigatono21:35
stakkars_no, as I said, I just left the S-Bahn21: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
dmalcolmgot 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.html21:37
stakkars_my cpy32 is still below 1.2 GByte21:37
arigatostakkars_: http://stackoverflow.com/questions/5185406/how-does-the-large-address-aware-flag-work-for-32-bit-applications-on-64-bit-com21:38
dmalcolmbrads, exarkun, amaury et al: http://fedorapeople.org/~dmalcolm/gcc-python-plugin/2011-12-07/errors.c.LDAPinit_errors-refcount-errors.html fwiw21:38
dmalcolm[I had to comment out most of the seterrobj() invocations due to a bug in the checker]21:39
fijalstakkars_: 2.7 is *much* faster at translating than 2.621:39
fijallike 2x21:39
exarkundmalcolm: nice21:39
bradsdmalcolm: wow! :O21:40
arigatobye21:40
arigato (~arigo@82.113.99.177) left irc: Quit: See you21:40
amaurydmalcolm: just remove the DECREF, then21:41
amauryL12921:41
dmalcolmamaury: yup21:41
dmalcolmbrads: ^^^ what amaury said21:41
K-os (~gabriel@port-20136.pppoe.wtnet.de) joined #pypy.21:42
amauryI don't necessarily agree with the "ob_refcnt of '*e' is 1 too high"21:42
amauryerrobjects seems to be a global array21:43
dmalcolmhence "'*e' is now referenced by 1 non-stack value(s): errobjects[28]"21:43
dmalcolmthat INCREF in seterrobj() looks wrong to me21:43
dmalcolm(wish it wasn't so macro-happy though)21:44
amauryah, right21:44
stakkars_fijal: argll. will change my setup, again ;-)21:44
fijal (~fijal@197.171.27.162) left irc: Ping timeout: 252 seconds21:45
stakkars_I always used 2.6 in 32bit and 2.7 in 64bit, laziness. dumb-ass me21:45
amaurydmalcolm: impressive21:45
dmalcolmamaury: you're not seeing all the tracebacks and bugs in the tool :(21:46
dmalcolmhigh-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
amaurydmalcolm: refcounting semantics are only defined in terms of ownership21:58
amauryby the caller21:58
amaurynot in terms of "this call will increase the refcount"21:59
dmalcolmseems that I need a --strict mode or somesuch22:00
amaurydmalcolm: How do you handle PyWeakref_GetObject?22:05
amaurythis function returns a borrowed reference22:05
dmalcolmamaury: I don't yet :)   see the long list of caveats on the project's website...22:05
amauryto something that can disappear anytime22:05
Action: dmalcolm fears another week of refactoring to cope with that22:06
stakkars_ (~tismer@p5DC46A5E.dip0.t-ipconnect.de) left irc: Quit: schnarch22:11
brutal_chaos'ello, any devs around?22:16
rguillebertsome of them22:18
brutal_chaosI 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
rguillebertI guess something human readable22:25
brutal_chaosshould 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
rguillebertunless you run the benchmark on tannit I don't think you need to send the results to upload the results22:28
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds22:29
K-os (~gabriel@port-20136.pppoe.wtnet.de) left irc: Ping timeout: 252 seconds22:30
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/16322:37
bbot2Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/73722:37
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/96822:37
brads (~brads@uwsclient-166-70.uws.ualberta.ca) left irc: Quit: brads22:42
xorAxAx (~alexander@ampleforth.srv.alexanderweb.de) left irc: Excess Flood22: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 host22:54
voidspace (~anonymous@python/psf/voidspace) joined #pypy.22:54
nedbat (~nedbat@python/psf/nedbat) joined #pypy.22:59
stakkarsincredible. still building pypy-c win32 on python 2.622:59
stakkars1.8 GByte right now. Whow23:00
whitelynx|work (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat23:01
brutal_chaos2.xx GBytes required for 32bit i believe23:03
stakkarsaaaaargh, at the very last step, python 2.6 died with memoryerror23:03
stakkarsvery unnecessary, everything was built, only the c source was not ready :-(23:04
stakkarswhich build _does_ work on win32, with jit, but probably less modules?23:06
rguillebertpypy 1.6 I think23:07
rguilleberthttps://bitbucket.org/pypy/pypy/downloads/pypy-1.6-win32-c.zip23:08
kennethreitz (~kennethre@204.14.152.118) left irc: Ping timeout: 244 seconds23:11
stakkarsah, no, I'd like to build myself. What can I omit from the build? A bad thing if python cannot build pypy ;-)23:14
stakkarswhat to omit? like no cpyext?23:14
ronnystakkars: do you lack ram?23:15
stakkarsno. python 2.6 32bit does23:15
ronan (~ronan@host86-142-249-87.range86-142.btcentralplus.com) joined #pypy.23:15
ronnyafair 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/code23:16
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Remote host closed the connection23:16
stakkarsI have a 16GB win-xp 64 on virtualbox/debian23:16
ronnystarted in 3gb mode? (tha might be the thing that can barely copile if you are lucky23:17
ronnyi wonder if there is a way to build a win* python thats able to use 4gb on 64 bit machines with 32 bit emu23:18
stakkarsI use a stock activestate python.23:18
ronnywell, i dont know the details on windows python23:19
stakkarshey, I'm a bit upset. this is not user-friendly23:19
ronnyits windows, development is a fucked up pain23:19
stakkarsagain, the biggest potential of users is treated like 2nd class citizens. We _must_ change this23:20
MostAwesomeDudeHow?23:21
stakkarsronny: __slots__ do not help. pypy does the same without explicit __slots__23:22
stakkarsMostAwesomeDude: at least this needs to go into the docs, which are btw. outdated.23:22
MostAwesomeDudestakkars: 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 :-D23:23
stakkarsI know. Mostly only little more than one.23:24
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds23:24
stakkarsa way out will be when I'm ready with win64.23:25
stakkarsbut I wanted to use pypy for bootstrap. Caught in the boots-trap23:26
ronnystakkars: im aware if mapdict23:26
stakkarsneed to build a 3gb enabled python, and pypy too. sigh...23:26
amaurystakkars: no need to "build"23:27
amauryjust run editbin.exe /largeaddressaware23:27
stakkarsamaury: ah?23:28
amauryon python.exe23:28
stakkarsamaury: (smootch)23:28
stakkarsdoes that work with any exe, provided it stands negatice addresses?23:29
amauryIt worked with c:\python27\python.exe23:29
amaury32bit version, running on win6423:29
stakkarsgreat! editbin is in the visual studio tools?23:30
amauryyes23:30
stakkarswill try that tomorrow. Awfully tired now23:30
whitelynx (~whitelynx@75.111.197.204) left irc: Ping timeout: 252 seconds23:31
amaurystakkars: it's even documented in pypy.org!23:32
amauryhttp://doc.pypy.org/en/latest/windows.html#preping-windows-for-the-large-build23:32
Action: amaury -> bed as well23:32
stakkarsI'm no longer good at reading. thank you!23:32
dmalcolm (david@nat/redhat/x-hymjpynsaphwbdsn) left irc: Quit: Leaving23:33
stakkarssorry about my rant23:34
mat^2 (~mathias@212.130.113.35) left irc: 23:39
stakkarsamaury: the pypy build is a stub exe and a large dll. do I need to take care?23:43
stakkarsor is the exe dictating the address space for the dll?23:43
amaurywell, it's just like CPython23:43
amauryah, only the .exe needs to be processed by editbin23:43
amauryyes23:43
stakkarscpython's stub gets modified and not the dll23:44
amaurywhich is a bit wrong IMO23:44
amaurybut convenient23:44
stakkarsfunny, I did not expect this to be enough.23:44
amauryon win32, you also have to set some hidden variable and reboot23:45
stakkarsno issue, have xp6423: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 201100:00

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