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

tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy.00:06
tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host00:06
tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy.00:06
dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) left irc: Quit: Leaving00:08
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Computer has gone to sleep.00:10
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 240 seconds00:10
jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Ping timeout: 252 seconds00:11
jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) joined #pypy.00:22
antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds00:24
jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Ping timeout: 240 seconds00:30
DanKluev (~root@78-24-224-073-udsl.vntc.ru) left irc: Ping timeout: 252 seconds00:44
mtigas (~mtigas@users.spokesman.com) left irc: Quit: mtigas00:53
DanKluev (~root@78-24-224-073-udsl.vntc.ru) joined #pypy.00:54
Insectoid (~Q@c-98-230-9-150.hsd1.fl.comcast.net) joined #pypy.01:00
bbot24Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/74401:04
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/16901:05
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds01:12
derdon (~derdon@pD9E1CA22.dip.t-dialin.net) left irc: Remote host closed the connection01:13
maxyz (~maxy@186.18.94.35) left irc: Ping timeout: 268 seconds01:16
jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) joined #pypy.01:16
maxyz (~maxy@186.18.94.35) joined #pypy.01:17
mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord01:31
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/188701:35
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/63101:35
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/30401:35
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/64201:35
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/115901:35
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/82601:35
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/146801:35
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/74901:35
e1ven (~E1ven@SQ7/ProjectLead/E1ven) left irc: Quit: Computer has gone to sleep.01:36
ericflo (~ericflo@75.103.8.110) left irc: Quit: ericflo01:40
kenaan12alex_gaynor default 11238ddc6d667c 15/pypy/module/micronumpy/test/test_dtypes.py: fix for numpy tests on <64bit platforms01:45
harrison_ (~quassel@adsl-69-209-203-240.dsl.chcgil.sbcglobal.net) joined #pypy.01:49
harrison (~quassel@adsl-69-209-203-240.dsl.chcgil.sbcglobal.net) left irc: Read error: Connection reset by peer01:49
xiaochen (xiaochen@nat/redhat/x-awaigcmcucwfeylq) joined #pypy.01:49
iori (~iori@125x100x190x242.ap125.ftth.ucom.ne.jp) joined #pypy.01:51
jterrace (~Adium@dynamic-oit-vapornet-b-1207.Princeton.EDU) joined #pypy.01:55
jterraceAlex_Gaynor: thanks for fixing those dtype tests i broke01:56
Alex_Gaynornp01:56
jterracei see fijal merged identity01:56
jterracedid you get a chance to review fromstring?01:56
Alex_Gaynorno, I haven't yet01:57
jterraceok01:57
_pyre_ (~stian@137.241.189.109.customer.cdi.no) left irc: Quit: Leaving.01:57
jterraceim going to make branches for numpy.concatenate and numpy.cumsum01:58
jterraceprobably tomorrow01:58
Alex_GaynorI have no idea what those are, but I'll try to finish reviewing fromstring tonight01:58
jterracelol01:59
jterraceconcatenate concatenates arrays along an axis01:59
jterracecumsum is like sum, but it's cumulative01:59
lambacck (~chris@d24-150-124-118.home.cgocable.net) joined #pypy.01:59
jterraceneed them for pycollaa02:00
jterracei just keep adding things wherever the next nightly fails02:00
Alex_Gaynornice02:00
jterrace (~Adium@dynamic-oit-vapornet-b-1207.Princeton.EDU) left irc: Quit: Leaving.02:02
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.02:17
Ademan (~dan@adsl-71-141-224-79.dsl.snfc21.pacbell.net) joined #pypy.02:22
papercrane (~papercran@75.101.111.82) left irc: Quit: Computer has gone to sleep.02:25
Kaskuka (~John@osbk-4db1633a.pool.mediaWays.net) left irc: Ping timeout: 240 seconds02:39
Shanita (~John@osbk-4db152c8.pool.mediaWays.net) joined #pypy.02:39
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/97702:45
sunoano (~sa@unaffiliated/sunoano) left irc: Remote host closed the connection02:47
dracman (~draco@212.255.43.185) left irc: Ping timeout: 252 seconds02:54
thinker (~thinker@218-160-154-35.dynamic.hinet.net) joined #pypy.03:08
harrison_ (~quassel@adsl-69-209-203-240.dsl.chcgil.sbcglobal.net) left irc: Ping timeout: 240 seconds03:16
__main__ (~main@adsl-99-173-15-158.dsl.pltn13.sbcglobal.net) left irc: Read error: Connection reset by peer03:19
_main_ (~main@adsl-99-173-15-158.dsl.pltn13.sbcglobal.net) joined #pypy.03:19
Nick change: _main_ -> __main__03:24
Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Ping timeout: 248 seconds03:36
amstan (~amstan@69-196-130-230.dsl.teksavvy.com) joined #pypy.03:42
amstanso.. i just tought of this03:43
amstancan i run pypy inside pypy?03:43
bbot24Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/188703:45
gutworthit usually throws a MetaError03:52
anish_ (anish@nat/redhat/x-vrypaxholgnhfbmy) joined #pypy.03:57
tunixman (~tunixman@irc.theunixman.com) left irc: Ping timeout: 252 seconds04:02
tunixman (~tunixman@irc.tunixman.com) joined #pypy.04:02
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 276 seconds04:03
AdemanI need to either move closer to bitbucket's servers, or not do fresh clones so often, this takes forever...04:28
bgola (~bgola@c9518082.virtua.com.br) left irc: Remote host closed the connection04:39
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/146804:47
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/82604:49
voidspace (~voidspace@python/psf/voidspace) left irc: Ping timeout: 240 seconds04:53
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/64205:00
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/115905:08
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/63105:16
jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Ping timeout: 248 seconds05:24
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) joined #pypy.05:36
mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Remote host closed the connection05:41
mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy.05:42
Ademan:-/ ootype is broken again05:44
thinker (~thinker@218-160-154-35.dynamic.hinet.net) left irc: Remote host closed the connection06:11
aleksi (~aleksi@85.235.191.82) joined #pypy.06:12
bbot23Success: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/74906:16
mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Remote host closed the connection06:16
aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection06:18
aleksi (~aleksi@85.235.191.82) joined #pypy.06:18
xiaochen (xiaochen@nat/redhat/x-awaigcmcucwfeylq) left #pypy.06:22
mat^2 (~mathias@212.130.113.35) left irc: 06:24
mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy.06:32
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep.06:32
espes (~espes@123-243-221-248.tpgi.com.au) left irc: Read error: Connection reset by peer06:35
espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy.06:37
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy.06:40
squiddy (~squiddy@f053087158.adsl.alicedsl.de) joined #pypy.06:43
Sweet-P (~Sweet-P@203.205.116.93) joined #pypy.06:45
asmeurer___ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer___06:45
zain__ (~textual@c-67-160-201-63.hsd1.ca.comcast.net) joined #pypy.06:49
fzzzy_ (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy.06:49
Taggnostr2_ (~quassel@dyn57-215.yok.fi) joined #pypy.06:51
Sweet-P (~Sweet-P@203.205.116.93) left irc: Remote host closed the connection06:53
mwhudson_ (~mwh@120.136.5.22) joined #pypy.06:54
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Read error: Connection reset by peer06:54
zain (~textual@c-67-160-201-63.hsd1.ca.comcast.net) left irc: Ping timeout: 245 seconds06:54
Nick change: fzzzy_ -> fzzzy06:54
Taggnostr (~quassel@dyn57-215.yok.fi) left irc: Quit: No Ping reply in 180 seconds.06:54
Nick change: zain__ -> zain06:54
mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 245 seconds06:54
lmoura (lmoura@gateway/indt/session) left irc: Ping timeout: 245 seconds06:54
lmoura (lmoura@gateway/indt/session) joined #pypy.06:58
antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) joined #pypy.07:06
hazmat (~hazmat@204-232-198-49.static.cloud-ips.com) left irc: Ping timeout: 245 seconds07:18
espes (~espes@123-243-221-248.tpgi.com.au) left irc: Read error: Connection reset by peer07:29
espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy.07:30
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy.07:35
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/30407:38
hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy.07:42
mikefcdamn you osx 64 bit build!07:43
mikefc (mikefc@60-242-240-196.static.tpgi.com.au) left #pypy.07:43
mikefc (~mikefc@60-242-240-196.static.tpgi.com.au) joined #pypy.07:43
_aleksi (~aleksi@85.235.191.82) joined #pypy.07:48
fijal (~fijal@197.108.210.166) joined #pypy.07:49
aleksi (~aleksi@85.235.191.82) left irc: Ping timeout: 240 seconds07:49
fijalhm07:49
fijalis launchpad down?07:50
Insectoid (~Q@c-98-230-9-150.hsd1.fl.comcast.net) left irc: Read error: Connection reset by peer07:52
fijal (~fijal@197.108.210.166) left irc: Read error: Connection reset by peer07:52
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Read error: Operation timed out07:57
amaury_ (~amaury_@74.125.122.49) joined #pypy.07:57
mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) joined #pypy.07:58
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy07:58
mattipfuture_jterrace: To implement numpypy functions that accept an axis argument,07:59
mattipyou will probably want to use an iterator per axis.07:59
mattipIf you want, you can take a look at what I did for descr_dot on the matrixmath-dot branch.08:00
iori (~iori@125x100x190x242.ap125.ftth.ucom.ne.jp) left irc: Remote host closed the connection08:01
mattipIf you only need 1d cumsum than disregard08:01
JaRoel (~jaroel|4d@office.fourdigits.nl) joined #pypy.08:01
mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Client Quit08:01
sunoano (~sa@mail.heartinternet.co.uk) joined #pypy.08:04
sunoano (~sa@mail.heartinternet.co.uk) left irc: Changing host08:04
sunoano (~sa@unaffiliated/sunoano) joined #pypy.08:04
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 276 seconds08:05
CIA-1303dimazest 07roundup * 10#962/Import sqlite3 fails on mac (lion): 08:05
CIA-13[new] Import of sqlite3 fails on recent night build. Release 1.7 works fine on the08:05
CIA-13same machine.08:05
CIA-13$ pypy-c-jit-50484-3b81c36d2bd1-osx64/bin/pyp ... * 14https://bugs.pypy.org/issue96208:05
fijal (~fijal@197.109.164.139) joined #pypy.08:06
mikefcis there any difference between numpy.array and numpy.matrix except that matrix is (a) 2d only (b) overloads * and **08:14
mikefcugh. never mind. I see the page now.08:14
espes (~espes@123-243-221-248.tpgi.com.au) left irc: Read error: Connection reset by peer08:16
espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy.08:17
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy.08:18
fijalhi08:29
anish_ (anish@nat/redhat/x-vrypaxholgnhfbmy) left irc: Ping timeout: 240 seconds08:39
jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) joined #pypy.08:51
mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) joined #pypy.08:51
dracman (~draco@212.255.46.227) joined #pypy.08:51
tilgovi (~randall@couchdb/developer/tilgovi) left irc: Ping timeout: 276 seconds08:55
mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) left irc: Client Quit08:55
k_bx (~k_bx@195.20.130.1) joined #pypy.08:55
mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) joined #pypy.08:56
Ademanantocuni: any idea when ootype broke again?08:56
Ademanalso hi :-)08:58
tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy.08:59
tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host08:59
tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy.08:59
anish_ (anish@nat/redhat/x-digvhxlmnzbdptnu) joined #pypy.09:08
G2P (~G2P@fw-asn1.ornis.com) joined #pypy.09:10
Nick change: Gulaway -> Gulopine09:15
amstan (~amstan@69-196-130-230.dsl.teksavvy.com) left irc: Ping timeout: 255 seconds09:16
kenaan12hager ppc-jit-backend 11c8e31eebcc23 15/pypy/jit/backend/ppc/ppcgen/: Added code for GUARD_EXCEPTION09:16
lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) joined #pypy.09:19
Vorpal (~AnMaster@unaffiliated/anmaster) joined #pypy.09:19
tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection09:20
Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Ping timeout: 268 seconds09:25
Vorpal_ (~AnMaster@unaffiliated/anmaster) joined #pypy.09:29
k_bx (~k_bx@195.20.130.1) left irc: Remote host closed the connection09:35
_aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection09:36
aleksi (~aleksi@85.235.191.82) joined #pypy.09:37
kenaan12fijal refactor-signature 119d888e0a1e4b 15/pypy/module/micronumpy/: start refactoring - change test_base and make it pass09:38
arigato (~arigo@89.204.153.65) joined #pypy.09:38
fijalarigato: morning09:41
jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Remote host closed the connection09:41
arigatohttp://web.archive.org/web/20100130070337/http://www.md.pp.ru/~eu/jdk6options.html09:43
arigatomorning09:43
arigatothe (big) list of options to tweak (some version of) HotSpot09:43
fijalthat's quite a few options09:43
arigatoyes09:43
fijalyou mean translate.py --help is not scary?09:44
fijalit's also those are all runtime options, impressive09:44
arigatoyes, and I didn't find the option equivalent to --jit threshold09:45
fijalyou don't know :)09:45
fijaldid you read all of them?09:45
arigatoI've read somewhere on Wikipedia that the default threshold of HotSpot is 10000 in server mode, 1500 in client mode09:45
arigatoI've done searches in this page, unsuccessfully09:45
fijalProfilerPCTickThresholdNumber of ticks in a PC buckets to be a hotspot09:45
fijalthis one?09:46
arigatowhat's a tick?09:47
ojii (~ojii@40-34.60-188.cust.bluewin.ch) joined #pypy.09:48
fijalno idea09:48
arigatoand well, I expected something more subtle, like decaying counters, but find no evidence of that09:48
arigatoah, UseCounterDecay ?09:49
fijalCounterDecayMinIntervalLengthMin. ms. between invocation of CounterDecay09:49
Nick change: Gulopine -> Gulaway09:50
arigatoand CounterHalfLifeTime09:53
arigatoit seems to be just based on real time09:53
arigatoevery 0.5 second it adjusts all counters by a factor that means that after 30 seconds the numbers have been divided by two09:53
chronitis (~chronitis@88-104-117-122.dynamic.dsl.as9105.com) joined #pypy.09:54
Action: fijal sidenotes that JVM warmup policy is not what it's best known for09:54
arigatook :-)09:55
arigatoI was wondering where to look for some good theory about warm-up policies09:56
arigatoseems like I missed by looking at HotSpot09:56
fijalarigato: note that you would never possibly write a tool like hg in java09:57
fijalimagine all the things starting for a minute before you can do anything09:57
fijalor running tests09:57
arigato(long ago, in Psyco, I did it with profiler counters that decay in a scale "how many things get compiled", which was cool and pointless, as psyco is almost never used in profiling mode anyway)09:58
fijalI've seen people using psyco in profiling mode09:58
fijalI agree it's a slight overkill09:58
arigato:-)09:59
fijalbut say a translation would might use a cool warmup strategy09:59
fijalarigato: do you have any vision how to provide a faster interpreter btw?09:59
arigatouh09:59
arigatowell we discussed again with stakkars if it's possible to have a "minimal jit compiler" step09:59
fijalwhat would that do?10:00
arigatocompile based on only jitcode of ~pypy/interpreter/pyopcode, and not run any optimization10:00
arigatoi.e. that would do a naive python2c kind of translation10:00
fijaland leave everything else as calls?10:01
arigatoyes10:01
fijalsounds like a cool idea10:01
fijalthen you can have a very low trace limit10:02
arigatoI suppose10:02
arigatowell I fear that e.g. the jit backend would need some more work too10:03
lucianfijal: actually, people have written cli tools in java, using nailgun10:03
arigatoat least to increase its performance10:03
kenaan12hager ppc-jit-backend 11a21c0f06db3e 15/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py: remove debug output from compute_frame_depth10:03
kenaan12hager ppc-jit-backend 111282dafdf468 15/pypy/jit/backend/ppc/ppcgen/register.py: add r2 to volatile registers10:03
kenaan12hager ppc-jit-backend 11cc34d3b179e4 15/pypy/jit/backend/ppc/ppcgen/: make call to function before leave jitted code and save volatile regs10:03
fijallucian: running tests is tricky because of loading code10:03
arigatomore precisely, I fear that performance would go to the floor when generating a series of calls, all of which end in guards10:04
kenaan12fijal refactor-signature 113edbb810b5a0 15/pypy/module/micronumpy/: invent numbering10:04
fijalarigato: you mean - time it takes to compile or time it executes10:04
lucianfijal: not so much on java, it has class swapping. nailgun also works nicely for tests10:04
arigatofijal: to compile10:04
lucianand would that sort of backend perhaps remove the need for an interpreter at some point?10:04
lucianor is it necessary for tracing?10:04
arigatowell the backend is only one issue10:05
fijalarigato: [citation needed]10:05
arigatowe'd seriously need to look at the speed of pyjitpl.py, too10:05
fijaleach time we try, tracing takes far more time than backend10:05
fijalbut also, backend can be trivially improved10:05
fijalwell, "trivially"10:05
fijalit's just work I mean10:05
fijallucian: yes, you need the interpreter10:05
fijallucian: besides, we don't loose anything by having one10:06
fijalsince it's our only description of python language10:06
lucianfijal: binary size, i guess10:06
fijalyou need at least one description10:06
lucianoh, i meant not generate an interpreter10:06
fijalthat's less of an issue for now :)10:06
lucianonly generate a jit from the interpreter10:06
lucianyeah, it's not a big issue except on things like arduino10:07
fijaleven on embedded devices10:07
fijalbut yes, pypy on embedded devices has it's own problems10:07
lucianalso, does pypy still have the blackhole interpreter? could a 0-jit replace that?10:07
fijaland noone from the core team seems to be overly interested in that10:07
lucianyeah, it's a tiny market10:07
fijalwell10:08
fijalit seriously does not matter how big the market is10:08
fijalpypy is not making any money10:09
luciani meant market as in "what pypy devs might want to use"10:09
arigatolucian: no, I think there are other ways better suited to tiny embedded devices, it doesn't make sense to try to strip off 100k out of a 20M binaryr10:09
K-os (~gabriel@dhcp-205.zbh.uni-hamburg.de) joined #pypy.10:09
lucianarigato: yeah, makes sense10:09
fijalarigato: 40M10:09
arigatofijal: 20M, stripped10:09
fijalok10:09
fijallucian: yes, ok, my phone won't run anything10:12
fijaland armin has no phone10:12
fijalso I guess that cuts down our interest to code for embedded devices10:12
fijalI would file this under "things I would happily do for money"10:12
Action: lucian nods10:12
luciani still haven't found a good option for writing android apps in not-java10:12
lucianthe closest so far was kawa scheme10:13
fijallucian: I don't think I ever used an android device10:13
lucian(i don't want to write just a game, so an ndk language would need bindings to the java UI bits)10:13
lucianfijal: they're pretty nice10:13
hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Remote host closed the connection10:13
fijallucian: for what?10:14
fijalI don't have a use10:14
lucianemail, news, contact sync10:14
fijallucian: I mostly code :)10:15
kenaan12fijal refactor-signature 11f2e26827d79c 15/pypy/module/micronumpy/test/test_base.py: some more tests10:17
lucianfijal: sure, me too. but for most other things it's useful10:18
fijalmy laptop works just fine10:18
lucianthere are times when your laptop is too big/static10:18
lucianat least for me, anyway10:18
luciani can read my email while i walk to work, maybe some news10:18
fijalI bet there are usecases10:19
lucianand there are practical uses, like making it a wifi hotspot, or a wifi analyzer, or sniffing cookies10:19
kenaan12hager ppc-jit-backend 1191d134f49a07 15/pypy/jit/backend/ppc/ppcgen/opassembler.py: removed bug in emit_guard_exception10:19
luciansure, you might not care about them10:19
fijaldoes it run kismet?10:20
lucianthere's a wireshark backend thing10:21
fijalwireshark is at wrong level10:21
fijalfor real sniffing10:21
luciannot sure, there may be10:21
fijalarigato: I have a potential account on a pretty powerful freebsd machine10:21
fijalwould it be of any use?10:21
arigatoonly if we decide to support freebsd10:22
fijalthere is a package on freebsd and a set of patches to make it work10:22
fijalI don't see any precise reason why not10:22
fijalother then well, another platform to worry10:22
lucianfijal: interesting https://market.android.com/details?id=com.nbl.pixie&feature=search_result. you gave me an idea10:23
fijalkismet or wireshark?10:24
fijalbecause those are really different things10:24
luciani know10:24
lucianit appears to be wireshark-like, not sure10:25
lucianmy idea was writing a kismet/aircrack10:25
stakkars_ (~tismer@89.204.154.117) joined #pypy.10:25
kenaan12hager ppc-jit-backend 111828b538ddf7 15/pypy/jit/backend/ppc/ppcgen/: implemented GUARD_NO_EXCEPTION10:26
aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection10:27
aleksi (~aleksi@85.235.191.82) joined #pypy.10:28
stakkars_ (~tismer@89.204.154.117) left irc: Quit: schnarch10:32
mkerrin (~mkerrin@wg1-nat.fwgal01.deri.ie) joined #pypy.10:32
fijalAlex_Gaynor: ping10:39
Action: mikefc works his way through the brainfuck pypy tutorial10:53
tnelson_ (~trent@trent.me) left irc: Read error: Connection reset by peer10:54
tnelson_ (~trent@trent.me) joined #pypy.10:54
tnelson_ (~trent@trent.me) left irc: Changing host10:55
tnelson_ (~trent@coapp/developer/tnelson) joined #pypy.10:55
fijalmikefc: good :)10:57
fijalmikefc: thanks for the bug report, I'll look at it!10:58
kenaan12fijal refactor-signature 118fc2393b390b 15/pypy/module/micronumpy/: refactor up to a nice point of segmentation fault10:58
voidspace (~voidspace@python/psf/voidspace) joined #pypy.10:59
fijalvoidspace: hey michael11:00
voidspacefijal: morningg11:00
fijalrelative morning11:00
voidspacefijal: it's always morning on the internet11:01
fijalsomewhere11:01
kenaan12fijal refactor-signature 1167cba7342bdb 15/pypy/module/micronumpy/: oomph11:01
Rhyolite (~dje@pool-108-6-25-71.nycmny.fios.verizon.net) left irc: Quit: Leaving11:04
mikefcfijal: no problem on the bug report. it seems a weird one.11:08
kenaan12arigo default 110fe404e7740d 15/pypy/jit/backend/x86/: Fix, as shown by test_zll_stress.11:10
kenaan12arigo default 111665fe50f5da 15/pypy/jit/backend/x86/: Refactor away the 'width' attribute on AssemblerLocation.11:10
amaury_ (~amaury_@74.125.122.49) left irc: Read error: Operation timed out11:18
anish_ (anish@nat/redhat/x-digvhxlmnzbdptnu) left irc: Quit: Leaving11:18
arigato (~arigo@89.204.153.65) left irc: Quit: See you11:24
kenaan12fijal refactor-signature 11a3a1fac3df73 15/pypy/module/micronumpy/: enough to make test_sum pass. Reduce seems to nicely work11:36
azanella (~azanella@189.6.80.207) joined #pypy.11:42
nedbat (~nedbat@python/psf/nedbat) joined #pypy.12:07
fijalnedbat: hi12:07
nedbatfijal: hi12:07
kenaan12fijal refactor-signature 11a2834b804b57 15/pypy/module/micronumpy/: makes tests pass, they're super slow though12:07
nedbatfijal: you're in GMT+2 ?12:08
fijal+1 I think12:08
fijalor maybe +212:08
nedbatfijal: local time is 14:33 ?12:09
fijalyes12:10
nedbatgmt+2 then.12:10
fijalok, why?12:10
nedbatit helps to know when to expect people to be online, etc.12:10
fijaldon't base this on my timezone12:11
mikefcso jit_merge_point and can_enter_jit are the only things you have to add to your interpeter to do to the source to get a jit after translate?12:15
dimazesti've solved the issue setting PATH in .bashrc12:15
dimazestsorry, i've pasted to the wrong window12:16
mikefcand jit_merge_point and can_enter_jit are only added to the main interpret loop?  Or any loop that you (the coder) thinks is a good spot?12:16
nedbatfijal: I understand, "online" != "daylight" or any other civilian-recognizable rule. :)12:16
mikefcooo12:18
mikefcthe 'space' in the pypy source is the equivalent of the 'tape' in the brainfuck example?12:18
Nick change: tnelson_ -> tnelson12:21
fijalmikefc: you add it to the interpreter loop12:27
fijalyou might have more than one interpreter loop in your code12:27
fijallike regex and normal12:27
fijaletc.12:27
fijalbut in general just there12:27
fijalthere are few hints that increase the performance, but in short this is what you really need12:27
mikefcthanks. I thought it was just the interpreter loop, but I grepped through the pypy code and found it a few times. multiple interpretors make sense.12:28
ThomasWaldmannfijal: well all have our "internal" timezones... <g>12:34
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds12:36
fijalThomasWaldmann: they shift12:41
fijalaccording to the coding saving time12:41
khs (~khs@2001:700:300:2120:725a:b6ff:fee5:a44) joined #pypy.12:42
aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection12:44
davidpk (~davidpk@5e06d080.bb.sky.com) joined #pypy.12:50
Sinker (~thinker@123-194-52-90.dynamic.kbronet.com.tw) left irc: Ping timeout: 252 seconds12:53
thinker (~thinker@123-194-52-90.dynamic.kbronet.com.tw) joined #pypy.13:00
jnoller (~jnoller@vpn.nasuni.com) joined #pypy.13:02
Nick change: Taggnostr2_ -> Taggnostr13:02
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.13:03
bgola (~bgola@c9518082.virtua.com.br) joined #pypy.13:08
arigato (~arigo@fwstups.cs.uni-duesseldorf.de) joined #pypy.13:18
Action: fijal made numpy tests >2x slower13:23
fijalI have no idea why actually13:23
kenaan12arigo default 1129823c2fcce6 15/lib-python/modified-2.7/ctypes/test/test_libc.py: We decided to not explicitly support the whole ctypes-2.7 and instead go for a case-by-case, demand-driven approach...13:27
CIA-1303arigo 07roundup * 10#869/Implement ctypes.<type>.from_buffer method: 13:33
CIA-13schmichael: the buffer interface in PyPy is a bit under-developed. On which13:33
CIA-13kind of objects do you happen to use ctypes's from_buffer() method? * 14https://bugs.pypy.org/issue86913:33
DanKluev (~root@78-24-224-073-udsl.vntc.ru) left irc: Remote host closed the connection13:41
DanKluev (~root@78-24-224-073-udsl.vntc.ru) joined #pypy.13:41
kenaan12arigo default 11e6032a99a1a5 15/lib-python/modified-2.7/ctypes/test/test_callbacks.py: "xfail" this test too.  It has been failing at least since pypy 1.6.13:47
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.13:47
kenaan12arigo default 118a5fb10fc8c4 15/lib-python/modified-2.7/ctypes/test/test_callbacks.py: Bah, sorry.13:48
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Client Quit13:50
arigatofijal: have a moment to discuss this failure? :13:50
arigatohttp://buildbot.pypy.org/summary/longrepr?testname=TestGenerators.%28%29.test_simple_generator&builder=pypy-c-jit-linux-x86-32&build=1159&mod=pypy.module.pypyjit.test_pypy_c.test_generators13:50
setmeaway (oosool3@119.201.52.190) left irc: Read error: Connection reset by peer13:52
gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy.13:53
Shanita (~John@osbk-4db152c8.pool.mediaWays.net) left irc: Read error: Connection reset by peer13:54
setmeaway (~setmeaway@119.201.52.190) joined #pypy.13:54
stakkars_ (~tismer@i59F74B7D.versanet.de) joined #pypy.13:55
RiaanFV (~riaanfv@41-133-33-124.dsl.mweb.co.za) joined #pypy.14:04
ltratt (~ltratt@px238.dcs.kcl.ac.uk) joined #pypy.14:12
fijalarigato: yes?14:12
fijaleh?14:12
ltrattHi all. Has anyone seen this assert triggered on -Ojit before? Does anyone have any suggestions on why it might have been triggered? http://pastebin.com/M2sLPSXB14:15
harrison (~quassel@adsl-69-209-218-183.dsl.chcgil.sbcglobal.net) joined #pypy.14:18
RiaanFV (~riaanfv@41-133-33-124.dsl.mweb.co.za) left irc: Quit: Leaving14:19
arigatoltratt: bah, it seems the JIT is not happy about fixed-size malloc(flavor='raw')14:21
arigatoalthough it supports variable-sized ones14:21
arigatofijal: in this test we get 2 loops now14:22
arigatoit creates the nice loop that we expect first14:22
arigatobefore jit-simplify-backendintf it would immediately execute it14:23
arigatobut now once it is compiled it just returns to the interpreter14:23
arigatoand hopes that the interpreter will pick up the compiled loop immediately14:23
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.14:24
arigatoltratt: I fear that you have to get used to the test-driven development method of pypy at least a little bit: I would be happy to fix it provided you write a test first (in the style of pypy/jit/codewriter/test/test_jtransform.py, test_raw_malloc*())14:25
fijalarigato: ok14:25
fijalarigato: I'm not interested in the sprint :/14:26
arigatoI guessed so, you're not in Europe14:27
arigato...I think the interpreter is actually running one iteration of the loop, before noting that it can now jump to machine code14:27
ltrattbrb14:27
fijalarigato: that does not sound like a win14:28
arigatofijal: well, it was a major simplification for this branch, and it does not sound like a loss either14:29
arigatobut maybe it is, for this corner case14:29
ltrattarigato: sorry about the delay.14:29
fijalarigato: yes, I'm not complaining14:29
fijalWTF?14:30
ltratti would have imagined fixed size would be ok, but not variable14:30
ltrattshows how little i know14:30
fijalwhy is running my tests take 7% of time in file.readline()?14:30
arigatoltratt: it's just because in pypy we use raw-mallocs to allocate typically e.g. buffers of bytes14:30
ltrattok, so is the fix as easy as it sounds? or am I missing out on something obvious :)14:32
arigatoI don't know what you imagine?  it can be fixed in the codewriter, or you can work around it by killing or moving to a @jit.dont_look_inside the raw malloc and the raw free14:33
arigatoor work around by raw-malloc'ing a buffer of N bytes and typecasting14:33
ltrattok, the workarounds sound possible. Obviously, as a selfish user, I'd love the changes to be in the codewriter so that no-one else hits this one again in the future :)14:35
arigatoyes, if you write a test, I'd be happy to fix14:35
Action: fijal is very suspicious14:36
fijalMEH14:36
fijalpy.test on PyPy is sloooooooooooooooooooooooooooooow14:36
arigato:-)14:36
fijalno :(14:37
ltratti would love to pretend i understand how to write tests for pypy's internals, but i must confess to being a dummy. test_raw_malloc is Greek to me.14:38
arigatoltratt: sorry, maybe jit/metainterp/test/test_rawmem.py is easier to grasp14:41
arigatoas it is just a small example of RPython code14:41
hakanardo__a 2 dimensional numpy array access places a call_may_force(BaseArray.descr_get_shape) in the loop...14:43
davidpk (~davidpk@5e06d080.bb.sky.com) left irc: Quit: davidpk14:44
ltrattarigato: how do i write a test and get it to be tested under the JIT?14:45
arigatoltratt: you run "python test_all.py jit/metainterp/test/test_rawmem.py"14:45
ltrattis it the lljitmixin that forces it to be run under the JIT?14:46
arigatoyou can use the option "--viewloops" if you're unsure that anything occurs14:46
arigatoyes, it's the mixin that defines the method self.interp_operations()14:46
arigatowhich does all the magic14:46
hakanardo__can we mark descr_get_dtype @jit.unroll_safe? self.shape is typically short, I would guess...14:47
ltrattarigato: ok14:47
ltrattunless I'm missing out on what you're saying, this test doesn't do what i thought it would http://pastebin.com/1fDRhBYw14:50
arigatofijal: bah, I'm trying to write some counter decay algorithm, e.g. decaying the counters by a bit every time we trace14:51
arigatoany clue how to test that??14:51
tunixman (~tunixman@irc.tunixman.com) left irc: Ping timeout: 268 seconds14:51
arigatoltratt: keep the structure of test_rawmem.py14:51
arigatoyou need to write this code in a function f(), and then call self.interp_operations(f, [arg])14:52
tunixman (~tunixman@irc.theunixman.com) joined #pypy.14:52
arigatoas written, your test instead just checks that we have the correct emulation layers to emulate a malloc and a free14:52
arigatobut has nothing to do with the JIT14:53
ltrattok. i have no idea how anyone works this stuff out without asking ;)14:53
arigatoltratt: don't worry, they ask :-)14:53
ltrattThis fails, but who knows whether for the right reason or not http://pastebin.com/1czaYL3f14:55
arigatoah14:56
ltrattI must admit, the lack of docs for RPython is highly intimidating. It's certainly put at least 1 of my students off touching the stuff :(14:56
arigatono, it's just that the test doesn't support "return None"14:56
arigatoyou need to end with "return 42" for example14:56
arigatothen the test passes14:56
arigatobut it's not testing fixed-size raw mallocs, but variable-size ones14:57
arigatoah, that's different from "constant-sized"14:57
arigatoit means it's something like malloc(some structure, flavor='raw')14:57
arigatowith no size specified at all14:58
ojii (~ojii@40-34.60-188.cust.bluewin.ch) left irc: Quit: Leaving14:59
Squarepy (~Squarepy@wcw-staff-214-224.wireless.uva.nl) joined #pypy.15:02
Squarepy (~Squarepy@wcw-staff-214-224.wireless.uva.nl) left irc: Changing host15:02
Squarepy (~Squarepy@unaffiliated/squarepy) joined #pypy.15:02
ltrattyou've got me there. malloc must always have a size specified, right?15:03
fprimex (~brent@fl-67-233-144-239.dhcp.embarqhsd.net) joined #pypy.15:04
dgl (~dgl@109.86.165.231) joined #pypy.15:05
dgl (~dgl@109.86.165.231) left irc: Client Quit15:05
intgr (ack@zombie.life.ee) left #pypy.15:07
fijalarigato: hahaha15:08
fijalhakanardo__: that can probably be unrolled15:08
arigatoltratt: no, this is a malloc(TYPE)15:08
fijalhakanardo__: it's short and also constant15:08
dmalcolm (david@nat/redhat/x-vqlnoqisxhmdcdmt) joined #pypy.15:09
fprimex (~brent@fl-67-233-144-239.dhcp.embarqhsd.net) left irc: Client Quit15:09
fijaldmalcolm: hi15:09
arigatoltratt: in other words, you need to declare a dummy TYPE = lltype.Struct('dummy', ('x', lltype.Signed)) for example15:09
dmalcolmfijal: hi!15:09
fprimex (~brent@fl-67-233-144-239.dhcp.embarqhsd.net) joined #pypy.15:09
arigatothen you can say lltype.malloc(TYPE, flavor='raw')15:09
fijaldmalcolm: can you explain why fedora is still patching CFLAGS?15:09
arigatoltratt: but I would expect that you already know that, using this in Converge?  or is it some pypy.rlib code maybe?15:10
dmalcolmfijal: not enough round tuits on my part, alas15:10
amstan (~amstan@69-196-130-230.dsl.teksavvy.com) joined #pypy.15:10
ltrattyes, i use a TIMEVAL struct15:10
arigatook15:10
ltrattthat might be the issue15:11
arigatoyes15:11
fijaldmalcolm: but that means fedora package is completely broken right?15:12
fprimex (~brent@fl-67-233-144-239.dhcp.embarqhsd.net) left irc: Client Quit15:12
fprimex (~brent@fl-67-233-144-239.dhcp.embarqhsd.net) joined #pypy.15:12
fijalarigato: part of the reason why tests are sooo slow under pypy is because of applevel and py.test magic :/15:13
fijalit's actually *loading* a single test that takes forever15:13
fijaland it scales with number of lines of code15:13
dmalcolmfijal: err... define "completely broken".  It passes the vast majority of the selftests; see e.g. http://kojipkgs.fedoraproject.org/packages/pypy/1.7/1.fc17/data/logs/x86_64/build.log (caution: very large)15:14
fijaldmalcolm: as in, you might have slight errors that will give you a very occasional segfaults15:15
fijaldo you have a link to CFLAGS?15:15
dmalcolmfijal: ah, thanks.  Is it GC rootfinding that you're concerned about?15:15
fijalyes15:15
fijalat the very best it's untested15:16
fijaldmalcolm: do you have the link to the package building script?15:17
fijalthis is where the sed lives right?15:17
kenaan12fijal refactor-signature 11cb2ba9e1d8ad 15/pypy/module/micronumpy/: make some more tests pass, skip the debug_repr for now15:17
dmalcolmfijal: http://pkgs.fedoraproject.org/gitweb/?p=pypy.git;a=blob;f=pypy.spec;h=1d6b6af67b6ce231c90435882da595df15da42e0;hb=HEAD15:17
fijalthanks15:17
fijaldmalcolm: so tell me why it loads RPM_OPT_FLAGS in the first place?15:18
fijalCFLAGS=15:18
fijalwould be good enough15:18
ltrattarigato: ok, this is clearly a slightly silly test, because it won't know about time.h (HOW to include that?!) but I have students banging at my door. hope this is enough of a start http://pastebin.com/YU3TxmpX15:19
amstan (amstan@69-196-130-230.dsl.teksavvy.com) left #pypy ("Konversation terminated!").15:19
fijaldmalcolm: I mean it's probably fine, but if someone adds any extra silly flag to RPM_OPT_FLAGS it'll break the build15:19
fijalI didn't quite read you're *removing* those flags15:19
fijalltratt: you don't have to have a real structure15:20
arigatoltratt: yes, thank you.  indeed, the structure can be a 'dummy'15:20
dmalcolmfijal: right.  the RPM_OPT_FLAGS are there so that we can try to respect distro-wide policies about compilation flags, and then we hack it up to break that - so we don't have either Fedora's standard build flags, or PyPy's build flags15:21
fijaldmalcolm: that's precisely my point15:21
fijalwhat can potentially be in those flags that you want to respect and that won't break PyPy?15:21
dmalcolmfijal: so to what extent do we have automated test coverage for the GC root-finding within PyPy's test suite?15:21
fijalit's pretty well tested for known cases15:22
fijalbut every now and then we discover "oh, and C compiler can also emit *this* sort of code"15:22
fijalif you feed it with random flags, this is what might happen15:22
fijalalso some -f flags might make it not cooperate with generated assembler15:23
fijal(C compiled vs generated)15:23
fijaletc.15:23
fijalI'm sure you can screw it up with feeding -f flags15:23
fijalplease, just don't use RPM_OPT_FLAGS15:23
fijalthere is nothing good in them and there might be potentially something harmful15:23
tumbleweedfijal: I'm also keen on the ability to feed pypy different CFLAGS and LDFLAGS, but almost none of them will be -f...15:23
fijaltumbleweed: like what?15:24
tumbleweedfijal: mostly new warnings, linker options, as we slowly progress towards the gold linker, and any hardening that we can do15:25
fijaltumbleweed: you can't do any hardening because we emit assembler15:25
ltrattarigato: ok, cool.15:25
tumbleweedfijal: yes, aware of that15:25
arigatodmalcolm: what is unusual about pypy is that the C code produced if you say "--gcrootfinder=asmgcc" is not at all C code that can be compiled by any C compiler with random flags15:25
fijalalso warnings are pointless, because we emit very regular C15:26
ltratti'll hold back on bypassing the problem in ym code and await the fix :)15:26
ltrattthanks!15:26
ltratt (~ltratt@px238.dcs.kcl.ac.uk) left irc: Quit: Students a-waitin'15:26
arigatodmalcolm: you should either call "gcc" with no particular flags (because it's tested), or give up and translate with "--gcrootfinder=shadowstack" and get ANSI C15:26
dmalcolmarigato: awkward question: which version of gcc are you testing on?15:27
tumbleweedfijal: the point of new warnings is that gcc gains new warnings and we like to know thaht everything works with them, before they become part of -Wall15:27
arigatodmalcolm: it works on standard gcc's on linux, from 3.4.6 to Ubuntu's 4.4.315:28
dmalcolmI'm using 4.615:28
arigatodmalcolm: if more recent versions show issues, we can fix them on a need-by-need basis15:28
fijaldmalcolm: I'm using/was using trunk15:28
fijalgcc trunk15:28
fijalso it should work on 4.715:28
Alex_Gaynorfijal: pong15:29
arigatowhat we don't do is fix issues that show up because you're using *any* flag.  we only fix issues with vanilla gcc and vanilla pypy's Makefile15:29
tumbleweedno problems from me for that. Not everything out there supports every flag, and that's fine with me15:30
arigatoand at some point we might decide to give up that and invest some efforts in making --gcrootfinder=shadowstack a little bit better15:30
tumbleweedbut it looks like fedora are being more agressive than Debian here...15:30
Alex_Gaynorfijal: how's the status of signature-refactor, you need a review?15:30
fijalnot yet, it's unfinished15:30
dmalcolmor I could write a root-finding GCC plugin, I guess15:30
fijalnot rpython yet and failing some tests15:30
fijaldmalcolm: if you can do it that would be fairly awesome15:31
fijalit's however relatively hard15:31
arigatodmalcolm: yes, that would be cool15:31
fijalI would be happy to remove asmgcc in favor of that15:31
arigatome too :-)15:31
dmalcolmwould I get to use my favorite flags if I did? :)15:31
fijalarigato: can we remove get_L2_cache_size and friends?15:31
fijaltumbleweed posted a patch on the tracker15:32
fijaldmalcolm: yes, I think so, although some of them are still pointless :)15:32
arigatoI suppose that if you did, it would work with various combination of flags indeed15:32
dmalcolmfijal: btw, did you run into specific bug reports about the Fedora builds that's motivating this discussion?15:32
arigatofijal: I did remove the call to it, at least for minimark gc15:32
arigatofijal: now it's 4MB by default15:32
tumbleweedarigato: my patch removed it everywhere else, too15:32
tumbleweedI hadn't noticed the change in minimark, and saw that the detection itself hadn't been touched since 1.7, so wasted some time trying to determine it on a bunch of archs first...15:33
fijaldmalcolm: nope, just tumbleweed posted a link, when doing debian package15:33
dmalcolmarigato: do I basically need to find all locals on the stack, and capture them all into a metadata struct?15:33
arigatotumbleweed: :-/15:33
tumbleweedarigato: so it goes, first contributions to new projects are always painful :P15:34
fijaldmalcolm: the problem is you need to capture their types15:34
fijaldmalcolm: but you can get some support from the toolchain15:34
arigatodmalcolm: yes, you need all locals that have certain types...15:34
fijalwe can mark all the types that are GC types15:34
arigatoyes15:34
Action: dmalcolm goes to grab another coffee - this will be fun :)15:34
fijalor we can put some information in functions15:34
arigato:-)15:34
fijalarigato: the question for tumbleweed is can we remove the code15:34
fijal?15:34
arigatofijal: I'm not sure, but I suppose that removed code is better than unused code15:35
fijalyes15:35
arigatoprovided it's definitely unused15:35
fijalthen there is a patch on the tracker :)15:35
arigato:-)15:35
tumbleweeddmalcolm: have you done anything about an FHS-ish install, yet? I spent some time this afternoon looking at the changes I'll need to make to distutils and site.py to vaguely match how me handle cpython, and it started looking rather un-fun :P15:37
dmalcolmtumbleweed: fwiw the Fedora specfile is here: http://pkgs.fedoraproject.org/gitweb/?p=pypy.git;a=blob;f=pypy.spec;h=1d6b6af67b6ce231c90435882da595df15da42e0;hb=HEAD15:38
Alex_Gaynorfijal: I'm not sure metallica is popular enough that that's a good refernece (going throug backlog of tweets)15:38
tumbleweeddmalcolm: yeah, been reading it :)15:38
Kaskuka (~John@osbk-4db14206.pool.mediaWays.net) joined #pypy.15:39
fijalAlex_Gaynor: it was when I was 14 :)15:40
fijalAlex_Gaynor: I'm trying to slowly understand the implications of what I have been doing now15:41
fijalit all nicely falls in places15:41
Alex_Gaynor"good"15:41
fijalyeah, but requires fixing bugs :)15:41
Alex_Gaynorthe failing tests require fixing bugs?  perish the thought15:42
fijalno15:42
fijalthe cleaner idea15:42
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Quit: reboot15:42
fijalexposes bugs15:42
arigatofijal: the raw_malloc_no_track_allocation parts of codewriter/support.py are probably not working15:42
fijalbecause now really you can't make the decision later15:42
fijalarigato: uh why?15:42
arigatobecause when using them, we also need free(track_allocation=False)15:42
Alex_Gaynorfijal: numpypy is a good model for "how to engineer software", I claim15:43
berdario (~Tiibiidii@217.220.118.217) joined #pypy.15:43
fijalarigato: I think *as it is*15:43
fijalit simply works by chance15:43
fijalbecause free is in __del__ which is never JITted15:44
arigatobah, ok15:44
fijalyes, bah15:44
fijalbut it works :)15:44
fijalAlex_Gaynor: for example now I have to create the notion of broadcast at the moment of signature creation15:45
fijalnot later15:45
Squarepy (Squarepy@unaffiliated/squarepy) left #pypy ("Leaving").15:46
Alex_Gaynorfijal: we create signature at eval now, right?15:46
Alex_Gaynorfijal: when do we create broadcast ATM15:46
Alex_Gaynorfijal: err signature at eval on your branch15:46
fijalslightly later15:47
fijalso on trunk for example I think broadcast would be a bridge from normal15:47
fijalor something15:47
Alex_Gaynorfijal: is enumerate RPython?15:52
fijalyes, most of the time15:53
Alex_Gaynorok15:53
fijalare you reviewing the branch by chance?15:53
Alex_Gaynorfijal: no, I'm reviewing the fromstring branch15:53
fijalok15:53
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.15:53
antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds15:57
fijalAlex_Gaynor: for example I made it explicit that view is of a concrete array15:57
Alex_Gaynorfijal: it shouldn't need to be15:58
fijalthe assumption was there, it was just hidden :)15:58
fijalyes15:58
fijalbut that's what's on trunk15:58
Alex_Gaynorwell, let's fix it :)15:58
fijalI'm trying not to fix 17 things at once15:58
Alex_Gaynorfair enough15:59
fijalit's getting more complex16:00
fijallike a broadcast of a view is just another view16:00
kenaan12alex_gaynor numpy-full-fromstring 1144e16832a75d 15/pypy/module/micronumpy/REVIEW: Added some review notes.16:02
kenaan12alex_gaynor numpy-full-fromstring 112fbc0588123e 15/: merged default in16:02
Alex_Gaynorfijal: sounds "simpler" in that way16:02
Ademan (~dan@adsl-71-141-224-79.dsl.snfc21.pacbell.net) left irc: Quit: leaving16:04
kenaan12hager ppc-jit-backend 11284314e1eb5f 15/pypy/jit/backend/ppc/ppcgen/: (bivab, hager): fix bug in code generator16:06
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds16:07
tumbleweedfijal: I ended up doing this to get test__mercurial to pass http://paste.debian.net/149200/ (use debian version as the "branch", '' as the commit, and display branch name instead of commit hash in sys.version (like cpython))16:07
tumbleweedcan I interest anyone in http://paste.debian.net/149204/ (a failure pypy only expects on darwin, but I'm seeing on linux) or http://paste.debian.net/149202/ (I build under eatmydata, which makes lots of sense for packages smaller than pypy, but is a pain to disable just for pypy)16:09
fijal (~fijal@197.109.164.139) left irc: Ping timeout: 268 seconds16:10
stakkars_ (~tismer@i59F74B7D.versanet.de) left irc: Quit: schnarch16:11
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.16:11
khs (~khs@2001:700:300:2120:725a:b6ff:fee5:a44) left irc: Quit: Leaving16:14
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Client Quit16:15
DasIch_ (~dasich@p3E9912DF.dip.t-dialin.net) left irc: Read error: Connection reset by peer16:16
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.16:18
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy.16:24
arigatotumbleweed: yes, I've seen it on linux in some configuration too16:27
arigatotumbleweed: thanks for the checkin16:27
tumbleweedunfortunatly, I don't know more about it16:27
tumbleweedthrowing errno 0 is pretty odd16:27
arigatoyes :-(16:27
arigatolibeatmydata.so looks like a workaround for a bug in libeatmydata.so16:29
tumbleweedexpected behavior for eatmydata, surely16:30
arigatowhat is eatmydata?16:30
tumbleweeda library that ignores syncs16:30
tumbleweedmakes package installation rediculously fast, which is nice for builds :)16:30
Kaskuka (~John@osbk-4db14206.pool.mediaWays.net) left irc: Read error: Connection reset by peer16:31
arigatoit's a hack, although maybe it gives good speed-ups on code that brokenly calls fsync() too often16:31
tumbleweedit's totally a hack16:32
tumbleweeddpkg calls it often, because it really really doesn't want to break your system16:32
tumbleweedin a throwaway build chroot, this makes small builds many times faster, and doesn't really have any downsides16:32
arigatoexcept that it breaks tests of fsync16:33
tumbleweedthis is the first time I've ever come across anyone testing fsync :P16:33
arigato...well we're not really testing fsync()16:34
arigatowe're just calling it16:34
arigatono clue why eatmydata.so is giving failures16:34
arigatoah, it's the line raises(OSError, os.fsync, fd)?16:34
arigatochecks that you can't call fsync() on an invalid file descriptor16:34
Action: tumbleweed tries to find the right log16:35
arigatobasically the test is of course not checking that the OS behaves correctly16:35
arigatoit's checking that we are doing the correct wrapping16:35
arigatoI'm fine if you change the test to not complain if the call to os.fsync() actually didn't raise anything16:36
arigatoas part of "a broken libc"16:36
tumbleweedsorry, got pulled into a conversation. back.16:38
tumbleweedthe problem is that it doesn't raise OSError, yes16:38
Kaskuka (~John@osbk-4db14206.pool.mediaWays.net) joined #pypy.16:39
arigatoyes16:40
arigatothen it's indeed a bug of eatmydata.so, as I first guessed :-)16:41
arigatoit should at least check that the fd is valid16:41
tumbleweedheh16:41
kkris (~kris@178.115.138.236.wireless.dyn.drei.com) joined #pypy.16:41
arigato(in an ideal world at least)16:42
G2P (~G2P@fw-asn1.ornis.com) left irc: Quit: Leaving.16:42
kenaan12arigo default 11b1a9e14a476c 15/pypy/jit/codewriter/jtransform.py: Complain if we see "lltype.free(x, track_allocation=False)". Should be fixed.16:43
kenaan12arigo default 110af6042f9ef6 15/pypy/jit/: Support "malloc(STRUCT, flavor='raw')" too.16:43
kenaan12arigo default 11b907a1252c68 15/pypy/module/_ssl/test/test_ssl.py: Changeset by tumbleweed: we are seeing this on Linux too, not only on Darwin.  Obscure.16:43
fijal (~fijal@197.168.156.142) joined #pypy.16:43
gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) left irc: Quit: Konversation terminated!16:43
JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection16:45
fprimex (~brent@fl-67-233-144-239.dhcp.embarqhsd.net) left irc: Quit: quit16:47
tumbleweedarigato: have this, then: http://paste.debian.net/149218/16:48
CIA-1303schmichael 07roundup * 10#869/Implement ctypes.<type>.from_buffer method: 16:49
CIA-13arigo: I was able to switch from .from_buffer to .from_address[1] by not using16:49
CIA-13the stdlib's mmap module and instead creating my own wrapper[2]. S ... * 14https://bugs.pypy.org/issue86916:49
arigatotumbleweed: ok!16:50
kenaan12arigo default 110eea2bcfa892 15/pypy/module/posix/test/test_posix2.py: See comments.  Thanks tumbleweed16:50
tumbleweedta16:51
Action: arigato -> off17:02
arigato (~arigo@fwstups.cs.uni-duesseldorf.de) left irc: Quit: See you17:02
kenaan12fijal refactor-signature 1116065f56db0c 15/pypy/module/micronumpy/: skip some tests and make the rest pass. Broadcasting and FlatIter unsupported so far17:04
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy17:06
fijal (~fijal@197.168.156.142) left irc: Ping timeout: 252 seconds17:08
mattip (~chatzilla@bzq-79-183-106-226.red.bezeqint.net) joined #pypy.17:09
lmoura (lmoura@gateway/indt/session) left irc: Read error: Operation timed out17:10
K-os (~gabriel@dhcp-205.zbh.uni-hamburg.de) left irc: Ping timeout: 240 seconds17:10
Eventh (evenwiik@caracal.stud.ntnu.no) left irc: Remote host closed the connection17:10
antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) joined #pypy.17:12
lmoura (lmoura@gateway/indt/session) joined #pypy.17:19
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy.17:21
jterrace (~jterrace@aegis.CS.Princeton.EDU) joined #pypy.17:22
fzzzy (~donovan@nat/mozilla/x-herdtwewdkuagnqd) joined #pypy.17:23
mkerrin (~mkerrin@wg1-nat.fwgal01.deri.ie) left irc: Ping timeout: 240 seconds17:25
nickik (~nick@cust.static.217-11-47-178.cybernet.ch) joined #pypy.17:35
jterrace1 (~Adium@aegis.CS.Princeton.EDU) joined #pypy.17:36
chroniti1 (~chronitis@79-68-119-97.dynamic.dsl.as9105.com) joined #pypy.17:39
chronitis (~chronitis@88-104-117-122.dynamic.dsl.as9105.com) left irc: Ping timeout: 268 seconds17:40
papercrane (~papercran@75.101.111.82) joined #pypy.17:41
whyking (~quassel@128.148.231.16) joined #pypy.17:43
gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy.17:44
papercrane (~papercran@75.101.111.82) left irc: Read error: Connection reset by peer17:44
papercrane (~papercran@75.101.111.82) joined #pypy.17:45
jterrace1 (~Adium@aegis.CS.Princeton.EDU) left irc: Quit: Leaving.17:45
jterrace1 (~Adium@aegis.CS.Princeton.EDU) joined #pypy.17:47
mat^2 (~mathias@212.130.113.35) joined #pypy.17:48
logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy.17:55
fprimex (~fprimex@brent-macbook.sc.fsu.edu) joined #pypy.17:56
voidspace (~voidspace@python/psf/voidspace) left irc: Ping timeout: 240 seconds18:05
jterrace1 (~Adium@aegis.CS.Princeton.EDU) left irc: Quit: Leaving.18:14
davidpk (~davidpk@5e06d080.bb.sky.com) joined #pypy.18:15
voidspace (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy.18:26
voidspace (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host18:26
voidspace (~anonymous@python/psf/voidspace) joined #pypy.18:26
voidspace (~anonymous@python/psf/voidspace) left irc: Client Quit18:29
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum18:35
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Computer has gone to sleep.18:35
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy.18:36
berdario (~Tiibiidii@217.220.118.217) left irc: Ping timeout: 244 seconds18:36
ericflo (~ericflo@75.103.8.110) joined #pypy.18:37
arigato (~arigo@89.204.155.36) joined #pypy.18:38
CIA-1303arigo 07roundup * 10#963/corner case behavior of "is"-identical objs: (log message trimmed)18:41
CIA-13[new] >>>> a = 118:41
CIA-13>>>> b = 118:41
CIA-13>>>> a is b18:41
CIA-13True * 14https://bugs.pypy.org/issue96318:41
Alex_Gaynorarigato: wasn't there an issue like this a long time with object.__hash__(1) just raising a TypeError?18:42
nickik (~nick@cust.static.217-11-47-178.cybernet.ch) left irc: Ping timeout: 240 seconds18:43
arigatoyes, there was too18:43
arigatomaybe we should revert back to that old behavior?  it seems a bit pointless to care about, though18:43
Alex_Gaynoran error seems better than a wrong result18:44
Alex_Gaynorwhy not just have object.__hash__ call space.id()18:44
Alex_Gaynorthat should make it work I think?18:44
Alex_Gaynorerr, no18:45
arigatoin theory we can change object.__hash__ so that when called on one of these immutable objects,18:46
arigatoit calls space.id() and then takes the hash of the result (which may be a long)18:46
Nick change: Vorpal_ -> Vorpal18:46
arigatoor simpler:18:47
arigatoobject.__hash__ delegates to the normal hash() in these cases18:48
Alex_Gaynorright, that's what I meant :)18:48
arigatoah :-)18:48
Alex_GaynorI was unclear18:49
arigato"but I'm using object.__hash__() to get the raw address of the object in memory, it should never return 0 or a small number"18:49
berdario (~Tiibiidii@host118-77-dynamic.10-79-r.retail.telecomitalia.it) joined #pypy.18:49
Alex_Gaynortoo bad, don't do that18:50
arigato:-)18:50
Alex_Gaynorthere's a 0% what you're doing is a good idea18:50
arigato:-)18:50
arigato"also, I'm using (x, object.__hash__(x)) as a dictionary key, to distinguish between 0 and 0.0"18:51
Alex_Gaynoro_O18:52
Alex_Gaynor(x, type(x))18:52
arigatoright, that's nonsense anyway, because 1000 and 1000 can have different id's too18:53
Alex_Gaynorheh, that too18:53
lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) left irc: Ping timeout: 268 seconds18:54
mtigas (~mtigas@users.spokesman.com) joined #pypy.18:54
berdario (~Tiibiidii@host118-77-dynamic.10-79-r.retail.telecomitalia.it) left irc: Ping timeout: 244 seconds18:59
logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer19:01
logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy.19:01
logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer19:01
logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy.19:01
logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer19:01
logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy.19:02
logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer19:02
mattipI am working on frompyfunc. 19:02
logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy.19:02
logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer19:02
mattipI have an input arg w_func which is a wrapped function19:02
logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy.19:03
logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer19:03
mattipHow can I get at some of its attributes, like func.name?19:03
logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy.19:03
logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer19:03
mattipspace.func_w(w_func) ?19:03
etrepum (~bob@accessnat4.mochimedia.net) joined #pypy.19:03
logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy.19:03
logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer19:03
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy.19:04
logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy.19:04
logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer19:04
logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy.19:04
logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer19:04
Alex_Gaynorw_func.getname(space)19:05
nickik (~nick@cust.static.217-11-47-178.cybernet.ch) joined #pypy.19:06
mattipthanks. That was the key, there are lots of "get"ters in w_func19:07
Nick change: ec -> GeanLuick19:11
arigato (~arigo@89.204.155.36) left irc: Ping timeout: 252 seconds19:14
Arfrever (~Arfrever@apache/committer/Arfrever) joined #pypy.19:16
kenaan12arigo default 116e98be6147f6 15/pypy/jit/codewriter/: Fix the missing case of raw_free(track_allocation=False).19:16
kenaan12arigo default 1146c074e2da29 15/pypy/: issue963 resolved  Similarly to not calling compute_unique_id() on the immutable objects, we should avoid calling c...19:16
CIA-1303arigo 07roundup * 10#963/corner case behavior of "is"-identical objs: [resolved] Actually fixed in 46c074e2da29 (thanks to discussions with Alex Gaynor). * 14https://bugs.pypy.org/issue96319:16
arigato (~arigo@82.113.98.199) joined #pypy.19:17
arigatopff pfff19:19
arigato>>> object.__repr__(5)19:20
arigato'<int object at 0x9b86f08>'19:20
gutworth:)19:20
arigatoah no19:22
arigatothis is based on space.id()19:22
Gues_____ (~textual@216.190.27.14) joined #pypy.19:22
Nick change: Alex_Gaynor -> tiger_woods19:24
Nick change: tiger_woods -> Alex_Gaynor19:24
arigato>>>> object.__repr__(2**200)19:25
arigato'<long object at 0x00000003>'19:25
arigato>>>> object.__repr__(2**180)19:25
arigato'<long object at 0x00000003>'19:25
Nick change: Gues_____ -> rekamso19:25
arigatodo we care?  :-/19:25
Alex_Gaynorarigato: why is it an issue?19:25
arigatobecause all longs multiple of 2**32 or 2**64 pretend to have the id of 3 in this repr19:26
arigatobecause their id is always a multiple of 2**32 plus 3, and object.__repr() displays only the last 32 bits19:27
Alex_Gaynori'm pretty sure we don't care, but not 100%19:28
arigatosame here :-)19:28
amaury_on 32bit platforms?19:30
arigatoyes, replace 32 with 64 as needed19:30
arigatoactually it's more 29 than 3219:31
arigatobecause e.g. for ints, id(n) == n*8+119:31
arigatoso object.__repr__(sys.maxint) == object.__repr__(-1), for example19:31
ltratt (~ltratt@84.93.175.106) joined #pypy.19:34
ltrattarigato: thanks for your fix earlier, it works fine.19:34
arigato:-)19:35
ltrattand has allowed me to identify a wholely unexpected bottleneck in my VM (I love gprof!): str2charp19:36
ltrattis there any way to get at the raw data of an rpython string without going via str2charp?19:36
Alex_Gaynorltratt: Yes, but there are two caveats: if the string is a young object (with most of our GCs) it can move, so you can't really do that, b) rpython strings are not nul-padded19:38
Alex_Gaynorrffi.get_nonmovingbuffer19:38
Alex_Gaynorand rffi.free_nonmovingbuffer19:38
ltrattAlex_Gaynor: b) is definitely not a problem a) shouldn't be a problem provided it can't move during a call to an external function19:38
amaury_I'm still trying to compile pypy with two object spaces, and I have a failure similar to this test: http://paste.pocoo.org/show/520910/19:39
ltrattAlex_Gaynor: aha, that sounds good. let me give it a go.19:39
Alex_Gaynorltratt: by default, IIRC, external functions release the GIL, and if you have threads teh GC can run and move stuff then19:39
amaury_does it make sense to have frozen pbcs with different implementations?19:40
Alex_Gaynorltratt: FWIW, by default get_nonmovingbuffer will copy if the str is a young object19:40
Alex_Gaynorso it may not be exactly what you want19:40
ltrattAlex_Gaynor: that's an interesting question. does rpython have a GIL itself or does it rely on the host VM to do that itself?19:41
jnoller (~jnoller@vpn.nasuni.com) left irc: Quit: Leaving...19:41
Alex_Gaynorltratt: hmm, it just occured to me I'm not sure, arigato would know19:41
danishman (~kvirc@0x5da0ec2a.cpe.ge-0-1-0-1104.ronnqu1.customer.tele.dk) joined #pypy.19:41
Alex_Gaynoramaury_: well, the fact that we want to have 2 objspaces seems to indicate "yes" :)19:41
ltratti had vaguely assumed the host VM had to do that itself, but i'd love to know a better example!19:42
amaury_Alex_Gaynor: but I don't know how to fix this test19:42
Alex_Gaynorme neither19:42
arigatoltratt: yes, the host VM has to do that itself, but there is code everywhere assuming that it is done19:43
ltrattarigato: ok, that's what i assumed. in this case, my guess has corresponded with the code :)19:43
arigatoto start with, our GCs are not thread-safe at all, and assume that only one thread calls them at a time19:44
arigatobut that means too that rffi.py assumes that external calls will release the GIL by default19:44
arigatoso it's unsafe to take a raw pointer to a young string19:44
arigatoand so rffi.get_nonmovingbuffer will always make a copy of the string if it is young19:45
arigato(because an external call is the typical reason for which get_nonmovingbuffer is called)19:45
ltrattif i know that a particular call won't be called with the GIL unlocked, is there a way of getting a string address without copying?19:46
arigatoyes19:46
Alex_Gaynorsure, copy the implementation of the fastpath from get_nonmovingbuffer19:46
Alex_Gaynor:)19:46
arigatoyes :-)19:46
ltratt[I'm calling pcre_exec, so it's very fast, way too fast to want to release the GIL.]19:46
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Computer has gone to sleep.19:47
ltrattAlex_Gaynor: hehe. is there a way that doesn't involve knowing low-level details?19:47
Alex_Gaynorand then on the llexternal pass threadsafe=False19:47
arigatoltratt: no, you have to copy-paste these obscure 3 lines19:47
ltrattok, even using get_nonmovingbuffer gives me a 2x speedup (using -O3 vs. -Ojit!), so that might be enough on its own19:48
ltrattI love profiling. The bottleneck is always in something a million miles away from what I might have guessed.19:48
ltrattAlex_Gaynor: what would passing threadsafe=False to the llexternal call actually do?19:49
ltrattis it a hint to pypy or rpython or...?19:49
Alex_Gaynorltratt: it tells it not to release teh GIL19:49
arigatowhat about we finally rename this flag?19:49
Alex_GaynorI"m not sure what actually handles that call though19:49
Alex_Gaynorarigato: +1 from me (though I won't do itmyself of course :P)19:50
ltrattAlex_Gaynor: ok, i guess that's pypy specific then19:50
arigatowell, you need to install a GIL for it to make a difference19:50
ltrattah. is there a way of registering a GIL with the rpython system somehow then?19:51
Alex_Gaynorarigato: perhaps RPython should have a real thread API, rather that stuff in module.threading19:51
arigatoyou "install" a GIL by doing the same thing as at the end of pypy/module/thread/gil.py19:51
arigatoAlex_Gaynor: that too19:51
ltrattarigato: hmm, when i look at that stuff, it seems very PyPy specific, and I struggle to see what's applicable to a different VM.19:53
ltrattoh oh, a new JIT assert has triggered... http://pastebin.com/UayueETV19:53
arigatoprint value?19:54
ltratti don't think so, though not 100% sure19:54
Alex_Gaynorno, he's asking you to rpint the value19:55
Alex_Gaynorso we can help debug :)19:55
ltrattdoh19:55
ltrattwhich value?19:55
arigato'value'19:55
Alex_Gaynorself in the bottom frame19:55
Alex_Gaynoror value one frame up19:55
arigatoright19:55
ltrattsorry, i didn't notice the cut 'n' paste cockup19:55
ltratthttp://pastebin.com/TGReLK9G19:55
ltrattmea culpa19:55
ltratt[at least, i hope that's right...]19:56
Alex_Gaynorright, what's the value of `self` there19:56
ltrattok, you need to tell me what to type at pdb ;)19:56
Alex_Gaynorprint self19:56
Alex_Gaynor:)19:56
ltratt<FieldOffset <GcStruct rpy_string { hash, chars }> 'chars'>19:57
arigatoah19:57
arigatoit's the new code you copied from rffi.py19:57
Nick change: GeanLuick -> elliottcable19:57
Alex_Gaynorthat rffi.py code isn't inlined due to the loop on the can_move case19:57
arigatoit can probably be fixed in codewriter19:57
Alex_Gaynorarigato: adding those in the codewriter is a mess, last time I tried, but perhaps you're smarter than I :)19:57
arigatoAlex_Gaynor: argh, that looks random19:57
ltrattarigato: if you mean me, i haven't copied any code from rffi.py19:58
ltratti've just called get_nonmovingbuffer / free_nonmovingbuffer19:58
Alex_Gaynorarigato: well it's also a bit of a silly branch to have in JIT'd code19:58
arigatoAlex_Gaynor: I was hoping that "-128 <= value <= 127" was the only problem, but I'm probably naive :-)19:58
Alex_Gaynorarigato: it's not, you end up with a value that needs to be encoded later19:58
arigatoAlex_Gaynor: aaah, see19:58
arigatoltratt: you are using the Boehm GC?19:59
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy.19:59
ltrattno, this is on -Ojit19:59
ltratton -O3 it didn't trigger i think (just double checking)19:59
arigatoah, I thought you'd use "-Ojit --gc=boehm", e.g. for checking with a faster translation19:59
antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds20:00
Alex_Gaynorarigato: would can_move be folded that early?20:00
ltratt-Ojit is so slow, i don't think the gc makes too much difference ;)20:00
arigatoAlex_Gaynor: probably not, you're right20:00
arigatoAlex_Gaynor: ah, of course, free_nonmovingbuffer() doesn't have a loop20:02
Alex_Gaynorhah, indeed20:02
Alex_Gaynorhow is that this never showed up for us!20:02
arigato:-/20:02
Alex_Gaynorwant me to throw on jit.dont_look_inside for now?20:02
ltrattsorry chaps, i have a feeling that my brutally-stupid take on how to program rpython is very different than your more sophisticated take!20:03
arigatoAlex_Gaynor: yes20:03
arigatoltratt: no20:03
Alex_Gaynorltratt: nope, it's just a hapenstance bug that didn't show up for us, pure chance20:03
arigatoyou are good at hitting such bugs, but that's probably because we only have pypy and pyrolog as real examples so far20:03
arigatoso it's cool that we can find and fix all these issues20:04
ltrattsometimes i think hitting bugs is my main skill in life. whatever i do, i hit bugs... mostly in my own code ;)20:04
arigato:-)20:04
ltrattok, i reckon with this bug fixed, i should start getting some useful numbers20:05
Nick change: mwhudson_ -> mwhudson20:05
ltrattthe RPython Converge VM is now beefy enough to compile the compiler (modulo a couple of compile-time meta-programming bits that still need fixing... but they're not critical) ad nauseum i.e. it can bootstrap itself. this is what i've been working towards for 10 weeks :)20:06
kenaan12alex_gaynor default 110be914199ee6 15/pypy/rpython/lltypesystem/rffi.py: Don't inline rffi.free_nonmovingbuffer in the JIT, it just raise an error during translation.20:06
kenaan12alex_gaynor default 117907ec2d1927 15/pypy/: merged upstream20:06
ltrattAlex_Gaynor: that was fast! I'm building with -Ojit as we speak...20:06
Alex_Gaynorltratt: it's like 3 lines of code changed20:06
ltrattI guess I am just much slower :)20:07
Nick change: elliottcable -> GeanLuick20:09
Action: arigato got somehow 350$ of value from google to use at www.google-store.com20:11
arigatothat's worth 700 pens20:11
arigatoI'll get 2 or 3 usb sticks and have an incredibly hard time to find anything useful to do with the remaining 320$20:12
arigato(I already won the Rubik's cube last EuroPython, and I already got plenty of T-Shits from summer of code :-)20:13
Alex_Gaynorarigato: I have 175, I've spent like $20 of it so far20:14
arigato:-)20:14
Alex_GaynorI think I might need a water bottle though, so that's anoterh $5 or so20:15
ltrattok, the JIT has built with the patch, thanks Alex20:17
nickik (~nick@cust.static.217-11-47-178.cybernet.ch) left irc: Quit: Verlassend20:19
ltrattinteresting: when running the compiler, the -Ojit VM is 50% slower than the -O3 VM.20:20
ltratti guess that's stacklets neutering the JIT20:20
arigatoit can be :-(20:21
Nick change: Gulaway -> Gulopine20:22
ltrattI was e-mailing Carl Friedrich earlier, and I said to him that the more I think about it, the more I suspect that RPython generators will be the right way to go rather than stacklets20:22
ltrattbut stacklets work in the short term, even if their performance is (probably) pretty poor20:22
kenaan12mattip numpypy-frompyfunc 114136f83fdb42 15/pypy/module/micronumpy/: more tests, and a failing one20:23
kenaan12mattip numpypy-frompyfunc 116bb82e4bc325 15/pypy/module/micronumpy/: not yet rpython20:23
kenaan12mattip numpypy-frompyfunc 1166a6917800a8 15/pypy/module/micronumpy/: tests, translate passes20:23
arigatogood feedback20:24
arigatoI guess it motivates me to finish the generator-in-rpython branch :-)20:24
Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Quit: ZNC - http://znc.sourceforge.net20:24
mattipalmost there. Just need lazy eval and to think about broadcasting for multiple input args20:24
ltrattarigato: cool!20:24
ltratti've got the rough design for rejigging my VM done in my head20:24
mattip (~chatzilla@bzq-79-183-106-226.red.bezeqint.net) left irc: Quit: ChatZilla 0.9.87 [Firefox 8.0/20111115183158]20:25
ltrattand i imagine it would be very useful for PyPy as well... generators make some code so much neater than the alternatives!20:25
arigatoit might be useful in one or two places, yes20:25
arigatobut Python built-ins generally don't generate multiple values20:26
arigato(except 'itertools', which is anyway carefully designed to be easy to implement in C without generators)20:26
ltrattthat's true, but i was thinking (perhaps naively) of RPython internals, libraries etc.20:26
Alex_Gaynorarigato: py3k has more generators20:26
Alex_Gaynormap, filter, zip20:27
Alex_Gaynorof course we just implemented them by writing them n pure python :)20:27
arigatoAlex_Gaynor: well, these are also here in the itertools module20:27
arigatoand, yes :-)20:27
Alex_Gaynorarigato: yes indeed, the 3k versions are just the 2k itertools versions20:27
Ademan (~dan@21.sub-97-152-139.myvzw.com) joined #pypy.20:27
Alex_Gaynorarigato: IMO we should move more of itertools to pure python20:27
Alex_Gaynormaybe I'll do that on my flight20:27
arigatoProlog and (I guess) Converge have the property of being full of builtins that really are generators20:28
arigatodoing non-trivial things between elements20:28
chroniti1the semantics are a bit different for some py3k versions (eg, map() doesn't accept a null function), so they can't be directly reused20:28
azanella (~azanella@189.6.80.207) left irc: Ping timeout: 252 seconds20:28
Nick change: chroniti1 -> chronitis20:28
ltrattarigato: yes, lots of builtin Converge library functions are generators20:28
kenaan12hakanardo default 11085083392791 15/pypy/module/micronumpy/interp_numarray.py: inline descr_get_shape to prevent a residual call on two dimensional array accesses20:28
Nick change: GeanLuick -> elliottcable20:29
ltratte.g. as a trivial example, string.find_index("x") is a generator which successively generates each index "x" is found at20:29
ltrattit makes for some very nice, consistent APIs20:29
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds20:29
Alex_Gaynorthat's an awesome API20:29
Alex_Gaynorhakanardo: starting to play with our numpy?20:30
arigatoyes, that's great if generators are really native to your language20:30
arigatoin Python it would be a bit cumbersome, e.g. when we only want the first answer,20:30
arigatowe need to write some slightly-strange Python code20:30
Alex_Gaynoryes, next("xyz".find("x")) isn't so nic20:31
Alex_Gaynore20:31
Alex_Gaynorof course automatic coercion of iterators isn't very nice either20:31
arigatoalso it can raise StopIteration20:31
hakanardoAlex_Gaynor: just a litte...20:31
jacob22_ (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) joined #pypy.20:31
ltratti talk about some of this stuff in my "Experiences with an Icon-like Expression Evaluation System" paper20:31
ltrattlong URL coming: http://tratt.net/laurie/research/publications/html/tratt__experiences_with_an_icon_like_expression_evaluation_system/20:31
jacob22 (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: Ping timeout: 244 seconds20:31
arigato``for index in "xyz".find("x"): break; else: index=-1``20:31
hakanardoAlex_Gaynor: I want to try out the image benchmarks using numpy arrays20:31
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.20:31
Alex_Gaynorhakanardo: have you checked the trace generated by the inlined version?  the array stays virtual?20:32
hakanardoAlex_Gaynor: no I was planing to try out that with tomorrows nightly :)20:33
Alex_Gaynorhakanardo: heh, I'm apparently more impatient than you, I would have triggered a buildbot at least20:33
azanella (~azanella@189.6.80.207) joined #pypy.20:33
hakanardoAlex_Gaynor: no point as I'm going to bed soon anyway...20:34
hakanardobtw are there any plans for supporting subclassing ndarray at app-level?20:34
Alex_Gaynorit's possible to subclass isn't it?20:35
Alex_Gaynorah I see20:35
Alex_Gaynorinstantiating it returns the wrong type20:35
hakanardoyes20:35
kkris1 (~kris@80-123-47-201.adsl.highway.telekom.at) joined #pypy.20:36
hakanardoalso numpy has some quite nice fetures to keep the subclassed type 20:36
hakanardowhen doing slices for example20:36
Alex_Gaynorwell, at a minimum we can fix the instantiation issue easily enoug20:37
hakanardocool20:37
hakanardohow about ndarray.view(subcalss)?20:37
Alex_Gaynora tiny bit harder maybe, but not too difficult either20:38
Alex_Gaynorslices shouldn't be too difficult either20:38
hakanardosounds good :)20:39
Alex_Gaynorcan you put an item in extradoc/planning/micronumpy20:39
Alex_Gaynorso we don't forget20:39
kkris (~kris@178.115.138.236.wireless.dyn.drei.com) left irc: Ping timeout: 276 seconds20:40
hakanardosure20:41
asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy.20:46
ixokai (~ixokai@pdpc/supporter/student/ixokai) joined #pypy.20:48
kenaan12hakanardo extradoc 115176509bd13c 15/planning/micronumpy.txt: (Alex_Gaynor, hakanardo): whishlisting20:49
kenaan12jterrace numpy-concatenate 110d81f0701f18 15/pypy/module/micronumpy/: Adds numpy.concatenate20:52
jterraceAlex_Gaynor: that ^ adds concatenate function20:52
jterracei saw your notes about the fromstring branch, ill clean it up when i get a chance20:53
Alex_Gaynorjterrace: cool, I'll take a look at this, the code looks sane but I'm having trouble wrapping my head around this20:54
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 245 seconds20:55
Alex_Gaynorah, so it just concats along each axis20:55
jterraceit concats along the specified axis20:55
jterracethere are a couple examples in the numpy docs20:55
kkris1 (~kris@80-123-47-201.adsl.highway.telekom.at) left irc: Quit: Leaving.20:56
maxyz (~maxy@186.18.94.35) left irc: Ping timeout: 252 seconds20:56
jterraceoh  actually i need to add tests for the params being non-arrays20:56
Alex_Gaynorjterrace: ok, I'm leaving for the airport in a few minutes, I'll try to review while I'm there or in flight20:56
jterraceyou can give it any iterator and they will be coerced20:56
alistra (alistra@jasminek.net) left #pypy.20:56
jterracei guess it's not quite ready20:56
jterraceill fix up fromstring and concatenate and let you know when they are ready for review20:57
Alex_Gaynorokey dokey20:57
jterracei think concatenate is probably good to go, but i want to add some more tests20:57
hazmat (~hazmat@plone/hazmat) joined #pypy.20:57
maxyz (~maxy@186.18.94.35) joined #pypy.20:58
danishman (~kvirc@0x5da0ec2a.cpe.ge-0-1-0-1104.ronnqu1.customer.tele.dk) left irc: Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/20:58
CIA-1303agaynor 07roundup * 10#964/numpypy.zeros([]) returns wrong result: (log message trimmed)21:00
CIA-13[new] Under CPython:21:00
CIA-13>>> numpy.zeros([])21:00
CIA-13array(0.0)21:00
CIA-13Under PyPy: * 14https://bugs.pypy.org/issue96421:00
mikefcHow do I the equivalent of "split()" in python?  i.e. split on 1+ whitespaces in a string?21:02
Action: mikefc is trying to write his first bit of rpython21:02
chronitis (~chronitis@79-68-119-97.dynamic.dsl.as9105.com) left irc: Quit: Lost terminal21:04
arigatostring processing is not a strong point of RPython :-(21:05
arigatosee str_split__String_None_ANY in pypy.objspace.std.stringobject21:06
mikefcmy interpreter just needs to tokenize the program by splitting on space(s).21:06
Ademan (~dan@21.sub-97-152-139.myvzw.com) left irc: Quit: leaving21:08
arigatoyou need to copy the whole loop21:09
Action: mikefc looks it up21:12
fzzzy (~donovan@nat/mozilla/x-herdtwewdkuagnqd) left irc: Quit: fzzzy21:17
ixokai (~ixokai@pdpc/supporter/student/ixokai) left irc: Quit: Bye!21:31
kenaan12jterrace numpy-concatenate 11083461b61320 15/pypy/module/micronumpy/: Changed some variable names and added a couple more tests21:36
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy.21:37
ltratt (~ltratt@84.93.175.106) left irc: Quit: using sirc version 2.211+KSIRC/1.3.1221:48
dmalcolm (david@nat/redhat/x-vqlnoqisxhmdcdmt) left irc: Quit: Leaving21:51
cwillu_at_work (~cwillu@cwillu-1-pt.tunnel.tserv13.ash1.ipv6.he.net) left irc: Excess Flood22:01
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 240 seconds22:02
DasIch (~dasich@p3E990E33.dip.t-dialin.net) joined #pypy.22:10
arigato (~arigo@82.113.98.199) left irc: Ping timeout: 252 seconds22:13
mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) left irc: Quit: This computer has gone to sleep22:18
mikefc woo. I now have a working PGM interpreter that outputs PPMs!  JITted!22:24
kenaan12arigo default 115a9a29b9c0ae 15/pypy/rpython/lltypesystem/rffi.py: I know it contains a loop and thus cannot be inlined at all at the moment, but it doesn't hurt to disable it explic...22:28
maxyz (~maxy@186.18.94.35) left irc: Ping timeout: 252 seconds22:32
maxyz (~maxy@186.18.94.35) joined #pypy.22:33
bbot2Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/74522:35
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/17022:35
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/97822:35
rekamso (~textual@216.190.27.14) left irc: Ping timeout: 252 seconds22:44
squiddy (~squiddy@f053087158.adsl.alicedsl.de) left irc: Quit: Leaving22:55
davidpk (~davidpk@5e06d080.bb.sky.com) left irc: Quit: davidpk22:56
voidspace (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy.23:03
voidspace (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host23:03
voidspace (~anonymous@python/psf/voidspace) joined #pypy.23:03
bbot24Finished ??: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/28923:11
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/29023:11
bbot213Exception: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/29023:11
asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Ping timeout: 240 seconds23:18
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds23:24
durin42 (~durin@adium/durin42) left irc: Read error: Operation timed out23:27
durin42 (~durin@adium/durin42) joined #pypy.23:30
durin42 (~durin@adium/durin42) left irc: Ping timeout: 244 seconds23:38
rekamso (~textual@63-228-127-70.dia.static.qwest.net) joined #pypy.23:39
durin42 (~durin@adium/durin42) joined #pypy.23:40
nedbat (~nedbat@python/psf/nedbat) joined #pypy.23:42
durin42 (~durin@adium/durin42) left irc: Ping timeout: 268 seconds23:48
durin42 (~durin@adium/durin42) joined #pypy.23:50
--- Thu Dec 15 201100:00

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