#pypy IRC log for Saturday, 2012-01-14

rekamso (~textual@67.51.82.66) left irc: Ping timeout: 248 seconds00:03
Da_Blitz (~Da_Blitz@203.56.250.63) left irc: Ping timeout: 252 seconds00:07
whitelynx|work (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat00:07
EnCuKou_ (~encukou@ip-94-113-220-25.net.upcbroadband.cz) joined #pypy.00:25
EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) left irc: Read error: Connection reset by peer00:25
DasIch (~DasIch@p4FFDF331.dip.t-dialin.net) left irc: Quit: DasIch00:31
tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy.00:42
Rhyolitehow can I get an assert to drop into pdb?00:50
fijal--pdb01:00
fijalfor py.test01:00
fijalRhyolite: is this what you wanted?01:01
Rhyolitethanks.  I'll try that01:02
JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection01:10
fermianyon (~lane@wan-217-185.usouthal.edu) left irc: Ping timeout: 252 seconds01:10
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy.01:10
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/3101:22
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/20301:29
Rhyolitefijal: testing the PPC64 backend, I repeated hit an assert in _check_invariant of RegisterManager01:30
Rhyolitethat longevity > position01:30
RhyoliteThe op always appears to be setarrayitem_gc01:31
squiddy (~squiddy@g224194089.adsl.alicedsl.de) left irc: Quit: Leaving01:36
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection01:38
etrepum (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 244 seconds01:42
ThomasWaldmannmoin01:45
nettok (~quassel@190.148.241.226) joined #pypy.01:46
ThomasWaldmannhttps://bitbucket.org/thomaswaldmann/python-search-benchmark/ code  http://paste.pocoo.org/show/534547/ results for pypy / cpython01:46
bbot24Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/77501:47
Action: ThomasWaldmann had quite good results for whoosh compared to xappy/xapian and thought he could maybe completely catch up to x. by using pypy, but no, it is slower.01:49
nedbat (~nedbat@python/psf/nedbat) joined #pypy.01:55
Rhyoliteanyone awake?01:58
dzenyes01:58
Rhyolitegood01:59
dzennote sure :p01:59
Rhyolitewell, if you're awake, do something useful :-)01:59
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/192402:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/67702:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/33702:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/32702:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/67502:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/119402:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/85802:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/151102:00
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/78802:00
dzenRhyolite: I was trying to convince me to go to bed02:00
dzenbut, How can I help you ?02:00
Rhyolitewell, then you're not awake :-)02:00
RhyoliteI'm trying to debug an assertion in the pypy register allocator02:01
dzenwow02:02
dzenseems that I'm not that awake :p02:02
dzenno, sorry02:04
Rhyoliteokay.02:04
Rhyolitehave a good sleep02:04
dzenI do use pypy, but I'm not friendly with its code02:04
dzenthanks02:04
Action: ThomasWaldmann does multiple runs of the benchmark in same process02:04
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy.02:05
xcx (56183acb@gateway/web/freenode/ip.86.24.58.203) left irc: Quit: Page closed02:19
setmeaway2 (setmeaway3@118.45.149.247) left irc: Quit: Leaving02:34
setmeaway (~setmeaway@118.45.149.247) joined #pypy.02:34
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.02:36
aboudreault__ (~alanb@modemcable072.19-23-96.mc.videotron.ca) joined #pypy.02:36
asmeurer_ (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) left irc: Quit: asmeurer_02:38
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 245 seconds02:38
aboudreault__ (~alanb@modemcable072.19-23-96.mc.videotron.ca) left irc: Quit: Leaving02:42
ericflo (~ericflo@75.103.8.110) left irc: Quit: ericflo02:49
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) joined #pypy.02:59
Moku (~John@osbk-4db17529.pool.mediaWays.net) joined #pypy.03:04
Shanita (~John@osbk-4db17d45.pool.mediaWays.net) left irc: Ping timeout: 240 seconds03:04
Nick change: Moku -> Guest1748703:04
nedbat (~nedbat@python/psf/nedbat) joined #pypy.03:05
horieyui (~horieyui@113.106.212.39) joined #pypy.03:06
icrazyhack (~horieyui@113.106.212.37) left irc: Ping timeout: 252 seconds03:09
icrazyhack (~horieyui@124.165.209.20) joined #pypy.03:10
horieyui (~horieyui@113.106.212.39) left irc: Ping timeout: 268 seconds03:11
horieyui (~horieyui@114.119.1.27) joined #pypy.03:12
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/101203:13
EnCuKou_ (~encukou@ip-94-113-220-25.net.upcbroadband.cz) left irc: Quit: MizĂ­m.03:13
EnCuKou_ (~encukou@ip-94-113-220-25.net.upcbroadband.cz) joined #pypy.03:14
icrazyhack (~horieyui@124.165.209.20) left irc: Ping timeout: 244 seconds03:14
icrazyhack (horieyui@222.47.159.116) joined #pypy.03:15
horieyui (~horieyui@114.119.1.27) left irc: Ping timeout: 248 seconds03:16
dracman (~draco@212.255.40.55) left irc: Ping timeout: 252 seconds03:18
dracman (~draco@212.255.25.35) joined #pypy.03:25
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection03:32
tellone (~tellone@h55eb1cd7.selukra.dyn.perspektivbredband.net) joined #pypy.03:33
bfirsh (u1308@gateway/web/irccloud.com/x-gywhtslgstswqkkt) left irc: Remote host closed the connection03:36
Alex_Gaynor (u1246@gateway/web/irccloud.com/x-ylepxbqdwnoboepd) left irc: Remote host closed the connection03:36
oal (u4126@gateway/web/irccloud.com/x-hpqxbbfhybbdtlbv) left irc: Remote host closed the connection03:36
bfirsh (u1308@gateway/web/irccloud.com/x-yunvqxoskymuuhkx) joined #pypy.03:41
oal (u4126@gateway/web/irccloud.com/x-blrjtkigsdtwvnmu) joined #pypy.03:42
bbot23Success: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/192404:15
Alex_Gaynor (u1246@gateway/web/irccloud.com/x-omermbdidzetlndc) joined #pypy.04:16
#pypy: mode change '+o Alex_Gaynor' by ChanServ!ChanServ@services.04:16
verte-wleslie (~verte@python/site-packages/verte) joined #pypy.04:23
oal (u4126@gateway/web/irccloud.com/x-blrjtkigsdtwvnmu) left irc: Remote host closed the connection04:36
Alex_Gaynor (u1246@gateway/web/irccloud.com/x-omermbdidzetlndc) left irc: Remote host closed the connection04:36
bfirsh (u1308@gateway/web/irccloud.com/x-yunvqxoskymuuhkx) left irc: Remote host closed the connection04:36
oal (u4126@gateway/web/irccloud.com/x-bvuoshqsksukpjow) joined #pypy.04:43
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 255 seconds04:44
nettok (~quassel@190.148.241.226) left irc: Remote host closed the connection04:47
setmeaway2 (setmeaway3@118.45.149.247) joined #pypy.04:54
setmeaway (~setmeaway@118.45.149.247) left irc: Read error: Connection reset by peer04:55
Alex_Gaynor (u1246@gateway/web/irccloud.com/x-cfnpvjrrtplwnnkc) joined #pypy.04:56
#pypy: mode change '+o Alex_Gaynor' by ChanServ!ChanServ@services.04:56
Nisstyre (~yours@c-208-90-102-250.netflash.net) left irc: Ping timeout: 240 seconds05:03
Nisstyre (~yours@c-208-90-102-250.netflash.net) joined #pypy.05:04
Nisstyre (~yours@c-208-90-102-250.netflash.net) left irc: Max SendQ exceeded05:08
Nisstyre (~yours@c-208-90-102-250.netflash.net) joined #pypy.05:09
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/151105:19
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/85805:20
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/67505:25
zain (~textual@c-67-160-201-63.hsd1.ca.comcast.net) joined #pypy.05:37
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) joined #pypy.05:37
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/119405:44
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/67705:53
machrider (~machrider@c-67-180-177-185.hsd1.ca.comcast.net) joined #pypy.05:57
machrideris there a limitation that xrange can't handle big integers?05:58
verte-wleslieyes05:58
machriderhaha, ok05:59
verte-wlesliesupport for big integers was only added in python 305:59
verte-wleslieso this isn't a pypy thing05:59
machriderweird, this code works in cpython 2.705:59
machriderand if i s/xrange/range it works in pypy06:00
verte-wlesliein cpython 2.6.6, I get "OverflowError: long int too large to convert to int"06:01
machrideri might be confused, but06:02
machriderpypy: http://pastie.org/318246606:02
machridercpython 2.7: http://pastie.org/318246706:02
machriderit might be that cpython is using 64-bit integers06:02
machridernot "big" integers06:03
verte-wleslieyes06:03
verte-wlesliecheck sys.maxint06:03
machriderah, yes... 9223372036854775807 vs 214748364706:04
machriderthanks06:04
verte-wleslieno worries06:04
machriderall this time i thought python magically had no integer limits06:06
machriderbut there are cases where it does, apparently.06:06
verte-wleslieyeah, that's been a bit of an irritation for some time06:06
verte-wleslieI think itertools.count doesn't have the limitation, though06:07
verte-wleslieit doesn't :)06:07
machriderhaha, great06:07
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy.06:09
verte-wleslieand of course, in pypy, writing a better xrange is practically no cost once the jit kicks in06:09
machrideron the upside: this program runs 2x as fast in pypy06:09
machriderverte-wleslie: good point06:09
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds06:30
Nisstyre (~yours@c-208-90-102-250.netflash.net) left irc: Ping timeout: 240 seconds06:40
verte-wleslie (~verte@python/site-packages/verte) left irc: Quit: ~~~ Crash in JIT!06:43
Nisstyre (~yours@c-208-90-102-250.netflash.net) joined #pypy.06:44
Nisstyre (~yours@c-208-90-102-250.netflash.net) left irc: Ping timeout: 240 seconds06:49
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/33706:50
Nisstyre (~yours@c-208-90-102-250.netflash.net) joined #pypy.06:51
bbot23Success: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/78806:53
Taggnostr (~quassel@host229-64-dynamic.116-80-r.retail.telecomitalia.it) left irc: Remote host closed the connection06:54
xcombelle (~xcombelle@AToulouse-551-1-40-156.w90-11.abo.wanadoo.fr) joined #pypy.07:13
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/32707:42
Da_Blitz (~Da_Blitz@203.56.250.63) joined #pypy.07:51
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.07:59
Nisstyre (~yours@c-208-90-102-250.netflash.net) left irc: Ping timeout: 240 seconds07:59
Nisstyre (~yours@c-208-90-102-250.netflash.net) joined #pypy.08:00
machrider (machrider@c-67-180-177-185.hsd1.ca.comcast.net) left #pypy.08:06
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) left irc: Read error: Connection reset by peer08:07
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) joined #pypy.08:08
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) left irc: Ping timeout: 240 seconds08:21
xcombelle (~xcombelle@AToulouse-551-1-40-156.w90-11.abo.wanadoo.fr) left irc: Quit: I am a manual virus, please copy me to your quit message.08:38
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy.08:44
Nisstyre (~yours@c-208-90-102-250.netflash.net) left irc: Ping timeout: 240 seconds08:45
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep.08:57
squiddy (~squiddy@f053086148.adsl.alicedsl.de) joined #pypy.09:15
oakdog8 (~oakdog8@telsasoft-host81.dsl.visi.com) left irc: 09:19
ch_jyx (~ch_jyx@csl2wk29.cse.ust.hk) joined #pypy.09:25
christophler (~web49_an_@84.45.87.204) joined #pypy.09:25
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 240 seconds09:28
antocuni (~antocuni@host157-123-dynamic.2-87-r.retail.telecomitalia.it) joined #pypy.09:45
ch_jyx (~ch_jyx@csl2wk29.cse.ust.hk) left irc: Remote host closed the connection09:55
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) left irc: Read error: Connection reset by peer10:14
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) joined #pypy.10:14
tumbleweedwhy does pypy.tool.runsubprocess call subprocess from a fork?10:16
tumbleweed(background: as expected, I need to find a way to make pypy make noise while running "make", rather than waiting for it to complete before outputting anything)10:17
lesshaste (~lesshaste@87-194-206-189.bethere.co.uk) left irc: Quit: Leaving10:17
Da_Blitzwhy dont you make a shell wrapper and include it in the PATH you invoke pypy with10:28
tumbleweedno, the problem is that pypy captures all make's output10:33
Action: tumbleweed is attempting just changing execute_make10:33
Da_Blitzoh, so not play back an mp3 while compiling10:40
Da_Blitzsorry for my mistake then10:41
fijaltumbleweed: do you want to know why?10:42
fijalalso, why make capturing is wrong?10:42
amaury_tumbleweed: IIRC this was done to ensure that "make" can run at the end of translation10:49
amaury_even when no more memory is available10:49
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy.10:52
fijalamaury_: no, it's due to bug in POSIX/linux10:52
fijalit's not about memory being available10:53
fijalit's because fork() & exec() requires 2x virtual memory10:53
fijaland if you don't have it - crash10:53
amaury_I thought that fork() uses copy-on-write memory?10:53
fijalit still allocates virtual memory10:54
whyking (~quassel@p4FFB7932.dip.t-dialin.net) joined #pypy.10:55
whyking (~quassel@p4FFB7932.dip.t-dialin.net) left irc: Remote host closed the connection10:55
tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection10:58
whyking_ (~quassel@p4FFB70F7.dip.t-dialin.net) left irc: Ping timeout: 252 seconds10:59
arigato (~arigo@adsl-89-217-33-163.adslplus.ch) joined #pypy.11:32
kenaan12arigo default 11039bd6756d51 15/pypy/jit/metainterp/test/test_ajit.py: Write a test for max_unroll_loops, based on an idea by Hakan.11:49
fijalhi armin11:52
arigatohi11:52
Action: fijal is happy with numpy11:53
arigato:-)11:55
arigatolet's rename "numpypy"->"numpy"->"happy"11:55
fijalhappy is already a php interpreter written in rpython11:59
fijaldid you send me a paper about it or was it cfbolz?11:59
fijal"paper"11:59
fijalabstract and a paywall11:59
Action: arigato upgrades from firefox 6 to firefox 9 in about 1 minute and doesn't notice any big difference12:01
arigatothat was not me12:02
fijal?12:02
fijalarigato: ?12:03
arigatoanswering your question above12:03
fijalah ok :)12:03
arigatoah, I missed "fijal:", sorry :-)12:03
fijalhttp://dl.acm.org/citation.cfm?id=204785412:03
k_bx (~k_bx@unstuck-evidence.volia.net) joined #pypy.12:13
fijal (~fijal@196-215-5-11.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds12:14
fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) joined #pypy.12:14
mikefcanyone got the actual paper?12:16
fijalmikefc: no12:16
fijalwe can probably ask the author12:16
DasIch (~DasIch@p4FFDF331.dip.t-dialin.net) joined #pypy.12:19
arigatoI did, from HHU12:21
fijalarigato: can you send it to me then?12:21
arigatoyes12:21
fijalor tell me it's not very interesting :)12:21
arigatono, it is12:21
arigatoas far as I can tell12:21
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.12:22
fijalarigato: do you know by chance rules of unrolling?12:22
fijallike12:23
fijalhow do I figure out which operation prevents unrolling?12:23
k_bx (~k_bx@unstuck-evidence.volia.net) left irc: Ping timeout: 255 seconds12:24
arigatoI don't know them12:24
fijaldo you know how to fnid out?12:26
fijalor am I as good at reading the source as you're?12:26
fijalAAAAAaaaaaa12:28
fijalarigato: ok, I'm a moron12:28
fijalI was looking *at the preamble*12:28
fijalbecause the actual loop is so small I didn't notice it12:28
fijal"good"12:28
h0l0gr4ph1c (~Edmund@ppp118-209-252-72.lns20.mel6.internode.on.net) joined #pypy.12:34
arigato:-)12:37
fijalarigato: what we might want is a simplified version of array operations for small arrays12:38
fijalwell12:38
fijalwe can have arbitrary amounts of hacks :)12:38
arigatoyes :-)  what do you mean, though?12:39
tumbleweedfijal: the problem I have with capturing is that we time out builds on Debian, if they don't output something for X seconds12:41
tumbleweedfijal: I worked around half of that problem by forcing the mandelbrots to be displayed even when not on a TTY12:42
tumbleweedbut make can take a while12:42
fijalarigato: we can have different strategies for small and large arrays12:43
fijalfor example if array does not fit in the cache, it's crucial that we do fetch it only once12:44
azanella (~azanella@189.6.80.131) joined #pypy.12:44
fijalif the array is really small, we might want to reduce boilerplate, because temporaries are not expensive12:44
fijaltumbleweed: just display more mandelbrot each time you get a piece of make output and make sure it's not buffered?12:45
fijalarigato: would you mind if I improve check_simple_loop (a rhetorical question)12:45
tumbleweedyes, I just thought of that, too. That's upstreamable12:45
arigatotumbleweed: add "def f(): while 1: print "x"; sleep(60)"  "start_new_thread(f, ())"12:46
tumbleweedarigato: I'd rather not capture the output, it doesn't seem very useful12:46
tumbleweedbut the question I asked was, why the fork in runsubprocess?12:46
arigatofijal: please do12:47
fijaltumbleweed: I answered above, to not explode on lack of virtual memory on fork() and exec()12:47
tumbleweedoh, right12:47
arigatotumbleweed: it's documented in the first 3 lines of the source, too12:47
tumbleweedyeah, when I read that, I thought tthat was referring to the forking earlier rather than later, rather than the forrk implicit in Popen12:48
nedbat (~nedbat@python/psf/nedbat) joined #pypy.12:55
fox_ (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.13:02
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer13:02
azanella (~azanella@189.6.80.131) left irc: Ping timeout: 252 seconds13:07
DasIch_ (~DasIch@p4FFDE521.dip.t-dialin.net) joined #pypy.13:08
DasIch (~DasIch@p4FFDF331.dip.t-dialin.net) left irc: Ping timeout: 244 seconds13:10
Nick change: DasIch_ -> DasIch13:10
fijalarigato: for one I would like to introduce a file size limit at some point13:11
fijalwe have multiple >1000LOC files13:11
arigato:-)13:12
arigatomakes sense13:12
fijallike say there is no real reason why history.py contains all the stats things13:12
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy.13:20
fijalarigato: blog post btw?13:21
arigatoyes13:22
arigatoabout to go13:22
arigatodone13:22
fijalcool :)13:23
Action: arigato -> walk13:28
arigato (~arigo@adsl-89-217-33-163.adslplus.ch) left irc: Quit: See you13:28
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) joined #pypy.13:29
h0l0gr4ph1c (~Edmund@ppp118-209-252-72.lns20.mel6.internode.on.net) left irc: Quit: Leaving13:29
H0l0gr4ph1c (~Edmund@ppp118-209-252-72.lns20.mel6.internode.on.net) joined #pypy.13:30
tumbleweedI've got as far as working out that the mandelbrots are driven by the log, but I can't see how one triggers a mandelbrot dot. Hints?13:31
fijalsomething.dot()13:31
tumbleweedI don't see anyone doing that except ansi_print13:31
timotimobtw, is there an argument to translate.py that increases the mandelbrot speed?13:32
tumbleweedI assume I don't want to initalise a new mandlelbrot driver just for runsubprocess13:32
tumbleweedoh, log.dot13:32
tumbleweedduh13:32
tumbleweedmind if I commit this, then? http://paste.pocoo.org/show/534681/13:39
tumbleweedwhat's the general review process? Commit small things, stage larger things in branches for review?13:41
timotimoalmost everything is done in branches, but i would say such a small and obviously correct (hahahahahahaha) thing could be committed directly after review13:42
timotimo(i'm not actually a pypy dev)13:42
fijaltumbleweed: I do mind13:42
fijalthis is nonsense13:42
fijaltumbleweed: there is no point in drawing dots just because time passes13:42
fijalyou can still draw dots each time you receive stuff from make13:43
fijaltumbleweed: in general controversial changes (like introducing threads) should go into a branch :)13:43
fijalfor example starting a thread would slow down pypy by a small bit (did you know that?)13:43
tumbleweedfijal: heh13:43
fijalalso, it's ugly13:44
fijallike, does it behave correctly with C-c now?13:44
fijalor just breaks?13:44
tumbleweedfijal: that's harder to do, because the current protocol is repr() each way13:44
fijalor continues printing dots?13:44
tumbleweedsure, of course threads have overhead13:45
fijalno13:45
fijalthreads have overhead on *other threads*13:46
tumbleweeddue to GIL13:46
fijaldue to less good assembler13:46
fijalanyway, I do mind :)13:46
tumbleweedwhich is why I asked13:46
fijaland the usual process is either a branch or a review on paste.pocoo.org if you can get someone to look right now13:46
Action: tumbleweed goes for the non-trhead approach, with a fancier protocol13:47
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 276 seconds13:48
Rhyolitefijal: ping13:54
fox_ (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer13:54
fijalRhyolite: pongish13:54
Rhyolitein trace logs, where does pypy print the "p" versus "i", etc.?13:55
Rhyolitewhat code is choosing that letter based on the type of variable?13:55
fijal'13:55
fijalkind of box13:55
timotimopointer vs integer?13:56
fijal''p' is PtrBox, 'i' is IntBox, 'f' is FloatBox13:56
Rhyoliteso it's in the class for PtrBox, etc how it is displayed?13:56
RhyoliteI am trying to understand the assertion failure in RegisterManager::__check_invariants() for the PPC backend13:57
Rhyoliteand understand more about regalloc to track down where a register is being allocated13:58
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.13:58
fijalok13:58
fijalso I can explain to you what the assertion means, but it has nothing to do with 'p' and 'i'13:58
fijalit's about computing longevity13:58
Rhyolitethe assertion always is failing on op setarrayitem_gc13:58
fijalcan you paste the entire traceback?13:58
RhyoliteI can, but there are only two instructions that matter13:59
RhyoliteIt fails on13:59
Rhyolite       setarrayitem_gc(Const(* GCREF hidden), Const(0), i16,13:59
Rhyolitedescr=<pypy.jit.backend.llsupport.descr.ArrayDescr object at13:59
Rhyolite0x117f86d0>)13:59
Rhyoliteand the failure is about the longevity of a variable that does not exist in the function14:00
Rhyolitebut would be the next PtrBox variable in the sequence14:00
RhyoliteIn other words, the last instructions are14:00
Rhyolitep26 = guard_exception(...)14:00
Rhyolitefinish()14:00
Rhyoliteand the longevity failure is for p2714:00
Rhyolitebut at the position of setarrayitem_gc14:01
RhyoliteThe longevity is (15,15)14:02
Rhyolitewhere 15 is setarryitem_gc14:02
fijal(15, 15)14:02
fijalthat sounds bogus14:02
Rhyoliteright14:02
Rhyolitethe whole thing is bogus14:02
fijalcan you look at the longevity computation and see if it's right?14:02
Rhyolitebut force_allocate_reg looks like it will create a variable sort of like that14:03
Rhyolite        if isinstance(v, TempBox):14:03
Rhyolite            self.longevity[v] = (self.position, self.position)14:03
kenaan12fijal numpypy-axisops 1154af8d89c99e 15/pypy/: kill some dead code14:04
kenaan12fijal numpypy-axisops 1116b16c97b7c1 15/pypy/module/micronumpy/: a test and a fix14:04
fijalcan I have a traceback?14:05
kenaan12fijal numpypy-axisops 119478a09d1230 15/pypy/module/micronumpy/test/test_zjit.py: add a note14:05
fijalI'm still left in the blue as it to what actually explodes14:06
fijaljust paste it no paste.pocoo.org14:07
fijalmikefc: ping?14:08
Rhyolitehttp://paste.pocoo.org/show/534689/14:10
kenaan12fijal default 115c19878c1ef9 15/pypy/: (mattip, fijal) merge numpypy-axisops, this adds axis=x argument to reduce functions.14:10
kenaan12fijal numpypy-axisops 11b5b4522440a5 15/: close merged branch14:10
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 255 seconds14:10
fijalRhyolite: you forgot to call possibly_free_var(tmpbox)?14:11
fijalRhyolite: this is not a traceback btw, at least not full14:11
fijalit's above the stdout/stderr crap :/14:11
fijaldon't ask me why14:11
RhyoliteI was looking for a missing possibly_free_var14:11
fijalmattip: merged14:12
Rhyoliteand I'm trying to figure out what and where14:12
fijalppc-backend branch?14:12
fijalyou should merge default one day14:12
Rhyolitefijal: sven and david have been merging from trunk14:13
Rhyoliteit's fairly recent14:13
Rhyolitehttp://paste.pocoo.org/show/534690/14:13
Rhyoliteppc-jit-backend branch14:13
fijalwhat is _ensure_value_is_boxed doing?14:14
fijalmake_sure_var_in_reg already does that14:14
fijalat least used to :/14:15
fijalthere used to be imm_fine argument14:15
Rhyolitehmm, yes, interesting14:16
Rhyoliteprepare_setarryitem_gc seems to be the only one throwing aware those boxes14:16
Rhyolitesetting them to _14:16
Rhyolitefor whatever reason the PPC backend is different from the ARM backend14:17
Rhyoliteand __ensure_value_is_boxed returns both the unboxed and boxed values14:17
fijalit got killed at some time14:18
fijalanyway14:19
fijalit clearly misses freeing of those boxes14:19
nettok (~quassel@190.148.241.226) joined #pypy.14:19
DasIch (~DasIch@p4FFDE521.dip.t-dialin.net) left irc: Quit: DasIch14:19
fijalbut that's ugly interface, I want mine imm_fine argument back :/14:19
fijalit's a bad name as well14:19
fijalit actually makes sure value is in the register14:19
fijaland not that it is boxed14:19
Rhyolitebut, yeah, that appears to be the problem14:20
Rhyoliteif I explicitly free those boxes, then life is good14:20
Rhyolitethanks for helping track that down14:20
fijalRhyolite: not quite14:20
fijalnote that there is nothing stopping ofsloc from replacing baseloc14:20
fijalfor example14:20
fijalbecause baseloc is not in forbidden vars to the next call14:20
RhyoliteI'm not saying that there aren't other problems14:21
Rhyoliteand the problem you point out also is a bug in the ARM backend14:21
fijala0, a1, a2 = list(op.getarglist())14:22
lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy.14:22
fijalthis is probably not rpython14:22
fijaland list is completely redundant here14:22
fijalwell ok14:22
fijalyou asked me to look at the code and I'm looking :)14:22
Rhyolite:-)14:22
fijalRhyolite: you need to control all the variables you want to not be moved around14:22
fijalin forbidden_vars14:22
Rhyoliteyep14:22
k_bx (~k_bx@unstuck-evidence.volia.net) joined #pypy.14:22
fijalwell14:23
fijalit's a mess14:23
RhyoliteI'm playing ignorant at the moment :-)14:23
fijalbecause you always pass args14:23
fijalok14:23
RhyoliteI'll include this in the report to David and Sven14:23
fijalso14:23
RhyoliteI'm still learning this stuff -- I'm only debugging it, I didn't write it14:23
fijalprobably forbidden_vars should explicitly check if you don't pass consts there14:23
fijalbecause registers are only allocated to boxes14:24
fijalRhyolite: well, the regalloc interface is very ugly and hard to get right14:24
fijalbut we never came up with a better one :/14:24
Rhyolitefijal: David, Sven and I all are learning14:24
RhyoliteI'm sure that there are a lot of mistakes lurking14:25
Rhyolite:-/14:25
fijalI wouldn't mind if someone writes a better regalloc in the process of learning14:25
fijalbetter = with a better interface14:25
fijalnot necesarilly with a better performance14:25
fijalalthough that would be nice as well14:25
kenaan12fijal extradoc 11e383a2a0d80b 15/planning/micronumpy.txt: done14:26
lucianinteresting post on the blog14:28
fijalRhyolite: anyway, surf break14:28
Rhyolitecool14:29
Rhyolitehave fun!14:29
Rhyolitethanks again14:29
whyking (~quassel@p4FFB6B65.dip.t-dialin.net) joined #pypy.14:29
fijalRhyolite: no problem, I was serious when I said I would welcome a better API :)14:30
RhyoliteI'll get right on that!14:30
asmeurer_ (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) joined #pypy.14:31
lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Quit: Leaving14:31
fijalmaybe a with statement?14:32
fijalsomething like with (a, b, c) as (reg, reg, ecx):14:34
kenaan12edelsohn ppc-jit-backend 11f657ede0f621 15/pypy/jit/backend/ppc/ppcgen/regalloc.py: possibly free boxes returned by ensure_value_is_boxed.14:41
arigato (~arigo@adsl-89-217-33-163.adslplus.ch) joined #pypy.14:45
k_bx (~k_bx@unstuck-evidence.volia.net) left irc: Ping timeout: 248 seconds14:47
arigato"Evaluation of the PyPy Project; Past, Present and the Future"14:47
arigatoanother random paper about pypy14:47
Da_Blitzhi arigato14:48
Da_Blitzintresting blog post14:48
arigatohi14:48
arigato:-)14:48
DasIch (~DasIch@p4FFDE521.dip.t-dialin.net) joined #pypy.14:49
Da_Blitzin regards to the post when you said stackless i assume the underlying primitive is still _continuation?14:50
Da_Blitzie there isnt going to be a fork of the stackless code that does what you propose, but that becuase it uses the continuation code it gains this automatically?14:50
arigatoI haven't thought about it to this extent so far14:53
arigatoin the blog post when I said "stackless" I meant any existing program using stackless, but the same is true for greenlets and _continuation14:53
Da_Blitzso this would be another new primitive and not an extension of continuations then?14:54
arigatopypy's stackless.py will likely gain it automatically from _continuations, but I'm not sure yet14:54
arigatothe point is that in any case you don't need to change the source of any program using stackless or _continuations, but just the stackless or _continuation "event dispatcher"14:55
arigatoit's possible too that _continuation is not exactly the right level, and stackless is better14:56
Da_Blitzbut i assume the goal is to introduce somthing like erlangs processes only more low level14:58
arigatoI don't know enough about Erlang to answer this, but the goal is really to not change the stackless (or other) API one bit15:02
arigatoexcept the following change:15:02
arigatodrop the requirement that tasklets run in some precise order15:03
arigatoand instead say that if several tasklets are ready to run,15:03
arigatoan apparently random order will be picked15:03
tumbleweedfijal: so, better approach? : http://paste.pocoo.org/show/534704/ (I wish subprocess had something inbetween .communicate() and dealing with fds directly)15:06
Da_Blitzthanks for the info15:06
arigatotumbleweed: can you explain what you are trying to achieve?15:08
arigato(again, sorry)15:08
arigatoI don't get why printing dots in the subprocess is not enough, i.e. why you need to change runsubprocess.py at all15:10
arigatocan't you just adjust Debian's timeout?15:10
arigatoor is the problem occurring when we call "make" at the end of translation?15:11
tumbleweedarigato: I can adjust the timeout, but then we lose it's value15:11
tumbleweedI've already seen pypy's tests deadlock15:12
tumbleweed(err, at least, I *think* I can adjust the timeout)15:12
tumbleweedyes, the problem is occuring during make15:12
tumbleweedhttps://buildd.debian.org/status/package.php?p=pypy&suite=experimental15:12
arigatothen it's completely unrelated to runsubprocess.py15:12
tumbleweedmake is called with runsubprocess15:13
arigatook, I see15:14
tumbleweedanyway, that patch had a bug, round 2: http://paste.pocoo.org/show/534711/15:16
arigatoI would prefer a smaller hack, like call "make | tee /dev/stderr" and capture only stderr15:21
tumbleweedthat does make things simpler15:21
tumbleweedbut also changes runsubprocess' API15:22
fijalarigato: can you give me the random paper?15:22
arigatofijal: it's the first result on googling its name, but I cannot copy the exact url to you :-(15:22
fijalhahaha15:22
fijalok15:22
arigatogoogle is too clever15:22
H0l0gr4ph1c (~Edmund@ppp118-209-252-72.lns20.mel6.internode.on.net) left irc: Quit: Leaving15:23
arigatotumbleweed: just add an optional keyword argument to "def run_subprocess()"15:23
arigatotumbleweed: ah, a different approach15:24
arigatoyou can run "translate.py --source"15:24
tumbleweedhah15:24
arigatoand then you cd to where the source was created and do "make"15:24
arigatoor "make -j" or whatever is the standard on debian15:24
tumbleweedyes, I'll take that, thanks15:24
arigatoyou can force the directory in which to put the source code, too15:25
arigatosee the comments at the start of pypy/tool/udir.py15:25
fijalmikefc: ping15:31
fijalmikefc_: ping15:31
fijalRhyolite: back, just in case15:34
kenaan12arigo pypy.org[extradoc] 1107305742afe8 15/: Update the status of stackless.15:35
Action: arigato tries to think about "concurrentgen", the concurrent-marksweep gc15:41
fijalarigato: want me to think with you or not so much?15:41
arigatoyes :-)15:41
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy.15:41
arigatoso far it works nicely, but it allocates every object with the system malloc(), with a header that contains a "next" pointer15:42
arigatothis is likely what a huge performance impact15:42
arigatoI would like a custom allocation method like minimarkpage.py15:43
arigatothe problem is how to replace "next"15:43
arigatothere are mainly two different linked lists15:43
arigatothe list of new objects, and the list of old objects15:44
arigatoin a minor collection, the collector thread needs to walk the new object's list15:44
arigatoto "sweep" away (i.e. free) the unused new objects15:44
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) joined #pypy.15:45
arigatoif we replace this with a custom allocation method15:45
fijalarigato: I *think* we still need a nursery15:45
arigatothen we'll have "pages" containing objects, both old and new15:45
fijalI know this is a bit orthogonal :)15:46
arigatowell so far I'm happy that it's a non-moving collector15:46
fijalok15:46
fijalwell, I'm also happy, but it does seem nursery is crucial for performance15:46
arigatoyes and no15:46
Action: fijal is listening15:46
arigato"maybe"15:46
arigatoit depends if we can also make allocation take just a few asm instructions, which I think we can15:47
arigatojust fetching the next free slot in a linked list should not be more than a few asm instructions15:47
fijalah15:48
arigatothe point of having a nursery is that it makes freeing incredibly fast15:48
fijalif you have a good concurrent GC, you generally avoid too large overhead memory-wise right?15:48
fijalbecause the amount of objects that are not alive and still in memory is small right?15:49
arigatobut in this case, freeing would be done by the other thread, so it should also be incredibly fast from the point of view of the main thread15:49
arigatofijal: this is an issue orthogonal to concurrency15:49
fijalis it?15:50
arigatoI think so15:50
fijalwell, in a single threaded gc you have a tradeoff15:50
fijalbecause you have to pause each time you want to collect15:50
fijalso if you have a threshold at say 1.3, you'll have at most 30% of unusued memory15:50
fijalbut 1.5 would be faster (maybe)15:50
fijalwhile in concurrent one you keep it close to 115:51
fijalno?15:51
arigatotrue, but there is still a tradeoff: you can't start a collection all the time, otherwise you spend all the time in tracing stack roots or some other non-concurrent setup phase15:51
fijalright15:51
arigatoanyway the model I implemented so far is documented in concurrentgen.txt15:51
fijalI have another (orthogonal) question which helps me understand the problem :)15:52
arigatonow I'm trying to think how we can improve on the allocation15:52
arigatosure :-)15:52
fijalwhat's wrong with having minimark with a concurrent thread that collects nursery all the time15:52
fijal?15:52
arigatoyou can't start a collection all the time, otherwise you spend all the time in tracing stack roots or some other non-concurrent setup phase15:53
fijalright, so not all the time15:53
fijalbut say when it's half-full or so15:53
arigatoyes, maybe15:53
arigatobut note that there is a hard point15:53
fijalthe point being that by far the most time it's spent in the gc is trace_and_drag_out_of_nursery15:53
arigatoin a moving collector, it's much harder to write a concurrent version15:54
fijaland this is our problem right now - creating large collections takes forever15:54
fijalah ok :)15:54
fijalbecause freeing mean you actually have to make sure someone does not just overwrite it?15:54
fijalor read it or something15:54
arigatono15:54
arigatobecause trace_and_drag_out_of_nursery makes a copy of the object15:55
arigatoso, when do you stop using the original and start using the copy from the main thread?15:55
fijalright15:55
fijalwell, there is a very boring approach that probably already gives some speedups15:55
arigato(it's a hard problem, but it has been solved too)15:55
fijalhave a stop-the-world that spawns multiple threads15:55
fijalgains unclear15:56
arigatoI'm not entirely sure it helps a lot15:56
fijalit does not address the basic problem - gc pauses15:56
fijalthey're still pretty much unbound15:56
arigatoI don't care that much about gc pauses15:56
fijalok?15:57
arigatothat's not the basic motivation for concurrent-marksweep15:57
arigatothe motivation is to improve pypy speed by 10% if you run it on an idle multi-CPU machine15:58
arigato(boringly)15:58
fijal:)15:59
fijalI would not say "you would be better off if you work on X..."16:00
fijalbecause I don't know X :)16:00
fijalwell, I do know X for a few examples, but that's about it16:00
fijalI know how to speed up translate.py by unknown %16:01
fijaltwo things :)16:01
dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) left irc: Quit: Leaving16:01
fijalarigato: anyway, I think it's worth checking what sort of speedups you get if you split trace_and_drag_out_of_nursery for X threads16:03
fijalI agree it's not as cool as doing the full concurrent GC though :)16:03
arigato:-)16:04
arigato(also, the fact that it's non-moving may allow other performance tweaks here and there)16:04
fijalyes, of course16:04
mattip (~chatzilla@bzq-79-180-120-174.red.bezeqint.net) joined #pypy.16:06
Action: mattip took a break to get my meds in order, feeling much more placid now.16:07
fijalmattip: hey16:07
mattipfijal: yeah!16:07
Rhyolitefijal: that was fast.  your new home is closer to the beach?16:07
fijalRhyolite: no, just waves were crap16:08
fijalmattip: thanks :)16:08
fijalmattip: you can see what important test we missed btw16:08
mattipmultiply.16:08
fijalyeah16:08
fijalsomething that has identity != 016:08
mattipstrange, I would have thought the mean() test also would have failed16:09
fijalmean has no identity right?16:10
Rhyolitefijal: BTW, this is the next error: http://paste.pocoo.org/show/534732/16:10
fijalRhyolite: well16:10
fijalI told you where the regalloc is broken :)16:11
mattipmean uses sum, view, and promote16:11
fijalgo and fix all the things like this16:11
fijalmattip: non of it uses identity != 016:11
mattipsorry, I got confused: 0 is not None.16:11
DasIch (~DasIch@p4FFDE521.dip.t-dialin.net) left irc: Quit: DasIch16:12
mattipanyhow, milestone.16:12
mattipIs there still a problem with reshape () ?16:13
fijaljest, something else than 0 or None :)16:14
fijalmattip: yes, if you unskip the end of the test you'll see the problem16:14
fijalmattip: feel like tackling this?16:14
mattipOK.16:14
fijalmattip: thanks for your work btw16:18
kenaan12bivab arm-backend-2 11bb83f459ff90 15/pypy/jit/backend/arm/assembler.py: Implement case of moving a const float to the stack16:19
kenaan12bivab arm-backend-2 1144a83931f5cb 15/pypy/jit/backend/arm/locations.py: implement as_key method for const float locations required for using const floats in jumps16:19
kenaan12bivab arm-backend-2 118ff3eb80d78e 15/pypy/jit/backend/arm/regalloc.py: remove a call that was done twice16:19
kenaan12bivab arm-backend-2 11483ce484be66 15/pypy/jit/backend/arm/: as pointed out by David Edelsohn and Maciej, get rid of redundant calls to list when accessing the list of in...16:19
pedronis (~pedronis@73-53.195-178.cust.bluewin.ch) left irc: Ping timeout: 255 seconds16:20
mattipnp. nuf said.16:20
nedbat (~nedbat@python/psf/nedbat) joined #pypy.16:22
pedronis (~pedronis@73-53.195-178.cust.bluewin.ch) joined #pypy.16:24
antocuni (~antocuni@host157-123-dynamic.2-87-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds16:32
Rhyolite (~dje@pool-108-6-25-71.nycmny.fios.verizon.net) left irc: Quit: Leaving16:33
Rhyolite (~dje@pool-108-6-25-71.nycmny.fios.verizon.net) joined #pypy.16:34
arigatofijal: the problem I was trying to solve above is: you have a mixture of old and young objects in the same page,16:39
arigatoand every object has a flag that tells you its age16:39
arigatobut you want to avoid reading all object's flags just to know16:39
arigatoI think there are more or less clever solutions to this problem16:40
arigatoon the "more" side, you might add a 32-bit bloom filter for every page16:40
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer16:45
tellone (~tellone@h55eb1cd7.selukra.dyn.perspektivbredband.net) left irc: Read error: Operation timed out16:45
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.16:49
bfirsh (u1308@gateway/web/irccloud.com/x-bimfhxsmopzfjqbz) joined #pypy.16:52
cocoatomo (cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) left #pypy ("Leaving...").16:52
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.16:59
Rhyolitearigato: ping17:04
arigatopong17:05
RhyoliteInteresting blog post update about TM17:05
arigato:-)17:05
exarkunkjjj~.17:05
Rhyoliterelating TM to some of the benefits of functional languages17:05
arigatoyes, that's one point of view indeed17:06
Rhyolitemaybe TM in a non-functional language is a good trade-off17:06
arigatoI think it is, probably17:06
Rhyoliteare you aware of the problem that functional languages expose?17:06
arigatono?17:07
Rhyolitethe problem with functional languages is that they convert the problem to a scheduling problem17:07
arigatoi.e. have random dispatch order?17:07
RhyoliteI'm not sure if that encompasses the problem17:08
Rhyolitewith functional languages, there eventually is some dependency order17:09
Rhyoliteand one has converted the explicit concurrency17:09
Rhyoliteto an unlimited number of threads17:09
Rhyolitethat must be scheduled in an ideal order17:09
Rhyoliteto truly achieve the scalability17:09
arigatodo you have some links to more information?17:11
RhyoliteI'm not sure where this was written down17:12
RhyoliteI heard it directly from Arvind :-)17:12
arigatoI've a hard time to understand it17:12
Rhyolitemaybe we should schedule a discussion about the TM stuff with IBM and I can have you talk with the functional language people as well17:16
Rhyolitebut basically, the lack of side effects makes functional languages easier to parallelize17:17
Rhyolitehowever, unless the algorithm is trivially parallelizable17:17
Rhyolitethere ultimately is a dependency order for the threads / actors / whatever17:17
Rhyoliteand creating the optimal schedule for those actors becomes the new problem17:18
Rhyoliteas the number of actors scales for high concurrency17:18
arigatoI'm not sure what you mean by "schedule" there17:19
Rhyolitethreads / actors / whatever must be queued on the limited number of computational elements of the system17:20
arigatoin the model I have in mind, when a transaction is scheduled to run, it can run at any time: it won't get blocked by not having some data computed only later by someone else17:21
Rhyolitewhat happens if the data is not ready?17:21
arigatoso I don't quite see how scheduling can be more or less optimal17:21
Rhyoliteyou say it won't get blocked17:21
Rhyolitethe transaction fails and runs again until the data is ready?17:22
arigatono17:22
arigatothe fact that the transaction is present on the queue means that it can run successfully17:22
Rhyoliteright17:22
Rhyolitebut what if there are more transactions to run than processors?17:22
arigatothen you pick randomly N transactions, or pick the N oldest, or anything17:23
arigatocan this create a scheduling problem?  I don't see how17:23
Rhyoliteokay, but what if some of the transactions conflict?17:23
Rhyoliteyes, TM will catch it17:24
Rhyolitebut one could have chosen a more optimal list of transactions to run first17:24
Rhyolitethat would be more efficient17:24
arigatotrue17:24
Rhyoliteand produce higher performance17:24
Rhyoliteand if one picks the worst choice17:24
Rhyolitefor the most conflicts17:24
Rhyolitethen one can have worse performance than explicit locks17:24
Rhyolitethat is what I mean by scheduling problem17:24
arigatofrom that point of view, we have no control at all17:25
Rhyoliteit shifts the locking problem to a scheduling problem17:25
Rhyolitewhy don't you have control?17:25
Rhyoliteor why shouldn't you have control?17:25
arigatoI mean, no automatic control17:25
arigatoindeed you can think of ways to add explicit control17:25
Rhyoliteand there you have your problem17:26
arigatoyes, I see17:26
Rhyoliteas the number of transactions increase17:26
Rhyolitethe scheduling problem becomes harder and harder17:26
Rhyoliteand random or LRU or whatever may become worse and worse17:26
arigatoI still think of it as a special case, but maybe I'm wrong17:26
arigatoe.g. in the translation toolchain of PyPy I kind of think that automatic orders would work fine17:27
Rhyolitethe question is whether functional programming makes the high concurrency case easier17:27
Rhyolitefor low concurrency with infrequent conflict, why both with function programming or TM?17:27
RhyoliteTM will introduce more overhead17:27
arigatono, it's not exactly that: the question I'm trying to answer is whether it makes it easier to avoid bugs17:27
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 276 seconds17:28
Rhyoliteokay17:28
arigatosolving the scheduling problem efficiently in a particular case might be hard17:28
arigatobut you are always working with a bug-free model17:28
Rhyolitebut avoiding bugs is related to easier to program17:28
Rhyolitethink about the limiting cases17:29
arigatoit's related, but not the same thing17:29
RhyoliteI have one thread17:29
RhyoliteI can write in TM17:29
Rhyolitebut there never will be any conflict17:29
`fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds17:29
Rhyolitemy single-threaded program is bug free17:29
Rhyolitewith or without TM17:29
Rhyolite(for that class of bugs)17:30
Rhyolitethen 2 threads17:30
mattip (~chatzilla@bzq-79-180-120-174.red.bezeqint.net) left irc: Ping timeout: 268 seconds17:30
Rhyoliteis writing in TM really easier to create bug-free, concurrent application in that case?17:30
arigatothen the same program is just as bug-free17:30
arigatobut not necessarily conflict-minimal17:31
RhyoliteTM might be easier for the middle range17:31
Rhyolitebut for high concurrency17:31
Rhyoliteone has to include bugs in the TM implementation as well17:31
Rhyoliteand the scheduling implementation17:31
Rhyoliteetc.17:31
arigatothese don't count17:31
arigatoI know that such bugs exist of course17:31
arigatobut these don't count here17:31
Rhyoliteokay, you're defining away the problem17:31
arigatoa TM implementation is done once, and may be hard, whereas the vast majority of programs written are just *using* the TM implementation17:32
mattip (~chatzilla@bzq-79-181-110-252.red.bezeqint.net) joined #pypy.17:32
RhyoliteI think this is where we disagree17:32
arigatoyes, in some way I'm indeed defining away the problem17:33
Rhyolitethat a TM implementation is done once17:33
Rhyolitea good-enough TM implementation for the mid-range is not the same as a TM implementation for very high concurrency17:33
arigatoreplace "once" with "10 times" if you prefer17:33
arigatoit doesn't change the argument above17:34
RhyoliteI think you are assuming that when the system is stressed, no new problems will be uncovered17:34
arigatono, of course such problems will be discovered17:34
arigatoand fixed, and maybe new ones will show up, etc.17:34
arigatobut that's the same with, say, any GC17:34
Rhyoliteand that there exists a solution for some of the problems17:35
RhyoliteI'm not trying to be argumentative17:35
arigatoah, indeed, we can't be 100% sure of that in advance17:35
RhyoliteI agree with your conclusion for your set of premises17:35
RhyoliteBut I think your premises are overly limited17:35
RhyoliteI'll see if I can find a reference to this problem with functional languages17:36
arigatoI'm basing all my argument over the work required for the end programmer, completely ignoring the work required for "us"17:39
RhyoliteYes17:40
Rhyolitebut if one encounters another wall due to scheduling17:40
Rhyolitethen the end programmer may have to get involved17:40
Rhyoliteto provide hints for scheduling17:40
Rhyolitepotentially introducing errors17:41
Rhyoliteit can be the same problem17:41
Rhyolitein other words, an end programmer can introduce many explicit synchonization barriers17:41
Rhyolitetoo many17:41
Rhyoliteand the program will be correct, but very slow17:41
Rhyolitethe errors in concurrency are due to incorrect use and application of the synchronization barriers17:42
Rhyolitesimilarly, the programmer can do nothing17:42
Rhyoliteand encounter horrible scheduling of the transaction17:42
Rhyolitethe program will be correct, but very slow17:43
Rhyolitethen the end programmer can try to improve the scheduling17:43
Rhyoliteand potentially introduce bugs17:43
arigatothat's what I don't get17:43
arigatothese barriers should not let the programmer misuse them to the point of introducing bugs17:43
Rhyoliteokay, but then the programmer may not be able to achieve optimal performance equivalent to explicit barriers17:44
arigatoyes, I agree17:44
nedbat (~nedbat@python/psf/nedbat) joined #pypy.17:44
arigatoin the same way, the programmer might get more performance from using explicit memory allocation, but can't in Python17:44
arigatomaybe the comparison doesn't scale17:45
arigatoand what the programmer will be missing would give him very important gains17:45
arigatobut I'm unsure17:45
arigatoas long as the programmer can freely influence which N transactions to run next, he can theoretically pick the optimal order17:46
arigatowithout being able to add bugs17:46
Action: arigato -> dinner17:47
Rhyoliteokay17:47
Rhyolitebon apetite17:47
mattip (~chatzilla@bzq-79-181-110-252.red.bezeqint.net) left irc: Ping timeout: 276 seconds17:47
mattip (~chatzilla@bzq-79-183-112-243.red.bezeqint.net) joined #pypy.18:01
antocuni (~antocuni@host157-123-dynamic.2-87-r.retail.telecomitalia.it) joined #pypy.18:02
Dulak (~michael@unaffiliated/dulak) left irc: Quit: Leaving18:04
Dulak (~michael@unaffiliated/dulak) joined #pypy.18:04
Action: fijal back18:11
tumbleweedlooks like we have some endian issues on s390 https://buildd.debian.org/status/fetch.php?pkg=pypy&arch=s390&ver=1.7%2Bdfsg-2&stamp=132650957618:18
fijaltumbleweed: pypy won't work on s39018:22
fijalit's unsupported18:22
tumbleweedthere's a difference between unsupported and won't work18:22
tumbleweedlooks like it's mostly working18:22
tumbleweedI'll do what I can for most of the ports. S390 should be particularly easy, because it's crazy fast18:23
fijalwell, what I'm saying is that unsupported means that if you fix it today, we won't promise not to break it some other day18:24
fijalgiven how fast pypy is developed18:24
tumbleweedsure, I suspect very very few upstreams test on s39018:25
tumbleweedbut we still have a pretty good port18:25
arigatoas long as pypy-without-jit is seriously slower than cpython, it's a bit pointless18:31
arigatoimho18:32
fijalarigato: would a bloom filter make sense for dicts?18:32
tumbleweedyeah, but the port maintainers see it differently. Chances are I'll starte getting patches from them18:32
fijalbecause right now a large dict updating is particularly bad in pypy18:32
arigatofijal: which operation exactly?18:32
tumbleweedwe have jit-less java on a bunch of archs, too...18:33
fijalarigato: setitem on large dict18:33
fijalif you do it in a loop, it invalidates a lot of pages18:33
fijalso the entire card marking is not quite working18:33
arigatoah, I see18:34
Alex_Gaynorfijal: how would a bloom filter help?18:34
arigatoa bloom filter that means "this entry was updated, scan it"18:34
arigatoI don't know if it's really better than lowering the card page size18:35
Alex_Gaynorcan we lower it just for dicts easily?18:35
timotimofijal: could http://buildbot.pypy.org/summary/longrepr?testname=AppTestUnicodeFormat.%28%29.test_oldstyle_custom_format&builder=own-linux-x86-32&build=1920&mod=objspace.std.test.test_newformat happen because pypy.rlib.rstring.StringBuilder doesn't have its own implementation of unicode_w?18:35
Action: arigato looks18:36
fijalarigato: I'm telling you for like 50th time and I haven't done much, but I would experiment with card marking for everything one day18:36
fijalit's "hard" though18:36
arigato:-)18:37
fijalthis is what JVM does18:37
fijalon the other hand JVM was proven to really suck on things that we suck as well18:37
fijaltimotimo: you're messing up layers18:37
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds18:38
timotimofijal:  https://chzscience.files.wordpress.com/2011/11/funny-science-news-experiments-memes-dog-science-fuzzy-logic.jpg18:39
arigato (~arigo@adsl-89-217-33-163.adslplus.ch) left irc: Read error: Connection reset by peer18:40
fijal:)18:40
fijaltimotimo: ok ok18:40
fijaltimotimo: this means that some casting went wrong18:40
fijalbut casting happens between W_StringObject, W_UnicodeObject and whatever W_StringBuffer or however it is named18:40
timotimofijal: somehow i get the impression, that i'm still responsible for fixing this? :)18:47
fijalhahaha :)18:51
fijalI can probably help though18:51
nanonyme (nanonyme@unaffiliated/nanonyme) joined #pypy.18:53
Rhyolitefijal: Is there wifi or good 3G coverage at the beaches?18:53
fijal3G yes18:53
fijalwifi not so much18:53
fijalinternet is expensive here :/18:54
fijalwhy?18:54
Rhyolitewondering why you're hacking on PyPy at home instead of at the beach18:54
nanonymeUff, build broke on Windows, apparently. :(18:54
fijalRhyolite: bright sun18:54
Rhyolitebring an umbrella18:54
nanonymeOh, wait. Maybe I'm just reading branches wrong. :)18:54
nanonymeRight, there we go.18:55
Rhyolitefijal: I'm just complaining because it's -1C and windy outside18:55
arigato (~arigo@adsl-89-217-194-207.adslplus.ch) joined #pypy.18:57
arigatoAlex_Gaynor: it looks doable, given some reasonable amount of mess18:57
timotimofijal: some day there will be thinkpads with PixelQI or some other transflective screen technology, or maybe mirasol18:57
Alex_Gaynorarigato: a new hint to lltype.malloc perhaps18:57
arigatoor it might be easier if it's a flag attached to the type18:58
arigatofijal: Bloom filter: http://paste.pocoo.org/show/534823/18:59
arigatoeither way it's a small amount of mess19:00
fijalAlex_Gaynor: hey alex, I merged the numpy-axisops19:01
Alex_Gaynorfijal: cool, i'm technically afk this weekend :)19:01
fijalok :)19:01
xcombelle (~xcombelle@AToulouse-551-1-40-156.w90-11.abo.wanadoo.fr) joined #pypy.19:03
fijalAlex_Gaynor: https://bitbucket.org/fijal/hack2/src/default/numready19:04
fijalwe can put it online in some version somewhere19:04
tumbleweedreview? can't see any reasonable objection to this: http://paste.pocoo.org/show/534827/19:05
Alex_Gaynorfijal: why make it a flask app, just make it spit out some static html19:05
fijalAlex_Gaynor: no reason really19:06
fijalbecause you would need to update it nightly anyway I guess?19:06
arigato:-)19:06
fijalbut yes, I can just run a cron script19:06
Alex_Gaynor:)19:06
fijalor put it in a buildbot19:06
fijalAlex_Gaynor: easier to test ;-)19:06
fijalmaybe not19:07
fijaldunno, really19:07
fijaltumbleweed: lgtm?19:07
arigatotumbleweed: can you try to run it on a big-endian machine with CPython?19:07
kenaan12stefanor default 11c6a06cbab53d 15/pypy/module/_codecs/test/test_codecs.py: Big endian test case for test_utf_16_encode_decode19:07
tumbleweedarigato: I did19:07
arigatotumbleweed: ok, then fine :-)19:08
arigatoI mean, run the test to check CPython's implementation19:08
arigatoi.e. "python test_all.py module/_codecs/test/ -A"19:09
arigatoor just copy-paste the lines in a CPython prompt19:09
tumbleweedyeah, just did that19:09
arigatook :-)19:10
arigatoand the test also passes on pypy?19:10
tumbleweedyup (untranslated, of course)19:10
arigatogood19:10
arigatothanks :-)19:10
tumbleweedthat was the easy issue, NAFC about the FFI failures19:11
fijalAlex_Gaynor: I'm just getting bored and thinking what's interesting to do with numpypy :)19:11
antocuni (~antocuni@host157-123-dynamic.2-87-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds19:16
nanonymeHmm, are those build machines marked as "own" personal computers? (ie not servers)19:21
pedronisown meas own  (pypy project's) tests (vs cpython's tests) at least historically, nothing to do with the type of machine19:26
antocuni (~antocuni@host52-123-dynamic.16-79-r.retail.telecomitalia.it) joined #pypy.19:29
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) left irc: Ping timeout: 240 seconds19:30
timotimofijal: if you're getting bored, i'm not really working on strbuf_by_default at the moment19:33
fijaltimotimo: not that much :)19:33
nedbat (~nedbat@python/psf/nedbat) joined #pypy.19:34
durin42 (~durin@adium/durin42) left irc: Ping timeout: 252 seconds19:34
kenaan12mattip numpypy-reshape 1138824caea2ca 15/pypy/module/micronumpy/: fix for 1-length shapes19:37
mattipfijal: could you look at this and merge/suggest more tests?19:37
fijalmattip: you wrote tests btw :)19:38
fijalwasn't me19:38
mattipI mean merge it, or suggest more tests, or something else.19:38
fijalok19:39
mattipnumready.py doesn't check interface compatability: we aren't really there yet19:39
fijalyes19:39
fijalhow do I do that?19:39
kenaan12fijal default 11c9f77f542246 15/pypy/module/micronumpy/: merge numpypy-reshape19:40
kenaan12fijal numpypy-reshape 11edc019f4b1b8 15/: close merged branch19:40
Action: mattip checking how numpy tests itself.19:41
mattipthat doesn't look promising.19:41
fijalmattip: thx19:41
fijalmattip: it would be enough to do a paste review and just commit it to default19:41
mattipok. I think I'll try to reactivate the dot branch and19:42
mattipget it to a point where, like the axisops branch,19:43
mattipI hit a wall.19:43
fijalcool19:43
fijalI can help :)19:43
mattipOK, it has some basic stuff already, like matching up dimensions for the internal dot calculation.19:44
fijalmattip: what parts of the interface we're missing?19:44
mattipexternal interface? should all be in place, including too few tests19:44
mattipinternally, it needs to all be refactored around.19:45
mattipLet me merge from default to the branch and push, and get back to you.19:46
fijalmattip: what interfaces we're missing on the numpy layer19:48
fijalnot on dot19:48
fijalre-your comment19:48
mattipsorry. Well, for starters theres the "out" argument that numpy allows19:49
mattipI think  "axis" is a kwarg, as is "dtype"19:50
fijalit is a kwarg19:51
fijalI think19:51
fijalmikefc: ping19:52
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) left irc: Read error: Connection reset by peer19:54
whyking_ (~quassel@p5B3DDF1F.dip.t-dialin.net) joined #pypy.19:54
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) joined #pypy.19:55
umgeher (~umgeher@unaffiliated/umgeher) joined #pypy.19:57
mattipsome kwarg, these aren;t: http://paste.pocoo.org/show/534839/ (where numpy's sum is "a.sum(axis=None, dtype=None, out=None)")19:58
whyking (~quassel@p4FFB6B65.dip.t-dialin.net) left irc: Ping timeout: 252 seconds19:58
mattipI wasn't knowlegable enough to make the axis arg an optional kwarg in _reduce_ufunc_impl19:59
fermianyon (~lane@c-68-35-198-245.hsd1.al.comcast.net) joined #pypy.20:01
fijalmeh20:06
fijalmattip: it is a keyword arg20:06
fijalnot sure what you mean20:06
fijalmaybe I'll implement the out parameter20:06
mattipshouldn't w_dim in line 3 have a label axis?20:12
mattipline 3 of the paste ^^^20:12
fijalyeah, maybe it should20:12
fijalw_axis to be precise20:12
Action: mattip slaps forehead.20:14
mattipsheesh, that's too simple.20:14
fijalmattip: feel free to commit the fix to default without a branch :)20:14
fijalalthough a test would be nice20:14
mattipok.20:14
antocuni (~antocuni@host52-123-dynamic.16-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds20:18
mattipfijal: argmax, argmin should accept axis=. I think that's one for you as it appears to require a new transformation20:21
fijalmattip: it requires a new loop only20:22
fijalmattip: did you read how I ended up implementing it btw?20:22
mattipyes, but until I have to extend it (for dot) I didn;t really delve into the dirty details. It seems like good zen though, and even has documentation.20:23
fijalessentially I decided few extra reads are not worth changing iteration order20:24
Action: mattip missed that detail, now looking...20:26
fijalI don't change the order - just update values as I go20:27
fijalmattip: are you fixing the axis= naming btw?20:28
mattipfirst_line is much cleaner.20:29
whyking (~quassel@p5B3DDEE3.dip.t-dialin.net) joined #pypy.20:29
mattipSince everything here is slow (internet, computer, breaks to help kids with homework), you can do it if you want.20:30
mattipor I will do it over the next few hours.20:33
whyking_ (~quassel@p5B3DDF1F.dip.t-dialin.net) left irc: Ping timeout: 248 seconds20:33
fijalmattip: no rush at all ;-)20:40
mikefcfijal: pong. 20:45
fijalmikefc: do you have anything to review?20:46
mikefcnumready looks interesting. I was going to suggest such a thing.20:46
mikefcfijal: no time to work on pypy atm :(20:46
fijalalso, do you have a plan for your own activity?20:47
fijalah ok20:47
fijalwell, maybe you had time in the past but I forgot :)20:47
mikefci only have little bits of time.  I never get a whole day of hacking anymore :/20:47
fijal:/20:47
fijalthat sucks20:47
kenaan12amauryfa py3k 119779b8a0e896 15/pypy/module/unicodedata/: New Unicode database properties: .isxidstart and .isxidcontinue20:48
kenaan12amauryfa py3k 11c863145453cb 15/pypy/objspace/std/: Implement str.isidentifier()20:48
kenaan12amauryfa py3k 115f39f911a130 15/lib_pypy/: fixes in pure-Python implementation of sha1 and md5: they accept bytes, not strings20:48
kenaan12amauryfa py3k 1136af87a5ee11 15/pypy/module/: Fix tests in module/thread20:48
kenaan12amauryfa py3k 11ae023502cd1a 15/pypy/module/thread/: Add _thread.RLock20:48
kenaan12amauryfa py3k 11a69b99cf0083 15/pypy/objspace/std/: Fix for repr of the empty set: set(), not {} which is a dict...20:48
kenaan12amauryfa py3k 113924c71a5c0a 15/pypy/objspace/std/: CPython issue #1721812: Binary operations and copy operations on set/frozenset subclasses need to return the base t...20:48
kenaan12amauryfa py3k 1165597104c440 15/pypy/: Fix checkmodule.py, and run it on the thread module.20:48
kenaan12amauryfa py3k 11f4af6649c12f 15/pypy/: Break everything and unify int and long!20:48
kenaan12amauryfa py3k 1183fc38544bca 15/pypy/: Remove 'L' suffix from the output of hex() and oct()20:48
kenaan12amauryfa py3k 1140196a1cc504 15/pypy/: don't parse '0L' anymore20:48
kenaan12amauryfa py3k 11662eb2c58644 15/pypy/interpreter/pyparser/: Now reject u'' literals, expect to break many tests here and there...20:48
kenaan12amauryfa py3k 11cb7edd67143d 15/pypy/module/: intern() is now in the sys module20:48
kenaan12amauryfa py3k 1186189f3364a6 15/: hg merge default20:48
fijalamaury_: spammer20:48
amaury_:)20:49
mikefcmy plan is: figure out hg branches.  push that numpypy lib_pypy layout.  start looking at all the other stuff that can be pulled in from numpy. like tests, more simple functions etc.   maybe work on that list of things for getting numpypy/testing working.20:49
mikefcbut hg is first. posting patches to bugs.pypy is bogus :)20:50
fijalmikefc: ah if you replied to my private message, I can't see it because your nick is not registered20:51
fijalI think20:51
mikefcfijal: ahh. i've only just seen the /msg.   i don't really like this irc client.20:54
xcombelle (~xcombelle@AToulouse-551-1-40-156.w90-11.abo.wanadoo.fr) left irc: Quit: I am a manual virus, please copy me to your quit message.21:02
Arfrever (~Arfrever@apache/committer/Arfrever) joined #pypy.21:03
hpk (~hpk@hq2.merlinux.eu) left irc: Remote host closed the connection21:09
DasIch (~DasIch@p3E990B54.dip.t-dialin.net) joined #pypy.21:16
whyking (~quassel@p5B3DDEE3.dip.t-dialin.net) left irc: Ping timeout: 240 seconds21:16
mattipfijal: is it just me or does default fail to pass zjit test for setslice?21:29
fijaloh does it?21:29
mattipwell, I'm not sure, could you check on your end?21:31
fijal==================== 12 passed, 5 skipped in 96.76 seconds =====================21:32
mattipit seems there is an additional "arraylen_gc: 1" after the merge with axisops21:33
fijalyes21:34
fijalthis is serious bullshit though because those arraylen_gcs come and go and they're removed by the backend anyway21:34
kenaan12mattip matrixmath-dot 11ba2aa2febde8 15/: merge from default21:35
kenaan12mattip matrixmath-dot 11cdee39d4ae23 15/pypy/module/micronumpy/: fix merge21:35
kenaan12mattip default 11eb0269c21eec 15/pypy/module/micronumpy/: numpypy: rename kwarg 'dim' to 'axis'21:35
mattippop the key from the struct in the test?21:40
mattippossible no cookie situation in another hour or so21:41
fijalsorry?21:42
mattipwiat a minute, you got all passed? no fail?21:42
mattipwait*21:42
mattiphuh.21:43
fijalman, indexing with arrays is fucked up21:45
mattipIf only a handful of people understand numpypy strides and shapes now, once array indexing works we will reduce that to 1.521:48
mattipyou, 1/4 me, and peices of all the rest.21:48
mattips/peices/pieces/21:49
fijalI hope to keep array indexing localized21:49
mikefcfijal: So far I've done:  hg pull; hg branch numpypy_reorg; made changes; hg com -m 'my changes'21:49
fijalya21:50
fijalor you mean indexing by arrays should be lazy too?21:50
hpk (~hpk@hq2.merlinux.eu) joined #pypy.21:50
mattip"first make it work, then optimize according to user demand"21:51
fijalI guess so21:51
mattipI call it "lazy open-source contributor"21:51
mikefcfijal: no i'm stuck. how do i push these changes to that someone can see/review them?21:52
mikefcnow21:52
fijalmikefc: hg diff > file21:53
fijalpaste the file21:53
fijaland ask for review21:53
fijalthen hg commit21:53
fijalon default21:53
fijalif it's fine21:53
fijalI do hg diff | lodgeit.py21:53
mattip==== 1 failed, 12 passed, 5 skipped in 291.68 seconds =======21:56
mattipfor pypy pytest.py pypy/module/micronumpy/test/test_zjit.py21:56
mattipat hg version eb0269c21eec tip21:56
arigato (~arigo@adsl-89-217-194-207.adslplus.ch) left irc: Quit: See you21:57
mattip32 bit ubuntu21:57
mattip(I don't see how that could affect it)21:58
mattipdid I break something?21:58
fijal32 vs 64 bit?21:58
fijalI hope not :/21:58
fijalmine is 64bit21:58
fijalanyway, I think I'll sleep21:58
fijalmikefc: feel free to put it on the branch though in case you have something bigger than few lines21:59
fijaland just ask for a branch review21:59
mikefcfijal: I did make a branch. but i've yet to figure out how to tell bitbucket about it so other's can see it...   For now I'll just do the method you mentioned above.22:00
fijalmikefc: did you make a branch on pypy?22:00
fijalno, branch is better if the change is more than few lines22:00
fijalyou just tell people on IRC, they'll know22:00
fijalthere is also commit mailing list and a bot here22:00
fijalI can't see your branch though22:01
fijaldid you push?22:01
fijalhg push22:01
fijaleven22:01
fijalhg push --new-branch22:01
mikefcfijal: first change is a mini-patch to add the transpose method as a numpypy function. http://paste.pocoo.org/show/534905/22:03
mikefci'll try the branch thing next22:04
mikefcfound a problem already and fixed. http://paste.pocoo.org/show/534906/22:07
lahwranI wish pypy-commit wasn't a fixed one message per commit22:10
lahwranmakes for a lot of messages in the inbox :/22:10
fijalmikefc: pass can be removed22:12
mikefcyup.22:13
mattipfijal: could it be gcc ? I'm using 4.5.2 22:14
mikefclahwran: I've started to get gmail to sort them by branch. needs more work though.22:15
[Arfrever] (~Arfrever@apache/committer/Arfrever) left irc: Quit: leaving22:22
horieyui (horieyui@222.47.159.116) joined #pypy.22:24
[Arfrever] (~Arfrever@apache/committer/Arfrever) joined #pypy.22:24
asksol_ (asksol@2a01:7e00::f03c:91ff:fedf:af30) joined #pypy.22:24
oal_ (u4126@gateway/web/irccloud.com/x-erikeyztdqgnfrcc) joined #pypy.22:28
oal_ (u4126@gateway/web/irccloud.com/x-erikeyztdqgnfrcc) left irc: Client Quit22:30
mattip (chatzilla@bzq-79-183-112-243.red.bezeqint.net) left #pypy.22:31
rguillebert_ (~rguillebe@2a01:e34:eea7:c690:21f:c6ff:fe12:4dee) joined #pypy.22:34
fermianyon (~lane@c-68-35-198-245.hsd1.al.comcast.net) got netsplit.22:38
Dulak (~michael@unaffiliated/dulak) got netsplit.22:38
aboudreault (~alanb@osgeo/member/aboudreault) got netsplit.22:38
fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) got netsplit.22:38
oal (u4126@gateway/web/irccloud.com/x-bvuoshqsksukpjow) got netsplit.22:38
icrazyhack (horieyui@222.47.159.116) got netsplit.22:38
Guest17487 (~John@osbk-4db17529.pool.mediaWays.net) got netsplit.22:38
asksol (asksol@2a01:7e00::f03c:91ff:fedf:af30) got netsplit.22:38
rguillebert (~rguillebe@2a01:e34:eea7:c690:21f:c6ff:fe12:4dee) got netsplit.22:38
oal (u4126@gateway/web/irccloud.com/x-jadakdcnvlfonink) joined #pypy.22:40
Guest17487 (~John@osbk-4db17529.pool.mediaWays.net) returned to #pypy.22:41
Dulak (~michael@unaffiliated/dulak) returned to #pypy.22:41
aboudreault (~alanb@osgeo/member/aboudreault) returned to #pypy.22:42
fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) returned to #pypy.22:43
asksol (asksol@2a01:7e00::f03c:91ff:fedf:af30) got lost in the net-split.22:49
rguillebert (~rguillebe@2a01:e34:eea7:c690:21f:c6ff:fe12:4dee) got lost in the net-split.22:49
icrazyhack (horieyui@222.47.159.116) got lost in the net-split.22:49
fermianyon (~lane@c-68-35-198-245.hsd1.al.comcast.net) got lost in the net-split.22:49
whitelynx|work (~whitelynx@75.111.197.204) joined #pypy.22:50
bbot2Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/77623:00
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/20423:00
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/101323:00
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/3223:00
davisagli (~davisagli@davisagli.com) left irc: Excess Flood23:04
davisagli (~davisagli@davisagli.com) joined #pypy.23:04
tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy.23:04
tilgovi (~randall@couchdb/developer/tilgovi) left irc: Read error: Connection reset by peer23:07
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Read error: Operation timed out23:22
icrazyhack (~horieyui@183.60.100.164) joined #pypy.23:49
horieyui (horieyui@222.47.159.116) left irc: Ping timeout: 252 seconds23:53
Ademan (~dan@adsl-71-141-224-79.dsl.snfc21.pacbell.net) left irc: Quit: leaving23:54
--- Sun Jan 15 201200:00

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