| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 00:05 | |
| thinker (~thinker@123-194-52-90.dynamic.kbronet.com.tw) joined #pypy. | 00:06 | |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) joined #pypy. | 00:08 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection | 00:09 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Ping timeout: 240 seconds | 00:09 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy. | 00:11 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 00:13 | |
| DanKluev (~root@78-24-224-073-udsl.vntc.ru) joined #pypy. | 00:21 | |
| mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord | 00:30 | |
| asmeurer__ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Read error: Connection reset by peer | 00:45 | |
| asmeurer___ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 00:45 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 240 seconds | 00:46 | |
| thinker (~thinker@123-194-52-90.dynamic.kbronet.com.tw) left irc: Remote host closed the connection | 00:55 | |
| sunoano (~sa@unaffiliated/sunoano) left irc: Ping timeout: 245 seconds | 00:56 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 00:57 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 00:59 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 00:59 | |
| mfoord (~anonymous@python/psf/voidspace) joined #pypy. | 00:59 | |
| thinker (~thinker@123-194-52-90.dynamic.kbronet.com.tw) joined #pypy. | 01:05 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/168 | 01:07 |
|---|---|---|
| xenru (~Adium@31.31.97.244) left irc: Quit: Leaving. | 01:08 | |
| xiaochen (xiaochen@nat/redhat/x-zieeonfiozwtxdxa) joined #pypy. | 01:22 | |
| davisagli (davisagli@davisagli.com) left #pypy. | 01:28 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1886 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/629 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/303 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/641 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1158 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/825 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1467 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/748 | 01:35 |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Read error: Connection reset by peer | 01:37 | |
| derdon (~derdon@p5DE8ACB8.dip.t-dialin.net) left irc: Remote host closed the connection | 01:46 | |
| azanella (~azanella@189.6.80.207) joined #pypy. | 01:48 | |
| davisagli (~davisagli@davisagli.com) joined #pypy. | 01:49 | |
| etrepum_ (~bob@accessnat4.mochimedia.net) joined #pypy. | 01:50 | |
| azanella (~azanella@189.6.80.207) left irc: Ping timeout: 255 seconds | 01:54 | |
| etrepum (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 240 seconds | 01:54 | |
| etrepum_ (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 255 seconds | 01:55 | |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Read error: Connection reset by peer | 01:55 | |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) joined #pypy. | 01:56 | |
| harrison_ (~quassel@adsl-76-217-39-2.dsl.chcgil.sbcglobal.net) left irc: Ping timeout: 240 seconds | 01:56 | |
| mwhudson | i presume https://www.facebook.com/note.php?note_id=10150415177928920 got mentioned in here | 02:01 |
| mwhudson | (the "hiphop virtual machine") | 02:01 |
| Alex_Gaynor | mwhudson: yeah, I wasn't impressed | 02:01 |
| mwhudson | the overall direction is interesting though | 02:01 |
| mwhudson | also comments like "Unfortunately we didn't have a clean model of PHP language semantics built into HipHop" | 02:02 |
| Alex_Gaynor | I have every confidence that if someone wrote a decent pypy impl of PHP it would smoke what they wrote. | 02:02 |
| mwhudson | yes, very likely | 02:02 |
| MostAwesomeDude | Too bad they can't migrate off PHP at this point. :c | 02:02 |
| MostAwesomeDude | It's not too late for WP though! | 02:02 |
| Alex_Gaynor | It apparently has 20 engineers, I think you could get a PHP on PyPy done in a month this that many people. | 02:03 |
| Alex_Gaynor | production ready in 2 | 02:03 |
| MostAwesomeDude | Well, these are the same guys that think Tornado's better than Twisted. | 02:04 |
| mwhudson | 'production ready' is probably quite a thing when you are running facebook | 02:05 |
| Alex_Gaynor | mwhudson: "move fast and break things" | 02:07 |
| mwhudson | that seems to be established practice to judge by the js | 02:07 |
| mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord | 02:07 | |
| jterrace (~Adium@dynamic-oit-vapornet-b-1207.Princeton.EDU) joined #pypy. | 02:11 | |
| jterrace | is pushing still broken? | 02:13 |
| Alex_Gaynor | jterrace: haven't tried | 02:13 |
| Alex_Gaynor | jterrace: if it is let me know, I'll complain to BB people | 02:13 |
| jterrace | it just sits there for minutes when i try to push | 02:13 |
| jterrace | eventually it times out | 02:13 |
| Alex_Gaynor | ok I'll complain | 02:14 |
| jterrace | remote: abort: repository /data/netapp02/netapp02_sas01_21/data/d-64/r-143064: timed out waiting for lock held by bitbucket13.managed.contegix.com:2019 | 02:14 |
| Action: jterrace complains to Alex_Gaynor | 02:14 | |
| Wraithan (Wraithan@c-67-189-110-252.hsd1.or.comcast.net) left #pypy ("WeeChat 0.3.7-dev"). | 02:20 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy. | 02:23 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host | 02:23 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 02:23 | |
| Rhyolite | jterrace: are you sure that it is BB and not your system? | 02:31 |
| Rhyolite | hmm, I guess it is | 02:32 |
| Rhyolite | hg push takes a lot more time for me on systems with less disk I/O bandwidth | 02:32 |
| jterrace | yeah | 02:34 |
| jterrace | it worked fine earlier | 02:34 |
| jterrace | and someone else siad they couldnt push either | 02:34 |
| Rhyolite | yeah, sorry, I didn't notice the BB NetApp error | 02:34 |
| Action: jterrace wants to push his super duper awesome branch | 02:37 | |
| Kaskuka (~John@osbk-4db1633a.pool.mediaWays.net) joined #pypy. | 02:39 | |
| Guest66857 (~John@osbk-4db1409b.pool.mediaWays.net) left irc: Ping timeout: 240 seconds | 02:39 | |
| Rhyolite | jterrace: it's awesomeness overwhelmed BB and NetApp :-) | 02:40 |
| jterrace | must be | 02:41 |
| kenaan | 12jterrace numpy-full-fromstring 118e0167fbb05a 15/pypy/module/micronumpy/: Adds full fromstring support with lots of tests | 02:46 |
| Alex_Gaynor | oh here we go | 02:46 |
| jterrace | yay | 02:49 |
| jterrace | Alex_Gaynor: that ^ should be okay to merge | 02:49 |
| Alex_Gaynor | jterrace: ok let me review it first | 02:50 |
| Alex_Gaynor | does bb hvae a way to diff branches | 02:50 |
| jterrace | i was wondering that same thing | 02:50 |
| Alex_Gaynor | I don't have a way to colorize diffs while I'm on windows | 02:50 |
| jterrace | it's only 1 commit | 02:51 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/976 | 02:51 |
| jterrace | so this should ork: https://bitbucket.org/pypy/pypy/changeset/8e0167fbb05a | 02:51 |
| Alex_Gaynor | good point | 02:51 |
| Alex_Gaynor | grr, I wish bb had inline commenting on commits | 02:52 |
| jterrace | tried to keep fromstring as concise as i could | 02:52 |
| Alex_Gaynor | L17 should just be dtype.itemtype.get_element_size() | 02:52 |
| Alex_Gaynor | this should calculate whether the input is the right size outside of the loop | 02:52 |
| jterrace | you cant with a sep | 02:53 |
| jterrace | i could check if sep == '' and check | 02:53 |
| Alex_Gaynor | why not? | 02:53 |
| jterrace | well i would have to search the whole string for the number of occurences of sep | 02:53 |
| Alex_Gaynor | ah, with a sep is it a non-binary string? | 02:53 |
| jterrace | right | 02:53 |
| Alex_Gaynor | wtf, what a silly API | 02:54 |
| jterrace | so i thought about putting another check before the loop | 02:54 |
| jterrace | but it looked ugly | 02:54 |
| Alex_Gaynor | I think no sep and sep should be two loops | 02:54 |
| Alex_Gaynor | in teh no sep case you can be way more efficient | 02:54 |
| dracman (~draco@212.255.38.116) left irc: Ping timeout: 252 seconds | 02:55 | |
| Alex_Gaynor | you can allocate a single array | 02:55 |
| Alex_Gaynor | rather than have an intermediary one | 02:55 |
| jterrace | yeah | 02:55 |
| jterrace | i can split it into two then | 02:55 |
| Alex_Gaynor | yes, let's do that | 02:55 |
| jterrace | ok | 02:55 |
| jterrace | ill refactor it tomorrow | 02:55 |
| jterrace | heading out | 02:55 |
| Alex_Gaynor | sounds good | 02:55 |
| jterrace (~Adium@dynamic-oit-vapornet-b-1207.Princeton.EDU) left irc: Quit: Leaving. | 02:55 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Ping timeout: 276 seconds | 03:00 | |
| mat^2 (~mathias@212.130.113.35) left irc: | 03:01 | |
| thinker` (~thinker@218-167-128-7.dynamic.hinet.net) joined #pypy. | 03:01 | |
| thinker` (~thinker@218-167-128-7.dynamic.hinet.net) left irc: Ping timeout: 252 seconds | 03:06 | |
| Nick change: Gulaway -> Gulopine | 03:12 | |
| papercrane (~papercran@75.101.111.82) left irc: Ping timeout: 244 seconds | 03:17 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 255 seconds | 03:31 | |
| DanKluev (~root@78-24-224-073-udsl.vntc.ru) left irc: Quit: Leaving. | 03:35 | |
| DanKluev (~root@78-24-224-073-udsl.vntc.ru) joined #pypy. | 03:35 | |
| CIA-13 | 03r.lobb 07roundup * 10#949/1.7 Sandbox problems: | 03:42 |
| CIA-13 | Yay! All up and running now :-) I see your branch has already been merged with | 03:42 |
| CIA-13 | the trunk, too. Many thanks Ned and Fijal | 03:42 |
| CIA-13 | Just one minor comm ... * 14https://bugs.pypy.org/issue949 | 03:42 |
| e1ven (~E1ven@SQ7/ProjectLead/E1ven) left irc: Quit: Computer has gone to sleep. | 03:44 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1886 | 03:52 |
| kenaan | 12mattip numpypy-frompyfunc 118f2f51754ac2 15/pypy/module/micronumpy/: tests, implementation of frompyfunc. Needs lazy eval (should inherit from VirtualArray?) | 03:56 |
| papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) joined #pypy. | 03:57 | |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 240 seconds | 04:16 | |
| anish_ (anish@nat/redhat/x-yrlybmartozwewgc) joined #pypy. | 04:22 | |
| papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep. | 04:26 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1467 | 04:54 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/825 | 05:00 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/641 | 05:11 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1158 | 05:13 |
| papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) joined #pypy. | 05:14 | |
| thinker` (~thinker@218-167-125-9.dynamic.hinet.net) joined #pypy. | 05:17 | |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Ping timeout: 255 seconds | 05:21 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/629 | 05:22 |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) joined #pypy. | 05:42 | |
| gutworth (~benjamin@dhcp-128-36-84-91.central.yale.edu) left irc: Ping timeout: 240 seconds | 05:43 | |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 05:56 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Remote host closed the connection | 06:04 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy. | 06:17 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy. | 06:20 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/748 | 06:22 |
| papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep. | 06:25 | |
| Nick change: Gulopine -> Gulaway | 06:25 | |
| squiddy (~squiddy@f053083052.adsl.alicedsl.de) joined #pypy. | 06:44 | |
| asmeurer___ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer___ | 06:45 | |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Computer has gone to sleep. | 06:50 | |
| mvt (~mvantelli@87.213.45.85) joined #pypy. | 06:57 | |
| Ademan (~dan@adsl-71-141-224-79.dsl.snfc21.pacbell.net) joined #pypy. | 07:12 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Ping timeout: 240 seconds | 07:19 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/303 | 07:20 |
| ixokai (~ixokai@rrcs-24-199-8-246.west.biz.rr.com) joined #pypy. | 07:20 | |
| ixokai (~ixokai@rrcs-24-199-8-246.west.biz.rr.com) left irc: Changing host | 07:20 | |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) joined #pypy. | 07:20 | |
| kenaan | 12hakanardo jit-multilabel 1108f31473c48b 15/pypy/jit/metainterp/optimizeopt/unroll.py: kill old stuff | 07:43 |
| kenaan | 12hakanardo jit-multilabel 111e4c74e007f4 15/pypy/jit/metainterp/optimizeopt/: Dont change the result box of ops as they are emitted. That will cause an unecesarry renaming of the box... | 07:43 |
| fijal (~fijal@197.168.13.110) joined #pypy. | 07:47 | |
| Arfrever (~Arfrever@apache/committer/Arfrever) left irc: Quit: Ex+re | 07:48 | |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Ping timeout: 276 seconds | 07:48 | |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) joined #pypy. | 07:49 | |
| kenaan | 12hakanardo jit-multilabel 11a155d05decc6 15/pypy/jit/metainterp/optimizeopt/virtualstate.py: kill ShortBoxes.aliases | 07:53 |
| kenaan | 12hakanardo jit-multilabel 11fb0f3b8c369a 15/pypy/jit/metainterp/optimizeopt/: ShortBoxes is no longer mutated after it is crated so there is no point in cloning it anymore | 07:54 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds | 08:08 | |
| nirbheek (~nirbheek@117.197.151.239) joined #pypy. | 08:12 | |
| Nick change: nirbheek -> Guest68153 | 08:12 | |
| Nick change: thinker` -> Sinker | 08:17 | |
| hruske (~Gasper@188.230.156.183) joined #pypy. | 08:18 | |
| fijal | hakanardo: hey hakan, I see you're having fun :) | 08:19 |
| CIA-13 | 03fijal 07roundup * 10#673/Linux L2 cache size: | 08:24 |
| CIA-13 | Hey Stefano. We completely gave up on determining L2 cache size and just | 08:24 |
| CIA-13 | hardcoded the size of nursery to 4M. Besides, you're a fool (just like ... * 14https://bugs.pypy.org/issue673 | 08:24 |
| CIA-13 | 03fijal 07roundup * 10#949/1.7 Sandbox problems: | 08:26 |
| CIA-13 | [resolved] Cool, we're glad to be of help. I think ned did something similar on his branch, | 08:26 |
| CIA-13 | will look into disabling the messages by default. I ... * 14https://bugs.pypy.org/issue949 | 08:26 |
| fijal | mikefc: thanks for the issue | 08:27 |
| JaRoel (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 08:29 | |
| Guest68153 (~nirbheek@117.197.151.239) left irc: Changing host | 08:29 | |
| Guest68153 (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 08:29 | |
| Nick change: Guest68153 -> nirbheek | 08:29 | |
| Ademan (~dan@adsl-71-141-224-79.dsl.snfc21.pacbell.net) left irc: Quit: leaving | 08:32 | |
| fijal_ (~fijal@41.49.11.66) joined #pypy. | 08:36 | |
| fijal (~fijal@197.168.13.110) left irc: Disconnected by services | 08:36 | |
| Nick change: fijal_ -> fijal | 08:36 | |
| tumbleweed | fijal: where is it hardcoded to 4M? | 08:59 |
| tumbleweed | (that code is still there in the tip) | 08:59 |
| tumbleweed | but blowing it away sounds like the right thing to do :P | 08:59 |
| fijal | on trunk | 08:59 |
| fijal | right | 09:00 |
| fijal | in pypy/rpython/memory/gc/minimark.py:332 | 09:00 |
| tumbleweed | ah. /me tries to ork out why best_nursery_size is still being called | 09:01 |
| xenru (~Adium@matrix-217-146-248-10.matrix.farlep.net) joined #pypy. | 09:03 | |
| hakanardo_ (~hakan@gw.cognimatics.ideon.se) joined #pypy. | 09:03 | |
| hakanardo_ | fijal: just cleaning up a bit :) | 09:03 |
| tumbleweed | oh, it isn't | 09:04 |
| fijal | yop, it's not :) | 09:05 |
| EnCuKou (~encukou@193.167.65.94) joined #pypy. | 09:05 | |
| Sinker (~thinker@218-167-125-9.dynamic.hinet.net) left irc: Ping timeout: 252 seconds | 09:05 | |
| fijal | oh good | 09:09 |
| fijal | I found a broken test | 09:09 |
| G2P (~G2P@fw-asn1.ornis.com) joined #pypy. | 09:15 | |
| Alex_Gaynor | fijal: in what? | 09:16 |
| fijal | in numpy | 09:16 |
| fijal | (a + a)[::2][2] = 3 | 09:16 |
| fijal | now I wonder if I should fix it on my branch or try to fix it on trunk | 09:16 |
| Alex_Gaynor | which branch? | 09:17 |
| fijal | refactor-signature | 09:18 |
| fijal | Alex_Gaynor: btw, can you think how to reply to this: http://news.ycombinator.com/item?id=3344092 | 09:18 |
| fijal | ? | 09:18 |
| fijal | the deepest question | 09:18 |
| arigato (~arigo@89.204.153.1) joined #pypy. | 09:18 | |
| fijal | arigato: hi | 09:19 |
| arigato | hi | 09:19 |
| fijal | arigato: http://speed.pypy.org/changes/?tre=10&rev=50397%3A6fb87770b5d2&exe=1&env=1 | 09:19 |
| Alex_Gaynor | fijal: seems like you agree with premise B | 09:19 |
| CIA-13 | 03r.lobb 07roundup * 10#960/Sandboxing for external function 'pypy__float2longlong': | 09:19 |
| CIA-13 | [new] Attempting to import pickle, cPickle or json in a program running in the version | 09:19 |
| CIA-13 | 1.7 sandbox throws an exception like the following: | 09:19 |
| CIA-13 | No ... * 14https://bugs.pypy.org/issue960 | 09:19 |
| fijal | do I? | 09:20 |
| Alex_Gaynor | btw specialized tuples slowed stuff down | 09:20 |
| fijal | I think market is not a very good thing to explain the phenomena | 09:20 |
| Alex_Gaynor | fijal: yes, you basically said that by not being flexible companies were hurting themselves because they couldn't hire well | 09:20 |
| fijal | but I don't know how to frame it | 09:20 |
| fijal | read the B | 09:20 |
| fijal | he's claiming that if this was the case, markets would sort it out | 09:20 |
| Alex_Gaynor | markets aren't a magical force imbued with knowledge | 09:21 |
| Alex_Gaynor | the market is just teh assumption that humans behave rationall in pursuit of their ends | 09:21 |
| fijal | yes, but I think there is an actual argument that sends the same msg | 09:21 |
| Alex_Gaynor | if you don't accept the premise that humans are rational, you don't have to accept the conclusion | 09:21 |
| fijal | I think there is more to that | 09:22 |
| fijal | the entire game theory has more assumptions | 09:22 |
| fijal | like stable and big enough systems | 09:22 |
| Alex_Gaynor | well, also that | 09:22 |
| fijal | I think even assuming humans are relatively rational you can still make a reasonable argument markets won't sort stuff out | 09:22 |
| Alex_Gaynor | sure, because markets optimize for what humans see, and we're probably not that good at evaluating performance | 09:23 |
| fijal | right | 09:23 |
| fijal | but also we might be very easily stuck in a local minimum | 09:23 |
| fijal | that you can't get out | 09:23 |
| fijal | assuming *very* rational humans | 09:23 |
| Alex_Gaynor | well, it's not about rational, it's about what you optimize for | 09:24 |
| lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) joined #pypy. | 09:24 | |
| Alex_Gaynor | do you optimize short scripts, or serve processes | 09:24 |
| Alex_Gaynor | whoops, I changed the subject :D | 09:24 |
| tumbleweed | fijal: want a patch like this? http://paste.debian.net/149070 | 09:24 |
| fijal | tumbleweed: this is a question for armin | 09:25 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/743 | 09:25 |
| tumbleweed | in that case, I'll post it on the bug | 09:25 |
| CIA-13 | 03stefanor 07roundup * 10#673/Linux L2 cache size: In that case, have a patch that blows it away * 14https://bugs.pypy.org/issue673 | 09:27 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 09:28 | |
| kenaan | 12hakanardo jit-multilabel 11e2479d8f3ce5 15/pypy/jit/metainterp/optimizeopt/vstring.py: Translation fix. Why am I not allowed to use a default value on the lengthbox argument? | 09:28 |
| Alex_Gaynor | fijal: i'd fix on default fwiw, should be easy | 09:29 |
| CIA-13 | 03r.lobb 07roundup * 10#961/Spurious (?) mercurial error messages from sandlib.py: | 09:29 |
| CIA-13 | [new] This isn't at all critical, but when I attempt to run the sandbox as a different | 09:29 |
| CIA-13 | user from the owner of the pypy subtree I get a string of ... * 14https://bugs.pypy.org/issue961 | 09:29 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/630 [12hakanardo, jit-multilabel] | 09:30 |
| tumbleweed | fijal: that's a relief, there were many test failures due to those L2 cache detection warnings popping up | 09:30 |
| arigato | fijal: I'm trying to find what sympy_expand does | 09:31 |
| CIA-13 | 03r.lobb 07roundup * 10#961/Spurious (?) mercurial error messages from sandlib.py: | 09:31 |
| CIA-13 | This isn't at all critical, but when I attempt to run the sandbox as a different | 09:31 |
| CIA-13 | user from the owner of the pypy subtree I get a string of warni ... * 14https://bugs.pypy.org/issue961 | 09:31 |
| arigato | so far it seems that it's testing the @cacheit decorator, which is probably not what you want | 09:32 |
| arigato | ...ah, there is clear_cache() | 09:32 |
| fijal | Alex_Gaynor: is it? | 09:38 |
| Alex_Gaynor | fijal: is what? | 09:39 |
| fijal | Alex_Gaynor: easy | 09:39 |
| Alex_Gaynor | yes I think so, just missing a get concrete call somewhere | 09:39 |
| fijal | arigato: in what sense "what it does"? | 09:39 |
| fijal | Alex_Gaynor: well, in this sense yes, but it should not have to force it | 09:40 |
| arigato | fijal: I'm trying naively to figure out why SpecialisedTuples hurt | 09:40 |
| arigato | but it seems I'm not used the right approach | 09:40 |
| arigato | s/used/using | 09:42 |
| Action: fijal is confused | 09:49 | |
| fijal | arigato: you mean you're staring at traces or what? | 09:49 |
| fijal | Alex_Gaynor: I'll fix it on the branch, so feel free to do whatever | 09:49 |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) joined #pypy. | 09:49 | |
| Alex_Gaynor | fijal: which branch? | 09:49 |
| fijal | <Alex_Gaynor> which branch? | 09:50 |
| fijal | <fijal> refactor-signature | 09:50 |
| Alex_Gaynor | heh | 09:50 |
| Alex_Gaynor | I fail | 09:50 |
| fijal | isn't it like late or so? | 09:50 |
| arigato | fijal: not yet, staring at the source, but I'm switching to staring at traces indeed | 09:51 |
| Alex_Gaynor | Yes, I'm not sure why I'm up | 09:51 |
| fijal | arigato: from my experience in large things, staring at traces is the best | 09:51 |
| fijal | because you don't have to understand the entire stack | 09:51 |
| fijal | but on the other hand, it also sometimes fail | 09:52 |
| fijal | and that's why I have a branch to develop improvements for hints that did not go anywhere so far :) | 09:52 |
| fijal | because our tools have scale problems - none of them really worked for translation | 09:52 |
| fijal | other than "probably removing multimethods would improve annotation time by something" | 09:52 |
| Alex_Gaynor | very precise | 09:53 |
| fijal | arigato: </rant> | 09:53 |
| arigato | eh, map()? | 09:54 |
| fijal | arigato: ? | 09:55 |
| Alex_Gaynor | map should be fast, as long as you use 2 arg form | 09:56 |
| Alex_Gaynor | if you use more args, we need more tricks | 09:56 |
| xiaochen (xiaochen@nat/redhat/x-zieeonfiozwtxdxa) left irc: Quit: leaving | 09:58 | |
| arigato | ah | 09:58 |
| Alex_Gaynor | arigato: a bit silly, but... we have no applevel unroll or jit.isconstant | 09:59 |
| tumbleweed (~stefanor@ubuntu/member/tumbleweed) left irc: Ping timeout: 240 seconds | 10:01 | |
| fijal | Alex_Gaynor: yes, this one is missing get_concrete() indeed | 10:02 |
| tumbleweed (~stefanor@corelli.tumbleweed.org.za) joined #pypy. | 10:02 | |
| tumbleweed (~stefanor@corelli.tumbleweed.org.za) left irc: Changing host | 10:02 | |
| tumbleweed (~stefanor@ubuntu/member/tumbleweed) joined #pypy. | 10:02 | |
| fijal | Alex_Gaynor: but I still think there are more places where there is an implicit assumption that View is always of a concrete array | 10:02 |
| Alex_Gaynor | fijal: so we should either audit the code or fix them as we see them | 10:02 |
| fijal | Alex_Gaynor: no | 10:03 |
| fijal | Alex_Gaynor: there are some wrong assumption | 10:03 |
| fijal | s | 10:03 |
| Alex_Gaynor | right | 10:03 |
| fijal | look | 10:03 |
| fijal | how it is done | 10:03 |
| Alex_Gaynor | what am I looking at? | 10:04 |
| fijal | Alex_Gaynor: the W_NDimSlice.eval contains a call to getitem which will in turn call get_concrete on parent | 10:05 |
| fijal | which creates unnecessary loops | 10:06 |
| fijal | Alex_Gaynor: do I make any sense? | 10:06 |
| Alex_Gaynor | yes, but I'm a bit tired to do anything about it :) | 10:06 |
| fijal | ok | 10:06 |
| fijal | I'll fix it on my branch | 10:06 |
| Alex_Gaynor | ok | 10:06 |
| fijal | so don't you worry too much | 10:06 |
| fijal | (whenever I'll get to do it) | 10:06 |
| fijal | I'm just using you as a rubber duck | 10:07 |
| arigato (~arigo@89.204.153.1) left irc: Ping timeout: 252 seconds | 10:07 | |
| Alex_Gaynor | I'm a little more awake than a rubber duck, not much though | 10:07 |
| apollo13 | Alex_Gaynor: quack :p | 10:07 |
| kenaan | 12alex_gaynor default 1122b2d8a07bcd 15/pypy/module/micronumpy/interp_numarray.py: simplify this code by removing some mostly dead code | 10:09 |
| Alex_Gaynor | fijal: so ufuncs created by frompyfunc always return obj arrays | 10:15 |
| fijal | wtf? | 10:15 |
| Alex_Gaynor | fijal: pretty muc | 10:15 |
| fijal | obviously nobody ever uses them for anything interesting? | 10:15 |
| kenaan | 12alex_gaynor default 11adc2497aaa14 15/pypy/module/micronumpy/interp_numarray.py: whoops fix error from previous commit | 10:15 |
| Alex_Gaynor | fijal: probably because they're slow as shit on numpy | 10:15 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 252 seconds | 10:15 | |
| zain (~textual@c-67-160-201-63.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep. | 10:17 | |
| nirbheek (~nirbheek@117.197.151.239) joined #pypy. | 10:18 | |
| Nick change: nirbheek -> Guest84492 | 10:18 | |
| Guest84492 (~nirbheek@117.197.151.239) left irc: Changing host | 10:18 | |
| Guest84492 (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 10:18 | |
| Nick change: Guest84492 -> nirbheek | 10:18 | |
| fijal | :/ | 10:19 |
| Action: fijal considers writing to numpy-dev | 10:19 | |
| fijal | Alex_Gaynor: but that does explain why am I seeing too many loops | 10:20 |
| fijal | "good" | 10:20 |
| Alex_Gaynor | :) | 10:21 |
| anish_ (anish@nat/redhat/x-yrlybmartozwewgc) left irc: Quit: Leaving | 10:25 | |
| dracman (~draco@212.255.43.185) joined #pypy. | 10:30 | |
| fijal | Alex_Gaynor: also a relatively serious issue on the tracker | 10:30 |
| fijal | https://bugs.pypy.org/issue959 | 10:31 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/630 [12hakanardo, jit-multilabel] | 10:33 |
| fijal (~fijal@41.49.11.66) left irc: Read error: Connection reset by peer | 10:37 | |
| xenru | yo | 10:56 |
| andreypopp (~Adium@2a02:2018:20:0:8c0:f0e9:2aa1:32e4) joined #pypy. | 10:56 | |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 10:56 | |
| xenru | I'm tuning my tests | 10:56 |
| xenru | I made simple json.dump and jinja2 computations | 10:57 |
| xenru | sorry, forgot to introduce myself, I'm twitter user @mikashkin | 10:58 |
| Nick change: ojii -> ojii|lunch | 10:59 | |
| xenru | we are switching from GAE to our inhome solution. And doing test to decide best software platform. At this moment most productive is uwsgi+cpython | 10:59 |
| xenru | and now trying to test pypy alternative | 11:00 |
| xenru | our code is oriented as server side of social apps. | 11:01 |
| xenru | so it is about 80% of json encoding and 20% of jinja2 template rendering. As persistent backend we decided to use MongoDB | 11:02 |
| lucian | xenru: try it and see | 11:03 |
| xenru | so, even if through away all network part, I created small test: just compute dumps and some templates. On small structures cpython wins pypy in 7 times, on bigger only in 2 times. | 11:04 |
| xenru | andreypopp recomends me run more than 500 times to push JIT optimization. | 11:05 |
| lucian | xenru: try that too. keep the server up and hammer it for a while | 11:07 |
| xenru | what is this and how I can regulate boundary when will pypy optimize code (if I use correct sentence) | 11:07 |
| xenru | and will be that optimization permanent, or I must to warmup code every time? | 11:08 |
| andreypopp | by the way, does PyPy has ability to print on stderr names of JIT-compiled functions so I can monitor what's being compiled and what's not? | 11:11 |
| xenru | may be special own pypy+jit profilers | 11:13 |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 11:17 | |
| witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy. | 11:18 | |
| lucian | andreypopp: there's jitviewer. fijal wrote a blog post about using it | 11:18 |
| lucian | xenru: you can influence warmup time with an env variable, but it's not very useful | 11:18 |
| lucian | xenru: just let it warm up on its own, like any jit | 11:18 |
| arigato (~arigo@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 11:22 | |
| xenru | lucian: after warmup json dumps win, but jinja depends on data. Sometimes faster sometimes not | 11:27 |
| khs (~khs@151.43.202.84.customer.cdi.no) left irc: Read error: Connection reset by peer | 11:27 | |
| khs (~khs@151.43.202.84.customer.cdi.no) joined #pypy. | 11:28 | |
| xenru | so, when I know about warmup it worth to tests including network part. According to this post (and our sample test) http://nichol.as/benchmark-of-python-web-servers most productive is uwsgi setup | 11:29 |
| xenru | but it depends on C code. | 11:30 |
| Action: lucian shrugs | 11:31 | |
| lucian | we use gunicorn at work and it's pretty fast | 11:31 |
| xenru | I'm not dig very deep yet, we tried only pypy+gunicorn vs uwsgi+cpython | 11:31 |
| lucian | right. try gunicorn+cpython as well | 11:31 |
| xenru | aha, thank you. We will update our test cases with more focus on warmup | 11:32 |
| lucian | also, make sure you're using a recent pypy | 11:33 |
| lucian | the json improvements are relatively recent | 11:33 |
| xenru | uwsgi offers good practice with deployment and backends. What do you use for balancing? HA-Proxy? | 11:33 |
| xenru | fastrouter plus uwsgi backends in our tests looks good enough, but it is not production yet ofc | 11:34 |
| xenru | 1.7 | 11:34 |
| sunoano (~sa@unaffiliated/sunoano) joined #pypy. | 11:35 | |
| lucian | xenru: we only have one appserver atm, with dns load balancing only | 11:35 |
| xenru | we spent about week for test and it is funny that only today I heard for the first time about JIT. Feel myself, you know, stupid | 11:37 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Quit: Leaving | 11:42 | |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 11:42 | |
| lucian | jits work very well for things like persistent app servers | 11:42 |
| lucian | so stuff like twisted | 11:43 |
| Nick change: ojii|lunch -> ojii | 11:47 | |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 11:56 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 11:57 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection | 11:58 | |
| witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy. | 11:58 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 11:59 | |
| azanella (~azanella@189.6.80.207) joined #pypy. | 12:00 | |
| arigato | xenru: success! people can spend a week trying out pypy and not notice that it has a JIT | 12:20 |
| arigato | that means we did a good job at making the JIT transparent | 12:21 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/743 | 12:21 |
| lucian | arigato: very good job, other than performance it's invisible | 12:23 |
| arigato | :-) | 12:23 |
| xenru | no, that means that this information is hidden. We restared interpreter after each small iteration. So pypy loses every time. | 12:26 |
| xenru | but anyway I open for trolling :) | 12:26 |
| arigato | ah | 12:27 |
| arigato | in other words, it means that we didn't do a good enough job yet: | 12:27 |
| arigato | restarting the interpreter for every small iteration looses because our jit has a too high warm-up time | 12:27 |
| lucian | arigato: if it had caching of some sort, it'd be perfect, but i understand that's hard | 12:27 |
| arigato | yes | 12:28 |
| xenru | tbh, I never expect from system that it is smart enough to change itself | 12:29 |
| xenru | in particular to optimize code | 12:29 |
| kenaan | 12arigo default 117d73e99929bb 15/pypy/objspace/std/typetype.py: Let the JIT see the app-level 'type(x)' construct. | 12:31 |
| rguillebert | http://tech.slashdot.org/story/09/07/03/0143233/ibm-releases-open-source-machine-learning-compiler | 12:32 |
| alex____ (~alex@D57D1AB2.static.ziggozakelijk.nl) joined #pypy. | 12:37 | |
| alex____ | hi! Any of you are using Sphinx with pypy? | 12:37 |
| gutworth (~benjamin@dhcp-128-36-84-91.central.yale.edu) joined #pypy. | 12:39 | |
| ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) joined #pypy. | 12:41 | |
| elipsion_ (~elipsion@81-232-141-35-no217.tbcn.telia.com) left irc: Ping timeout: 252 seconds | 12:49 | |
| elipsion (~elipsion@81-232-141-35-no217.tbcn.telia.com) joined #pypy. | 12:49 | |
| Insectoid (~Q@c-98-230-8-37.hsd1.fl.comcast.net) left irc: Ping timeout: 240 seconds | 12:54 | |
| Rhy0lite (dje@nat/ibm/x-mhspmxwrhjztokhg) joined #pypy. | 13:00 | |
| alex____ | I'm having a lot of problems with packages that made: try-except ImportError, on pypy I need to add TypeError to the execption. Is this normal workaround? | 13:03 |
| andreypopp1 (~Adium@46.250.131.33) joined #pypy. | 13:07 | |
| andreypopp (~Adium@2a02:2018:20:0:8c0:f0e9:2aa1:32e4) left irc: Ping timeout: 252 seconds | 13:10 | |
| santagada (~leonardo@189.27.189.108.dynamic.adsl.gvt.net.br) joined #pypy. | 13:14 | |
| harrison (~quassel@adsl-69-209-203-240.dsl.chcgil.sbcglobal.net) joined #pypy. | 13:14 | |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds | 13:18 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) joined #pypy. | 13:18 | |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy. | 13:19 | |
| aleksi (~aleksi@85.235.191.82) joined #pypy. | 13:19 | |
| stakkars (~tismer@p5DDB72FD.dip.t-dialin.net) left irc: Read error: Connection reset by peer | 13:32 | |
| stakkars (~tismer@p5DDB72FD.dip.t-dialin.net) joined #pypy. | 13:32 | |
| EnCuKou (~encukou@193.167.65.94) left irc: Remote host closed the connection | 13:39 | |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Computer has gone to sleep. | 13:46 | |
| mikefc | alex____: If it doesn't throw the right sort of error (i.e. the same as cpython) I'd file it as a bug (bugs.pypy.org) | 13:47 |
| jterrace (~Adium@140.180.18.20) joined #pypy. | 13:53 | |
| kenaan | 12arigo default 11c260c94f7761 15/pypy/jit/metainterp/resoperation.py: add comments: keep the backend in sync | 13:53 |
| stakkars_ (~tismer@i59F705BD.versanet.de) joined #pypy. | 13:53 | |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 13:54 | |
| Nick change: Gulaway -> Gulopine | 13:56 | |
| intgr (~ack@zombie.life.ee) joined #pypy. | 13:58 | |
| arigato | the sympy_expand benchmark got slower because of SpecialisedTuples because it starts more slowly | 14:05 |
| arigato | but at the end it's at least as fast as before | 14:05 |
| fijal (~fijal@41.55.155.233) joined #pypy. | 14:05 | |
| antocuni | why does it start more slowly? | 14:06 |
| arigato | I can only guess | 14:06 |
| arigato | but it's not too surprizing that *some* benchmark starts more slowly | 14:06 |
| arigato | because it has more specialised versions of tuples | 14:06 |
| antocuni | ah, so more paths to compile? | 14:07 |
| arigato | yes | 14:07 |
| antocuni | pff, I see | 14:07 |
| arigato | I don't know exactly which extra paths, though | 14:07 |
| arigato | jitviewer shows the same 20-most-used loops&bridges | 14:07 |
| antocuni | you could check the total number of loops&bridges | 14:07 |
| arigato | 140 vs 143 | 14:08 |
| arigato | not really relevant | 14:08 |
| mat^2 (~mathias@212.130.113.35) joined #pypy. | 14:08 | |
| antocuni | then your theory seems wrong :-) | 14:08 |
| arigato | I suppose | 14:08 |
| arigato | ah, there are really more bridges | 14:10 |
| arigato | the numbers 140 or 143 count loops & entry bridges only | 14:10 |
| antocuni | "obviously" | 14:11 |
| arigato | it's also a little bit slower with --jit off | 14:13 |
| fijal | arigato: there is a button "show all" | 14:13 |
| antocuni | uhm, this maybe means that specialized tuples are not really so useful? | 14:14 |
| arigato | antocuni: well, they give good improvements in other benchmarks, and are useful to save memory too | 14:14 |
| antocuni | ah ok | 14:14 |
| antocuni | I thought other benchmarks were unaffected | 14:15 |
| antocuni | but it's still strange that it's slower without the JIT, I'd expect to be faster as well | 14:15 |
| arigato | http://speed.pypy.org/changes/?tre=10&rev=50397%3A6fb87770b5d2&exe=1&env=1 | 14:15 |
| arigato | no, you create a least the same number of objects in total | 14:16 |
| arigato | without the jit | 14:16 |
| antocuni | well no, because you don't create all the .wrappeditems lists | 14:18 |
| arigato | you create less internal data structures for W_TupleObject, but e.g. you create one new W_IntObject every time you read it | 14:18 |
| antocuni | right | 14:18 |
| aboudreault | can codespeed be used for non-python software? | 14:18 |
| alex____ (~alex@D57D1AB2.static.ziggozakelijk.nl) left irc: Read error: Operation timed out | 14:19 | |
| arigato | maybe I should try a version with even less specialized versions | 14:19 |
| arigato | e.g. (int, int), (float, float), (object, object) and that's it | 14:20 |
| jnoller (~jnoller@vpn.nasuni.com) joined #pypy. | 14:22 | |
| alex__ (~alex@52487640.cm-4-1b.dynamic.ziggo.nl) joined #pypy. | 14:23 | |
| whitelynx (~whitelynx@63.241.75.144) joined #pypy. | 14:27 | |
| stakkars_ | arigato: out of curiosity: what are you trying? | 14:28 |
| stakkars_ | hi, btw. | 14:28 |
| fijal | aboudreault: sure | 14:29 |
| fijal | aboudreault: it just accepts HTTP JSON requests with results | 14:29 |
| aboudreault | fijal, cool | 14:29 |
| fijal | what do you want to use it for? | 14:29 |
| aboudreault | for our software maybe. | 14:30 |
| aboudreault | MapServer. a GIS renderer. | 14:30 |
| fijal | do you measure performance? | 14:30 |
| aboudreault | yes? | 14:30 |
| aboudreault | well... ie. the time it draw to draw 1000 lines in a map etc.. | 14:31 |
| aboudreault | *it takes to* | 14:31 |
| fijal | ok | 14:31 |
| fijal | do you want to know the rough architecture how we do it? | 14:31 |
| fijal | it's not like it's documented anywhere | 14:32 |
| aboudreault | Would be interresting yes. | 14:32 |
| fijal | so there are two parts | 14:32 |
| fijal | one is codespeed instance that renders stuff | 14:32 |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy. | 14:32 | |
| fijal | the other is periodically run benchmark runner | 14:33 |
| fijal | https://bitbucket.org/pypy/benchmarks | 14:33 |
| fijal | here is the runner | 14:33 |
| fijal | it runs given programs, they don't have to be python | 14:33 |
| fijal | and then uploads it to the given server using specific json format | 14:33 |
| stakkars_ | topic is the sympy_expand ? | 14:33 |
| fijal | we use buildbot to run it periodically, but you can use a cron job as well probably | 14:33 |
| bolotov (~bolotov@14-133-94-178.pool.ukrtel.net) joined #pypy. | 14:34 | |
| fijal | arigato: are we getting to the point where we want a specialized versions only if those are really used? | 14:35 |
| arigato | stakkars_: yes | 14:35 |
| arigato | fijal: what do you mean? | 14:35 |
| fijal (~fijal@41.55.155.233) left irc: Read error: Connection reset by peer | 14:36 | |
| stakkars_ | are the percent times between versions, or against CPython? | 14:37 |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy. | 14:38 | |
| fijal (~fijal@197.174.218.32) joined #pypy. | 14:38 | |
| Nick change: Gulopine -> Gulaway | 14:38 | |
| aboudreault | fijal, good, I've also checked to setup buildbot. | 14:38 |
| fijal | aboudreault: our buildbot setup is not very interesting | 14:39 |
| fijal | runner.py --help would give you enough info | 14:39 |
| aboudreault | alright | 14:40 |
| stakkars_ | ah I see. Quite a worsening in the last two days. | 14:40 |
| fijal | aboudreault: feel free to come back with questions | 14:41 |
| aboudreault | fijal, thanks a lot | 14:41 |
| fijal | aboudreault: if you happen to write a document "how do I set up a codespeed instance", we would be more than glad to put it somewhere :) | 14:41 |
| aboudreault | I could probably do that yes. | 14:43 |
| fijal | mattip: (for the logs) what's the status of your branches? | 14:43 |
| fijal | aboudreault: would be awesome | 14:43 |
| fijal | arigato: should we just remove the get_L2_cache | 14:44 |
| fijal | ? | 14:44 |
| fijal | and friends? | 14:44 |
| jterrace (~Adium@140.180.18.20) left irc: Quit: Leaving. | 14:45 | |
| nedbat | fijal: thanks for merging my branch, but maybe it would have been better to keep it open? | 14:46 |
| fijal | nedbat: you can always create a new one? | 14:46 |
| fijal | we generally encourage branch-per-feature style | 14:46 |
| fijal | of course if you commit to the branch it'll be open :) | 14:47 |
| nedbat | fijal: ok, i'm just learning the style here. I almost went ahead and added more to it before I saw you had already merged it. | 14:47 |
| fijal | antocuni: ping | 14:48 |
| fijal | nedbat: that would not be a disaster | 14:48 |
| fijal | nedbat: I mean if you somehow have local changes that would nicely go to this branch, feel free | 14:48 |
| fijal | however the general approach is small-branch-per-feature | 14:48 |
| fijal | but we're not very religious about that either | 14:48 |
| nedbat | fijal: ok, I'm getting the sense of it. | 14:48 |
| fijal | I would like to know how it looks from the outside btw :) | 14:49 |
| fijal | antocuni: I have an assertion error crash in OptimizeFfiCall | 14:49 |
| jterrace (~Adium@dynamic-oit-vapornet-b-1207.Princeton.EDU) joined #pypy. | 14:50 | |
| jterrace | it looks like rpython's string.split only takes a single character | 14:53 |
| jterrace | any way to get the stripping whitespace behavior | 14:54 |
| fijal | jterrace: what stripping whitespace behavior? | 14:55 |
| jterrace | string.strip(" s ") | 14:55 |
| jterrace | == "s" | 14:55 |
| fijal | string.strip?(" s ", " ") | 14:55 |
| fijal | like this? | 14:55 |
| jterrace | yeah but by default if there is not second argument, it uses string.whitespace | 14:56 |
| jterrace | string.strip(s, string.whitespace) | 14:56 |
| jterrace | i mean i could loop over the chars in string.whitespace i guess | 14:56 |
| fijal | ihm | 14:57 |
| fijal | you can always resort to applevel strip if you want to | 14:57 |
| fijal | sounds like an overkill | 14:57 |
| jterrace | yeah | 14:57 |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Textual IRC Client: http://www.textualapp.com/ | 14:57 | |
| fijal | I do use " " | 14:58 |
| antocuni | fijal: ouch :-/ | 14:59 |
| antocuni | do you know whichi? | 14:59 |
| fijal | antocuni: http://paste.pocoo.org/show/520289/ | 14:59 |
| fijal | I don't have an lldebug build | 14:59 |
| gsnedders (gsnedders@mail.gsnedders.com) left #pypy. | 15:00 | |
| fijal | antocuni: do you want the script? | 15:01 |
| fijal | it's one from https://bugs.pypy.org/issue959 | 15:01 |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) joined #pypy. | 15:01 | |
| antocuni | uhm, I don't have _get_interiordescr in my oldish working copy | 15:01 |
| antocuni | maybe someone added it recently? | 15:01 |
| fijal | no, you need a newer working copy :) | 15:01 |
| fijal | alex made some changes | 15:01 |
| Action: fijal -> food | 15:01 | |
| fijal | bbl | 15:01 |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 15:02 | |
| fprimex | fijal! man, prep for january maintenance here has been killing me. | 15:02 |
| JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 252 seconds | 15:02 | |
| fijal | fprimex: ? | 15:02 |
| antocuni | fijal: I bet it's the "unsupported ffitype or kind" AssertionError | 15:02 |
| fprimex | fijal: I just have not been able to spend any time getting familiar with pypy development, is all. | 15:03 |
| fprimex | I intended to be contributing by now, even if only a little bit | 15:03 |
| kenaan | 12jterrace numpy-full-fromstring 1106bf54903f53 15/pypy/module/micronumpy/: Refactor fromstring into text and binary | 15:08 |
| jterrace | fijal: if you see the two FIXME comments: https://bitbucket.org/pypy/pypy/compare/numpy-full-fromstring..default | 15:09 |
| jterrace | string.isspace doesn't seem to work either | 15:10 |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy. | 15:10 | |
| fijal | antocuni: why does ffi care even? | 15:14 |
| fijal | this thing is not dealing with any ffi types I think | 15:14 |
| antocuni | fijal: no clue, it's code which was written by alex | 15:15 |
| antocuni | you should ask him | 15:15 |
| fijal | Alex_Gaynor: ? | 15:15 |
| fijal | fprimex: it's fine I guess :) | 15:15 |
| fijal | jterrace: I guess you should not import string in RPython | 15:16 |
| fijal | jterrace: you can do character.isspace() | 15:17 |
| fijal | so s[0].isspace() | 15:17 |
| fijal | would work | 15:17 |
| stakkars_ (~tismer@i59F705BD.versanet.de) left irc: Quit: schnarch | 15:19 | |
| aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection | 15:26 | |
| jterrace | fijal: that import string isn't being used atm | 15:26 |
| jterrace | so i'd have to do soemthing like all(c.isspace() for c in s) | 15:28 |
| kenaan | 12arigo default 11bbbbff8ac1d3 15/pypy/objspace/std/: Checking a lighter variant of SpecialisedTuples with only 'ii', 'ff' and 'oo' specialisations. It seems that the p... | 15:29 |
| arigato | uh, I totally missed fijal's merge of jit-simplify-backendintf | 15:30 |
| arigato | champagne! | 15:31 |
| arigato | "How has PyPy performance evolved over time?" is now saying "5.0x" | 15:32 |
| gutworth | alias "well"? | 15:33 |
| khs (~khs@151.43.202.84.customer.cdi.no) left irc: Quit: Leaving | 15:33 | |
| mattip (~chatzilla@bzq-109-65-117-197.red.bezeqint.net) joined #pypy. | 15:35 | |
| mattip | fijal: I should have two branches | 15:36 |
| mattip | One is an ongoing implementation of frompy func, which I would like to work on a bit, but passes tests. | 15:36 |
| mattip | It does immediate evaluation on the function call, I'm thinking that if I can get it to properly inherit from VirtualView then I will get lazy evaluation. | 15:37 |
| arigato | mattip: careful about user-visible side-effects here | 15:38 |
| arigato | if a pure Python function is going to be called later or not at all, then it's a user-visible side-effect | 15:39 |
| mattip | That's why I didn;t do it in the first place, I didn't want users to see "oh it's an array" | 15:39 |
| mattip | ok, I see. | 15:39 |
| mattip | I'll try to see what numpy/cpython does. | 15:40 |
| mattip | The other branch is an implementation of multidemension dot (matrix multiplication). | 15:41 |
| fijal | jterrace: except RPython | 15:41 |
| fijal | all is not rpython | 15:41 |
| mattip | I implemented it during the discussion of iterator refactoring, and it uses iterators heavily (and probably poorly). | 15:42 |
| fijal | it needs some special axis-based iterators IMO | 15:42 |
| arigato | fijal: to recreate the effects of "useful" in regalloc.py, I'm thinking of this hack: | 15:43 |
| mattip | Yes, that was the approach I took, only I divided it into an axis-based iterator and then a onedim iterator. | 15:43 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Quit: Leaving | 15:44 | |
| arigato | when we see the LABEL that the loop JUMPs back to, then we check which boxes are not "useful" between the LABEL and the JUMP | 15:44 |
| arigato | and we force_spill these boxes | 15:44 |
| arigato | makes sense? | 15:44 |
| mattip | bottom line: I'm waiting for the dust to settle around iterators before continuing. | 15:44 |
| fijal | wow, freebsd still uses CVS | 15:44 |
| fijal | arigato: yop | 15:45 |
| fijal | arigato: also, cleaner | 15:45 |
| jterrace (~Adium@dynamic-oit-vapornet-b-1207.Princeton.EDU) left irc: Quit: Leaving. | 15:45 | |
| fijal | can we maybe think how to make JUMP not have stuff randomly, but in the correct regs? | 15:45 |
| mvt (~mvantelli@87.213.45.85) left irc: Quit: Leaving | 15:45 | |
| ronan (~ronan@host86-142-249-87.range86-142.btcentralplus.com) left irc: Read error: Connection reset by peer | 15:46 | |
| arigato | fijal: in addition to the recent hack that puts stuff at least in the correct stack location? | 15:47 |
| fijal | yes | 15:47 |
| fijal | so | 15:47 |
| fijal | freebsd port uses --objspace=thunk | 15:47 |
| arigato | it leaves a smaller opportunity for gains | 15:47 |
| arigato | but yes, I suppose it can be done | 15:48 |
| fijal | http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/pypy/Makefile?rev=1.1;content-type=text%2Fplain;only_with_tag=HEAD | 15:48 |
| fijal | the choice of options is IMO *very* random | 15:49 |
| arigato | "--objspace=thunk" is only in the help string, afaict? | 15:49 |
| ronny | yup | 15:49 |
| fijal | well | 15:50 |
| fijal | why is it there? | 15:50 |
| arigato | it's an example | 15:50 |
| andreypopp1 (Adium@46.250.131.33) left #pypy. | 15:50 | |
| arigato | I agree that it looks random, but it is exampleish | 15:51 |
| fijal | ah ok | 15:51 |
| arigato | I'm more impressed by people writing pages of Makefiles around our existing tools, but I suppose that's what maintainers love | 15:51 |
| tito (~tito@pdpc/supporter/bronze/tito) left irc: Changing host | 15:51 | |
| tito (~tito@pdpc/supporter/active/tito) joined #pypy. | 15:51 | |
| tumbleweed | fijal: ah, duh, worked out why pypy wasn't building on my desktop. I'm using tmpfs for /tmp (it's the default these days) | 15:52 |
| fijal | indeed, I would think when it comes to editing PyPy, sed is not the best thing to do | 15:53 |
| fijal | tumbleweed: what's wrong with tmpfs? | 15:53 |
| fijal | I'm using it as well I think | 15:53 |
| ronny | fijal: it takes ram/swap | 15:53 |
| arigato | tumbleweed: maybe it's too small for you? | 15:53 |
| fijal | tumbleweed: ah, that's why youneed 6G? | 15:54 |
| arigato | either that or you don't have enough ram+swap | 15:54 |
| tumbleweed | oh, right, the stuff pypy puts in /tmp isn't massive | 15:54 |
| arigato | well, still almost 1G I think | 15:54 |
| tumbleweed | but it's building happily today, and wasn't last week | 15:54 |
| Action: tumbleweed has no idea | 15:54 | |
| Action: tumbleweed has 6G, and it wasn't enough | 15:55 | |
| tumbleweed | anyway, I don't think I was setting TMPDIR to outside /tmp/ then, so that's *possibly* the cause of my problems... | 15:57 |
| arigato | tumbleweed: I don't know in your distrib, but by default on Linux the tmpfs is limited to half the ram size | 15:57 |
| tumbleweed | yes | 15:57 |
| arigato | you'd think that 6GB/2 would be enough, but it depends on what else is there | 15:58 |
| tumbleweed | just been playing around to work out what it needed, and it seems to build on a box that has all but 4G mlocked | 15:58 |
| tumbleweed | also, there is swap, and some people say tmpfs writes to swap faster than any other fs writes to disk. That's not my experience of it... | 15:58 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 15:59 | |
| fijal | arigato: no, not for 64bit | 15:59 |
| fijal | it's 3G + something | 15:59 |
| fijal | also there is not 6 left, because OS and whatnot | 15:59 |
| arigato | fijal: I'm talking about the limit on the tmpfs size | 16:00 |
| fijal | ok | 16:00 |
| arigato | which should be 3G by default | 16:00 |
| tumbleweed | don' tthink the tmpfs was filling up | 16:00 |
| fijal | arigato: but it still would collapse with the translation | 16:00 |
| arigato | tumbleweed: ok, then I have a bit no clue | 16:00 |
| Action: tumbleweed must run off, anyway | 16:01 | |
| arigato | fijal: as far as I can tell, on Linux at least, a tmpfs is always better than a disk filesystem, as long as it doesn't hit a limit | 16:01 |
| arigato | if it doesn't have enough RAM: (1) it swaps to disk in case of a tmpfs, and (2) it forces to disk the disk caches in case of non-tmpfs | 16:02 |
| arigato | which is basically the same | 16:02 |
| fijal | ok | 16:03 |
| fijal | hm, no I don't have tmpfs | 16:03 |
| fijal | arigato: but maybe there was not enough swap for example? | 16:03 |
| arigato | yes, that's possible | 16:03 |
| maxyz (~maxy@186.18.94.35) left irc: Ping timeout: 255 seconds | 16:03 | |
| fijal | eh | 16:04 |
| fijal | I fail to understand people | 16:05 |
| fijal | arigato: so the guy writes about me dulwich/bzr | 16:05 |
| arigato | the world is full of non-understandable people, I don't worry too much about this fact, but that may be only me :-) | 16:05 |
| fijal | and for him it seems to be easier to write a client in C that would do all kinds of data transmission | 16:05 |
| fijal | than figuring out why his pypy-c is importing socket longer than mine | 16:05 |
| fijal | (much longer) | 16:05 |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Read error: Connection reset by peer | 16:06 | |
| fijal | but whatever | 16:06 |
| fijal | arigato: ok, I'll stop complaining | 16:06 |
| maxyz (~maxy@186.18.94.35) joined #pypy. | 16:06 | |
| fijal | arigato: RPython dict (not r_dict) that contains tuples would hash them normally right? | 16:07 |
| arigato | "normally"? | 16:08 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds | 16:08 | |
| arigato | the hashing of these is unrolled, so it should all be jitted | 16:09 |
| fijal | normally as in not by identity | 16:09 |
| arigato | yes | 16:09 |
| fijal | ok | 16:09 |
| fijal | and you can't mix None and a tuple right? | 16:09 |
| arigato | exact | 16:10 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 16:10 | |
| alex__ (~alex@52487640.cm-4-1b.dynamic.ziggo.nl) left irc: Quit: leaving | 16:20 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 16:21 | |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) joined #pypy. | 16:23 | |
| jterrace (~jterrace@aegis.CS.Princeton.EDU) joined #pypy. | 16:25 | |
| jterrace | Alex_Gaynor: ping | 16:26 |
| fijal | jterrace: hey, what bothers you? | 16:30 |
| jterrace | some of these corner cases are just ridiculous | 16:30 |
| jterrace | http://paste.pocoo.org/show/520319/ | 16:30 |
| jterrace | sometimes it converts bad values to 0, sometimes -1 | 16:30 |
| jterrace | sometimes it just stops loading, other times it continues | 16:30 |
| jterrace | i wonder whether we should keep total compatibility or not | 16:31 |
| fijal | I don't think we can | 16:31 |
| kkris (~kris@93-82-42-16.adsl.highway.telekom.at) joined #pypy. | 16:33 | |
| jterrace | ok | 16:35 |
| jterrace | hah | 16:36 |
| jterrace | fijal: want to see a good one? | 16:36 |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) left irc: Quit: Leaving | 16:36 | |
| fijal | sure :) | 16:36 |
| jterrace | http://paste.pocoo.org/show/520322/ | 16:36 |
| jterrace | gotta love it | 16:37 |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) joined #pypy. | 16:37 | |
| fijal | nice | 16:37 |
| fijal | probably we don't have to support that one | 16:37 |
| jterrace | the exception is also not helpful | 16:37 |
| `fox` (~fox@95.233.109.194) joined #pypy. | 16:40 | |
| jterrace | wtf | 16:40 |
| jterrace | this one is just nuts: http://paste.pocoo.org/show/520324/ | 16:40 |
| jterrace | they special cased spaces | 16:40 |
| jterrace | same for tabs, i guess they special cased whitespace | 16:42 |
| G2P (~G2P@fw-asn1.ornis.com) left irc: Remote host closed the connection | 16:49 | |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy. | 16:51 | |
| mattip | sheesh, good luck trying to imitate that | 16:55 |
| fijal | mattip: frompyfunc is pretty broken according to alex | 16:59 |
| fijal | it always generates an object array | 16:59 |
| bivab_ (~david@134.99.38.77) joined #pypy. | 17:04 | |
| bivab_ (~david@134.99.38.77) left irc: Client Quit | 17:04 | |
| tnelson (~trent@trent.me) left irc: Read error: Connection reset by peer | 17:05 | |
| tnelson_ (~trent@trent.me) joined #pypy. | 17:05 | |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 17:07 | |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) joined #pypy. | 17:07 | |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) left irc: Ping timeout: 252 seconds | 17:08 | |
| aleksi (~aleksi@176.57.74.133) joined #pypy. | 17:09 | |
| mattip | OK. I'll try to fix it soon. I expect it will take a while before it is ready for merge. | 17:10 |
| lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) left irc: Ping timeout: 240 seconds | 17:11 | |
| mattip | Stupid question time. I'm trying to get Issue959 to reproduce with "python bin/py.py " | 17:11 |
| fijal | no, the cpython numpy is broken | 17:11 |
| fijal | because it does not make sense at all | 17:11 |
| aleksi (~aleksi@176.57.74.133) left irc: Remote host closed the connection | 17:11 | |
| fijal | we don't even have an object array | 17:11 |
| fijal | mattip: you can't reproduce this with py.py, it's a jit problem | 17:12 |
| mattip | I added --withmod-pypyjit, that was wrong I guess. | 17:12 |
| fijal | that does not help | 17:12 |
| fijal | the jit requires graphs for transformation | 17:12 |
| mattip | so it can only be debugged in a fully translated pypy, right? | 17:14 |
| fijal | it can probably be debugged using pypyjit.py | 17:15 |
| fijal | but yes, the main strategy would be to use the full pypy | 17:15 |
| fijal | stare at traces and see what's wrong | 17:15 |
| mattip | out of my league. | 17:15 |
| Squarepy (~Squarepy@wcw-staff-214-224.wireless.uva.nl) joined #pypy. | 17:16 | |
| Squarepy (~Squarepy@wcw-staff-214-224.wireless.uva.nl) left irc: Changing host | 17:16 | |
| Squarepy (~Squarepy@unaffiliated/squarepy) joined #pypy. | 17:16 | |
| fijal | mattip: I tried debugging it and run into some other issue | 17:17 |
| fijal | so it might be connected | 17:17 |
| fijal | (I can a fatal RPython error, assertion hit) | 17:17 |
| mattip | OK, yoda, I'll cheer from the sidelines | 17:18 |
| fijal | I'm doing something else now, because this is in some code alex wrote so I'll wait for him to show up :) | 17:18 |
| mtigas (~mtigas@users.spokesman.com) joined #pypy. | 17:20 | |
| `fox` (~fox@95.233.109.194) left irc: Ping timeout: 240 seconds | 17:21 | |
| Nick change: asksol_ -> asksol | 17:23 | |
| xenru (~Adium@matrix-217-146-248-10.matrix.farlep.net) left irc: Quit: Leaving. | 17:30 | |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Remote host closed the connection | 17:32 | |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) left irc: Quit: Bye! | 17:32 | |
| jterrace | fijal: numpy.int32(2) + 1 should be 3 | 17:33 |
| jterrace | but it gets an exception | 17:33 |
| jterrace | did that used to work? | 17:33 |
| fijal | no idea | 17:34 |
| arigato | I doubt that it did --- that's also what tests are for | 17:35 |
| jterrace | yeah i know | 17:35 |
| jterrace | but there arent any for that | 17:35 |
| arigato | well, I hope that if it used to work, someone would have written a test in micronumpy/test/ | 17:35 |
| arigato | so from there we can safely conclude that it never worked :-) | 17:36 |
| jterrace | heh | 17:36 |
| Action: arigato -> food | 17:43 | |
| arigato (~arigo@fwstups.cs.uni-duesseldorf.de) left irc: Quit: See you | 17:43 | |
| Alex_Gaynor | jterrace, fijal: pong | 17:47 |
| mattip | well, I found a version it worked on: 1ef0414a0491. I guess it's time to do my first hg bisect. | 17:48 |
| jterrace | hey Alex_Gaynor: couple questions | 17:57 |
| Alex_Gaynor | sure | 17:57 |
| kkris (~kris@93-82-42-16.adsl.highway.telekom.at) left irc: Ping timeout: 245 seconds | 17:57 | |
| fijal | Alex_Gaynor: did you see the optimizeopt_ffi crash? | 17:57 |
| jterrace | so the numpy-full-fromstring branch | 17:57 |
| Alex_Gaynor | fijal: no, is it with unsigneds? | 17:57 |
| jterrace | i refactored bin vs. text | 17:57 |
| Alex_Gaynor | fijal: is the pypy out of date | 17:57 |
| jterrace | but there are some really strange corner cases so wanted to know your thoughts on whether we have to be completely compatible | 17:58 |
| fijal | Alex_Gaynor: nope, fairly new | 17:58 |
| fijal | https://bugs.pypy.org/issue959 | 17:58 |
| fijal | code from this bug crashes for me with assert error | 17:58 |
| jterrace | e.g., http://paste.pocoo.org/show/520329/ and http://paste.pocoo.org/show/520322/ | 17:58 |
| Alex_Gaynor | fijal: neewer than 617e1464542c | 17:58 |
| fijal | Alex_Gaynor: can you just check on some new one? | 17:58 |
| Alex_Gaynor | fijal: sure | 17:58 |
| fijal | mine is 315da4da5ab0, | 17:59 |
| Alex_Gaynor | jterrace: what are you rthoughts on stripping out the text version, committing the dtype improved binary version, and then trying to figure out which special cases we care about | 17:59 |
| jterrace | hmm | 17:59 |
| Alex_Gaynor | fijal: that's older | 17:59 |
| Alex_Gaynor | fijal: which example from that page? | 17:59 |
| fijal | Alex_Gaynor: ok, can you check if it's still a problem then? | 17:59 |
| fijal | last one | 17:59 |
| jterrace | well isn't partial support better than none? | 17:59 |
| kkris (~kris@93-82-42-16.adsl.highway.telekom.at) joined #pypy. | 17:59 | |
| fijal | or the newest | 17:59 |
| jterrace | it works for all correct cases, it just handles errors slightly differently because regular numpy's error handling is so strange | 18:00 |
| Alex_Gaynor | fijal: doesn't crash | 18:00 |
| _pyre_ (~stian@137.241.189.109.customer.cdi.no) joined #pypy. | 18:01 | |
| Alex_Gaynor | jterrace: ok, I'll have to review, I wonder if we shouldn't make the error handling raise an error though, just to be 100% sure that no data is messed up | 18:01 |
| jterrace | if i can figure out how to call trim on a string in rpython, i can probably make it compatible | 18:01 |
| fijal | Alex_Gaynor: does it produce bad data? | 18:01 |
| fijal | read the example | 18:01 |
| jterrace | no, it raises an error | 18:01 |
| Alex_Gaynor | fijal: http://paste.pocoo.org/show/520371/ | 18:01 |
| Alex_Gaynor | so yes? | 18:01 |
| fijal | yes | 18:02 |
| fijal | then it is broken anyway | 18:02 |
| Alex_Gaynor | fijal: FWIW it doesn't happen right after JITing | 18:02 |
| Alex_Gaynor | it happens like 90 iterations later | 18:03 |
| fijal | some bridge | 18:03 |
| fijal | ? | 18:03 |
| ronan (~ronan@host86-142-249-87.range86-142.btcentralplus.com) joined #pypy. | 18:03 | |
| fijal | Alex_Gaynor: I was trying to wrap up my mind about refactoring signature today | 18:03 |
| Alex_Gaynor | err I guess, maybe it's not precisely 90 | 18:03 |
| fijal | failed a bit :/ | 18:03 |
| papercrane (~papercran@75.101.111.82) joined #pypy. | 18:03 | |
| _pyre_ | I think there is a bug in cpyext | 18:03 |
| _pyre_ | http://pastebin.com/bSWk5k9m | 18:04 |
| _pyre_ | if I call on the decrypt function pypy just gets stuck | 18:04 |
| _pyre_ | no error or anything | 18:04 |
| _pyre_ | latest nightly | 18:05 |
| _pyre_ | works fine in CPython 2.7 | 18:05 |
| jterrace | Alex_Gaynor: my second question was about how to make numpy.int32(1) + 1 work | 18:05 |
| Alex_Gaynor | jterrace: it should | 18:05 |
| jterrace | it doesn't | 18:06 |
| Alex_Gaynor | it works on the pypy I have | 18:06 |
| Alex_Gaynor | then it's a recent breakage | 18:06 |
| jterrace | i tried it on last night's nightly | 18:06 |
| jterrace | and it throws an exception | 18:06 |
| fijal | Alex_Gaynor: are there tests for it? | 18:06 |
| jterrace | is it from the change in coerce i made for strings? | 18:06 |
| jterrace | we should add tests for them | 18:06 |
| Alex_Gaynor | jterrace: it must be on your end, it works in py.py on default for me | 18:06 |
| Alex_Gaynor | fijal: I think so | 18:06 |
| mattip | jterrace: what platform? | 18:07 |
| jterrace | hmm | 18:07 |
| jterrace | let me double check | 18:07 |
| jterrace | i tried it on linux64 | 18:07 |
| Alex_Gaynor | that's what I'm on | 18:07 |
| jterrace | huh | 18:08 |
| jterrace | it works now | 18:08 |
| jterrace | i swear it didnt work earlier | 18:08 |
| jterrace | oh | 18:10 |
| jterrace | it's the reverse | 18:10 |
| jterrace | 1 - np.int32(1) | 18:10 |
| jterrace | but only for subtraction? | 18:11 |
| Alex_Gaynor | jterrace: oh, that's because we haven't added __rsub__ | 18:11 |
| jterrace | oh | 18:11 |
| lmoura (lmoura@gateway/indt/session) left irc: Ping timeout: 240 seconds | 18:11 | |
| jterrace | np.int32(1) - 1 works | 18:11 |
| Alex_Gaynor | we have __sub__ | 18:11 |
| Alex_Gaynor | I'll add rsub now | 18:11 |
| jterrace | oh i see | 18:11 |
| jterrace | nice thanks | 18:11 |
| lmoura (lmoura@gateway/indt/session) joined #pypy. | 18:12 | |
| Alex_Gaynor | np | 18:12 |
| Alex_Gaynor | hmm, these test files should be split up better | 18:13 |
| Alex_Gaynor | oh well, a problem for another day | 18:13 |
| mattip | I'm back at frompyfunc. If I get a user-defined function, I should store a copy of it, just in case users decide to modify it. | 18:13 |
| mattip | How do I copy a function? | 18:14 |
| aleksi (~aleksi@176.57.74.133) joined #pypy. | 18:14 | |
| Alex_Gaynor | I don't think you need to copy it | 18:15 |
| shawn_ (~shawn@208-78-98-92.slicehost.net) left irc: Ping timeout: 240 seconds | 18:17 | |
| mattip | OK, I'll write a test just to make sure. | 18:18 |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 18:18 | |
| kenaan | 12alex_gaynor default 11c3836e8813ff 15/pypy/module/micronumpy/: added __rsub__ for numpy boxes | 18:19 |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Ping timeout: 252 seconds | 18:20 | |
| bolotov (~bolotov@14-133-94-178.pool.ukrtel.net) left irc: Quit: Leaving. | 18:22 | |
| fijal | Alex_Gaynor: refactoring signature is tricky | 18:24 |
| fijal | I have quite a few requirements and it's not going down very well | 18:24 |
| fijal | like I don't really want to do a dict lookup per operation | 18:25 |
| Alex_Gaynor | fijal: too bad we don't have a digital whiteboard | 18:26 |
| fijal | yeah | 18:26 |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) joined #pypy. | 18:26 | |
| fijal | I can explain my requirements though | 18:26 |
| fijal | so you can think | 18:26 |
| Alex_Gaynor | fijal: this was a cool thing about IBM, all offices I saw had whiteboards | 18:26 |
| fijal | so | 18:26 |
| fijal | * I want operations to be simple, so a + b generates Add(a, b) | 18:26 |
| fijal | with just a malloc | 18:26 |
| Alex_Gaynor | not going to happen | 18:27 |
| fijal | why? | 18:27 |
| Alex_Gaynor | you need a dict lookup to cache trees | 18:27 |
| Alex_Gaynor | maybe we can find a way to make it pure, but that's not important ATM (IMO) | 18:27 |
| fijal | no | 18:28 |
| Alex_Gaynor | ? | 18:28 |
| fijal | you only need a dict lookup at the moment where you force it | 18:29 |
| Alex_Gaynor | in order to find the cached tree, yes I suppose you can do it that way | 18:30 |
| Alex_Gaynor | anyways you a) don't want to have an Add operation, you want a call2 operation still IMO | 18:30 |
| Alex_Gaynor | do you plan to compute iterator sharing eagerly or lazily? | 18:30 |
| Alex_Gaynor | i.e. at op time or at force time | 18:31 |
| fijal | you can't do that eagerly | 18:32 |
| fijal | well, "can't" is a bit too much | 18:32 |
| fijal | but it's very hard to do it at some other time than force time | 18:32 |
| Alex_Gaynor | you can, but you hvae to traverse teh whole tree at each new operation | 18:32 |
| stakkars_ (~tismer@82.113.99.46) joined #pypy. | 18:32 | |
| fijal | yes, O(n^2) | 18:33 |
| Alex_Gaynor | also, I think you'll need both iterator AND array sharing | 18:33 |
| Alex_Gaynor | array sharing doesn't save you ops, but it saves registers, even more important | 18:33 |
| Alex_Gaynor | e.g. you can't share iterators for u[i:] + u, but you can share storage | 18:33 |
| santagada (~leonardo@189.27.189.108.dynamic.adsl.gvt.net.br) left irc: Ping timeout: 240 seconds | 18:34 | |
| fijal | it does save you ops | 18:35 |
| fijal | ah ok, you meant that | 18:35 |
| Alex_Gaynor | yeah | 18:35 |
| fijal | u + u does share you ops | 18:35 |
| Alex_Gaynor | yes | 18:35 |
| fijal | er | 18:35 |
| fijal | save you | 18:35 |
| fijal | anyway, so my problem is that I probably want signature that traverses the entire tree ("compile") | 18:36 |
| fijal | at the moment of forcing | 18:36 |
| fijal | I suppose I don't have a problem then :) | 18:36 |
| Alex_Gaynor | indeed | 18:37 |
| stakkars_ (~tismer@82.113.99.46) left irc: Ping timeout: 244 seconds | 18:37 | |
| fijal | ok, cool, that kinda solves | 18:37 |
| fijal | it | 18:37 |
| fijal | because then I can create the numbering | 18:37 |
| fijal | so say | 18:37 |
| fijal | a + a | 18:37 |
| fijal | and b * (a + a) | 18:37 |
| fijal | won't share a subtree | 18:37 |
| fijal | which is ok I suppose | 18:37 |
| Alex_Gaynor | you should still share iterators and arrays for b * (a + a) | 18:38 |
| fijal | yes yes | 18:38 |
| fijal | but what I mean is that | 18:38 |
| fijal | a + a and b * (a + a) have nothing in common | 18:38 |
| fijal | they won't even have the same signature | 18:38 |
| Alex_Gaynor | oh yes, well you're compiling a single piece of asm for b * (a + a) so there's no way to share with something else | 18:39 |
| DasIch_ (~dasich@p4FFDC921.dip.t-dialin.net) left irc: Ping timeout: 240 seconds | 18:40 | |
| fijal | well right now the assembler is not shared | 18:41 |
| fijal | but signature is | 18:41 |
| fijal | that is a kid in b * (a + a) would be the same sig | 18:41 |
| Alex_Gaynor | fijal: yes but "who cares" | 18:41 |
| Alex_Gaynor | it's not useful to share that obj | 18:41 |
| fijal | yes :) | 18:41 |
| Alex_Gaynor | it's not like 30 bytes is that important | 18:41 |
| fijal | I'm treating you as my rubber duck | 18:42 |
| fijal | thank you :) | 18:42 |
| Alex_Gaynor | hey I'm awake now, maybe even useful | 18:42 |
| fijal | fix the issue I posted earlier ;-) | 18:42 |
| fijal | the main thing is I want to move more stuff to signature | 18:42 |
| fijal | probably things like eval | 18:42 |
| Alex_Gaynor | well, I think you need 2 types of signature | 18:42 |
| fijal | compiled and uncompiled, yes | 18:42 |
| Alex_Gaynor | the operation signature, which is uncached and is a simple tree | 18:42 |
| fijal | well | 18:43 |
| Alex_Gaynor | and the compiled signature which is chached and has computed iterator and array sharing | 18:43 |
| fijal | I have the uncompiled signature in the form or arrays no? | 18:43 |
| Alex_Gaynor | yes, uncompiled signature is really just the tree | 18:43 |
| fijal | now what would be really cool would be to be able to quickly check | 18:44 |
| fijal | "was this ever compiled?" | 18:44 |
| fijal | and have a quick answer without necesarilly traversing the tree | 18:44 |
| Alex_Gaynor | let's not worry about that | 18:44 |
| fijal | but I don't think it's easily possible | 18:44 |
| Alex_Gaynor | let's get the basic idea working, and refine from there | 18:44 |
| Alex_Gaynor | because I don't see how to do it easily | 18:44 |
| fijal | me neither | 18:44 |
| Alex_Gaynor | well it's not super important | 18:45 |
| Alex_Gaynor | it's something that you really only need once per forcing | 18:45 |
| Alex_Gaynor | and on large arrays it's totallyl ost in the noise | 18:45 |
| fijal | yes, but well | 18:45 |
| fijal | you can cheat a bit :) | 18:45 |
| fijal | like have a normal tree checking function, but somehow pack it in a @elidable | 18:46 |
| Alex_Gaynor | something which can be done later | 18:46 |
| fijal | yes | 18:46 |
| fijal | for large arrays yes, but we want to simplify creation of small arrays | 18:46 |
| fijal | because right now it's eg. easy to run out of trace limit | 18:46 |
| fijal | we do tons of nonsense | 18:46 |
| santagada (~leonardo@189.27.187.218.dynamic.adsl.gvt.net.br) joined #pypy. | 18:46 | |
| fijal | like half of the list copying is no longer necessary because I improved the list-comprehension-detection | 18:47 |
| fijal | etc. etc. | 18:47 |
| fijal | later later though | 18:47 |
| Alex_Gaynor | yes | 18:47 |
| fijal | from cool stuff, Call2Iterator and such goes away | 18:47 |
| fijal | we'll only iterate over actual arrays | 18:47 |
| Alex_Gaynor | yes | 18:48 |
| Alex_Gaynor | you'll need a virtualizable to store all the arrays though | 18:48 |
| Alex_Gaynor | so it gets unpacked | 18:48 |
| Alex_Gaynor | actually seems kind of easy to do, now that we've rubber ducked it all | 18:48 |
| fijal | :] | 18:49 |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 18:50 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum | 18:51 | |
| fijal | Alex_Gaynor: also feel free to review the gzip benchmark | 18:51 |
| jterrace | Alex_Gaynor: any clean way to do the equivalent of some_str.strip() in rpython? | 18:52 |
| DasIch_ (~dasich@p3E9912DF.dip.t-dialin.net) joined #pypy. | 18:52 | |
| stakkars_ (~tismer@89.204.153.217) joined #pypy. | 18:53 | |
| Alex_Gaynor | jterrace: well, take a look at objspace/std/strutil.py:<strip> | 18:56 |
| Alex_Gaynor | strip_spaces | 18:56 |
| Alex_Gaynor | it does what you want | 18:56 |
| alistra | you should use rstrip since it's rpython :D | 18:56 |
| jterrace | wait is that a joke | 18:56 |
| alistra | yes | 18:57 |
| jterrace | that took a second to sink in :) | 18:57 |
| witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy. | 18:57 | |
| alistra | yeah, tough crowd | 18:58 |
| mattip | Turns out that f=frompyfunc(foo, 1, 1); foo = bar results in f still using the original foo. | 19:01 |
| fijal | mattip: yes, expected | 19:01 |
| mattip | but both in numpypy and numpy f=frompyfunc(foo, 1, 1); foo.func_code = bar.func_code results in f still using bar! | 19:02 |
| fijal | Alex_Gaynor: don't you think that array of object is such a dumb idea? | 19:02 |
| Alex_Gaynor | it does what you want it? | 19:02 |
| stakkars_ (~tismer@89.204.153.217) left irc: Quit: schnarch | 19:02 | |
| Alex_Gaynor | WTF my keyboard is screwing up | 19:02 |
| Alex_Gaynor | I meant to say: "Who came up with such a silly idea" | 19:02 |
| fijal | :] | 19:03 |
| mattip | I want world peace. But in this case, all I want is numpy compatability. | 19:03 |
| Alex_Gaynor | the only way for us to support them will be a GC finder thing like armin wrote for shadowstack | 19:03 |
| fijal | Alex_Gaynor: why? | 19:04 |
| fijal | we can just have an rpython list of object no? | 19:04 |
| fijal | or it has to have an address in C?? | 19:04 |
| jterrace | why not just compile numpy to javascript with emscripten and embed a javascript interpreter in pypy | 19:05 |
| jterrace | im sure that would be fast enough | 19:05 |
| Alex_Gaynor | fijal: a) you cannot share the attribute on ndim array, b) how do you do the composite dtypes | 19:05 |
| fijal | jterrace: did you invent it yourself or did you find a commit on reddit? | 19:05 |
| aleksi (~aleksi@176.57.74.133) left irc: Remote host closed the connection | 19:05 | |
| fijal | Alex_Gaynor: right | 19:05 |
| fijal | Alex_Gaynor: ok, it's just dumb and we'll never support it | 19:06 |
| jterrace | oh that was all me | 19:06 |
| Alex_Gaynor | fijal: how do we do frompyfunc then? | 19:06 |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 19:06 | |
| aleksi (~aleksi@176.57.74.133) joined #pypy. | 19:07 | |
| mattip | In the mean time, I just make up a dtype to return. | 19:07 |
| fijal | Alex_Gaynor: I think we break compatibility and put it under a different name/namespace? | 19:08 |
| fijal | it seems genuinely useful on pypy only | 19:08 |
| ericflo (~ericflo@75.103.8.110) joined #pypy. | 19:09 | |
| Alex_Gaynor | fijal: sure, I want to move debug repr stuff to __pypy__ submodule anyways | 19:09 |
| Alex_Gaynor | let me do that now | 19:09 |
| fijal | as in numpy.__pypy__? | 19:10 |
| fijal | numpypy.__pypy__? | 19:10 |
| fijal | or where? | 19:10 |
| Alex_Gaynor | y-se | 19:10 |
| fijal | er? | 19:10 |
| fijal | yes? | 19:11 |
| Alex_Gaynor | numpypy.__pypy__ | 19:11 |
| fijal | don't you think two pypy's in one namespace is a little bit too much | 19:11 |
| fijal | and __ | 19:11 |
| fijal | ? | 19:11 |
| fijal | numpypy.debug | 19:11 |
| fijal | numpypy.special | 19:11 |
| fijal | ? | 19:11 |
| jterrace | np.array([1,2]) == np.array([1,2,3]) gets a ValueError, but it should be False | 19:11 |
| Alex_Gaynor | no, I like to be clear :) | 19:11 |
| fijal | then at least trim __ | 19:12 |
| fijal | numpypy.pypy sounds good enough | 19:12 |
| Alex_Gaynor | ok | 19:13 |
| jterrace | np.int32() should be 0, but it gets a TypeError | 19:18 |
| jterrace | i need to start keeping a list of these things | 19:18 |
| Alex_Gaynor | jterrace: extradoc/planning/micronumpy.txt | 19:19 |
| etrepum (~bob@accessnat4.mochimedia.net) joined #pypy. | 19:20 | |
| jterrace | where is that? | 19:21 |
| jterrace | i dont see a micronumpy.txt anywhere | 19:21 |
| Alex_Gaynor | sorry this is a different repo | 19:21 |
| jterrace | oh i see | 19:21 |
| Alex_Gaynor | https://bitbucket.org/pypy/extradoc | 19:22 |
| jterrace | you cant edit online with bitbucket like you can with github? | 19:22 |
| jterrace | bummer | 19:23 |
| fijal | that is probably a good thing | 19:25 |
| Alex_Gaynor | fijal: it's nice for just editing docs and such | 19:26 |
| jterrace | it's nice for quick edits like an RST list | 19:26 |
| kenaan | 12alex_gaynor default 119b76d833f3c4 15/pypy/module/micronumpy/: Move __debug_repr__ in micronumpy into a new numpypy.pypy module | 19:26 |
| fijal | jterrace: it also make it very easy to do a quick edit without running tests | 19:26 |
| jterrace | sure it should obviously be discouraged for code | 19:27 |
| jterrace | can i use set() in rpython? | 19:29 |
| Alex_Gaynor | nope | 19:30 |
| jterrace | bummer | 19:30 |
| Alex_Gaynor | if you use a dict and the values are always None it optimizes that field away though | 19:30 |
| jterrace | hmm well i wanted the subset functionality | 19:30 |
| Alex_Gaynor | oh | 19:30 |
| jterrace | actually i think i have a clever workaround | 19:31 |
| aleksi (~aleksi@176.57.74.133) left irc: Remote host closed the connection | 19:35 | |
| fijal (~fijal@197.174.218.32) left irc: Ping timeout: 276 seconds | 19:36 | |
| kenaan | 12hager ppc-jit-backend 1120d7accd990a 15/pypy/jit/backend/ppc/ppcgen/register.py: r0 is now SCRATCH reg | 19:36 |
| kenaan | 12hager ppc-jit-backend 114887e168450b 15/pypy/jit/backend/ppc/ppcgen/codebuilder.py: Adjust OverwritingBuilder to interface of PPC builder | 19:36 |
| kenaan | 12hager ppc-jit-backend 11eb94afc2c1cd 15/pypy/jit/backend/ppc/ppcgen/: (bivab, hager): Implementation of CALL_ASSEMBLER seems to work | 19:36 |
| jterrace | is it possible to catch an application-level exception from rpython? | 19:39 |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 19:40 | |
| Alex_Gaynor | sure, except OperationError, e | 19:41 |
| Alex_Gaynor | and then use e.match to check the type | 19:41 |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) left irc: Quit: Leaving. | 19:43 | |
| zain (~textual@c-67-160-201-63.hsd1.ca.comcast.net) joined #pypy. | 19:43 | |
| jterrace | oh i should have rtfm, it's in there | 19:46 |
| Alex_Gaynor | we have a manual? | 19:47 |
| jterrace | http://codespeak.net/pypy/dist/pypy/doc/coding-guide.html#application-level-exceptions | 19:48 |
| jterrace | that page has been really useful | 19:48 |
| Alex_Gaynor | technically doc.pypy.org is more up to date | 19:48 |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy. | 19:49 | |
| Kaskuka (~John@osbk-4db1633a.pool.mediaWays.net) left irc: Remote host closed the connection | 19:49 | |
| jterrace | that's what comes up as the first result in google for rpython | 19:49 |
| dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) joined #pypy. | 19:49 | |
| nickik (~nick@217.150.239.67) joined #pypy. | 19:51 | |
| e1ven (~E1ven@SQ7/ProjectLead/E1ven) joined #pypy. | 19:52 | |
| kenaan | 12arigo default 1128fdd95654de 15/pypy/jit/backend/x86/regalloc.py: Reintroduce the equivalent of 'unused', which was killed during the merge of jit-simplify-backendintf. | 19:52 |
| kenaan | 12arigo default 113385f481f372 15/pypy/jit/backend/: Tentative: kill the usage of eax as a reserved register around LABEL and JUMPs. On x86-64, we have already r11 for... | 19:52 |
| kenaan | 12arigo default 11585211322729 15/pypy/: merge heads | 19:52 |
| Squarepy (~Squarepy@unaffiliated/squarepy) left irc: Quit: Leaving | 19:53 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Remote host closed the connection | 19:57 | |
| Kaskuka (~John@osbk-4db1633a.pool.mediaWays.net) joined #pypy. | 19:57 | |
| jterrace | Alex_Gaynor: question for you | 19:58 |
| jterrace | fromstring returns 0 for bad values for ints, but -1 for bad values for floats | 19:58 |
| Alex_Gaynor | jterrace: answer for you | 19:58 |
| Alex_Gaynor | that makes sense | 19:59 |
| Alex_Gaynor | (wtf) | 19:59 |
| jterrace | wondering how i should implement it, i was hoping that int32() would return 0 while float32() returned -1, but they both return 0 | 19:59 |
| jterrace | if that were true, i could implement on top of that | 19:59 |
| jterrace | but it's not true | 19:59 |
| jterrace | so should i put an attribute in each type | 19:59 |
| jterrace | default_fromstring_value | 19:59 |
| jterrace | ? so dirty | 19:59 |
| Alex_Gaynor | yeah, a new method/attribute sounds fine | 19:59 |
| jterrace | this function looks so ugly | 20:00 |
| Alex_Gaynor | the fromstring one? | 20:00 |
| jterrace | yes | 20:00 |
| jterrace | i added in tests for all the craziness | 20:00 |
| jterrace | it's almost working | 20:00 |
| Alex_Gaynor | Yeah, on the plus side $20 says it's cleaner than the numpy one | 20:00 |
| jterrace | hah | 20:00 |
| jterrace | i gave up looking for it | 20:01 |
| jterrace | i can never find anything in their code | 20:01 |
| santagada (~leonardo@189.27.187.218.dynamic.adsl.gvt.net.br) left irc: Quit: Ex-Chat | 20:01 | |
| jnoller (~jnoller@vpn.nasuni.com) left irc: Quit: Leaving... | 20:02 | |
| jterrace | hmm how do i check that floats are ~= ? | 20:13 |
| Alex_Gaynor | jterrace: my solution is to use values that always come out equal, alternatively abs(x - y) < threshold | 20:14 |
| jterrace | ok | 20:14 |
| jterrace | i just switched the value | 20:15 |
| kenaan | 12arigo default 112a81fc4ed8d2 15/pypy/doc/config/objspace.std.withspecialisedtuple.txt: Add missing doc file. | 20:19 |
| kenaan | 12jterrace numpy-full-fromstring 118c97ceda4c34 15/pypy/module/micronumpy/: Wrote some really ugly code to deal with all the corner cases of numpy fromstring error handling | 20:26 |
| jterrace | Alex_Gaynor: this ^ passes all the tests of all the ridiculous corner cases | 20:26 |
| jterrace | i'm sorry, it's really ugly | 20:26 |
| Alex_Gaynor | jterrace: k, I need lunch then I'll review | 20:27 |
| jterrace | thanks | 20:27 |
| Alex_Gaynor | and yes, I'm eating lunch at 4PM, let's try not to focus on that | 20:27 |
| jterrace | pretend you're in PST | 20:27 |
| jterrace | btw, figured out how to compare branches on bitbucket, you click the little green arrow squiggly thing next to the branch name | 20:27 |
| Alex_Gaynor | ah, neato | 20:28 |
| jterrace | so https://bitbucket.org/pypy/pypy/compare/numpy-full-fromstring..default | 20:28 |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Read error: Connection reset by peer | 20:31 | |
| davidpk (~davidpk@5e06d080.bb.sky.com) joined #pypy. | 20:31 | |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) joined #pypy. | 20:32 | |
| squiddy (~squiddy@f053083052.adsl.alicedsl.de) left irc: Quit: Leaving | 20:41 | |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) left irc: Quit: Leaving | 20:42 | |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 20:45 | |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Read error: Connection reset by peer | 20:47 | |
| asmeurer___ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 20:47 | |
| ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) left irc: Quit: Leaving... | 20:50 | |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving | 20:51 | |
| mattip (chatzilla@bzq-109-65-117-197.red.bezeqint.net) left #pypy. | 20:54 | |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 20:57 | |
| kenaan | 12arigo default 11f6eb69437a26 15/pypy/module/pypyjit/test_pypy_c/test_generators.py: Improve the test in the pre-jit-targets world. | 21:04 |
| kenaan | 12arigo default 11869dcd3db31a 15/pypy/module/pypyjit/test_pypy_c/model.py: Fix for jit-simplify-backendintf. | 21:04 |
| kenaan | 12arigo default 114d738293f0a9 15/pypy/module/pypyjit/test_pypy_c/model.py: Fix: if expected_ops contains a '...' line, the resulting line numbers got out of sync. | 21:05 |
| lesshaste (~lesshaste@87-194-206-189.bethere.co.uk) joined #pypy. | 21:05 | |
| kenaan | 12arigo default 11a425bfb85325 15/pypy/module/pypyjit/test_pypy_c/test_generators.py: Merge heads. This new old version of test_generators still fails. | 21:05 |
| lesshaste | just want to say how impressively fast pypy is | 21:05 |
| lesshaste | I have a small toy piece of code | 21:05 |
| lesshaste | takes 1 minute in cpython | 21:05 |
| lesshaste | 10 second with shedskin | 21:05 |
| lesshaste | and just under 10 seconds with pypy | 21:05 |
| lesshaste | which I reckon is pretty amazing :) | 21:05 |
| jterrace | nice | 21:07 |
| MostAwesomeDude | Heh, shedskin. | 21:08 |
| PiotrSikora (~none@nginx/adept/piotrsikora) left irc: Excess Flood | 21:08 | |
| lesshaste | of course I didn't include the 10 seconds of compile time in the shedskin timings ;) | 21:08 |
| `fox` (~fox@95.233.109.194) joined #pypy. | 21:08 | |
| PiotrSikora (~none@nginx/adept/piotrsikora) joined #pypy. | 21:08 | |
| MostAwesomeDude | IIRC Shedskin doesn't compile all of Python, but a significantly smaller subset. | 21:09 |
| lesshaste | MostAwesomeDude: they really really want to have code run fast.. if you submit anything even vaguely looking like a bug report they spend the next week tweaking shedskin to make your code run faster :) | 21:09 |
| lesshaste | MostAwesomeDude: yes and very much smaller subset.. but the subset I tend to use :) | 21:09 |
| lesshaste | but then I program python like it is modula-2 with more libraries :) | 21:10 |
| MostAwesomeDude | lesshaste: Yeah, but I routinely code far beyond the bounds of both Shedskin and RPython. | 21:10 |
| lesshaste | MostAwesomeDude: sure | 21:10 |
| MostAwesomeDude | Every day, I use Django and Twisted, neither of which could ever be statically compiled. | 21:10 |
| lesshaste | MostAwesomeDude: my point was how great pypy is :) | 21:10 |
| MostAwesomeDude | lesshaste: Yes, PyPy's awesome. :3 | 21:11 |
| lesshaste | :) | 21:11 |
| intgr | I know you guys have spent tons of effort to build this tracing JIT for PyPy. But realistically, given that the best JITs for competing languages are still method-based JITs (and Mozilla abandoned TraceMonkey), do you think the tracing JIT approach might turn out to be a dead end? | 21:12 |
| intgr | Or let's say "suboptimal", not "dead end" | 21:13 |
| amaury_ | there's no better method for Python at the moment | 21:13 |
| intgr | Yeah I know, I wasn't asking about Python in particular. | 21:14 |
| amaury_ | Our goal is not to improve Java or C++ ;-) | 21:15 |
| kkris (~kris@93-82-42-16.adsl.highway.telekom.at) left irc: Quit: Leaving. | 21:15 | |
| kenaan | 12arigo default 11fa6d4dc7b545 15/pypy/module/pypyjit/test_pypy_c/test_00_model.py: Pass multiple --jit parameters correctly. | 21:22 |
| kenaan | 12arigo default 11b673742c84f1 15/pypy/module/pypyjit/test_pypy_c/test_generators.py: Found out why the test fails, and document it. | 21:22 |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) joined #pypy. | 21:25 | |
| intgr | :( | 21:36 |
| intgr | What, there won't be a Java JIT running in PyPy? | 21:36 |
| Action: mikefc writes one | 21:42 | |
| derdon (~derdon@pD9E1CA22.dip.t-dialin.net) joined #pypy. | 21:43 | |
| price (~price@DR-WILY.MIT.EDU) joined #pypy. | 21:43 | |
| intgr | Seriously though, I was wondering about JavaScript. I read a few papers about tracing JIT a few years ago and thought "wow, that's some space age dynamic language technology right there!" But since then, JavaScript engines have made huge leaps in performance, but none of them are tracing JITs. Almost as if tracing was just a fad. | 21:43 |
| intgr | And Tamarin and TraceMonkey are dead. | 21:44 |
| mikefc | What's the new hotness then? | 21:44 |
| Action: mikefc isn't really a jit person | 21:45 | |
| mikefc | and doesn't know what tech any of the new browsers are using | 21:45 |
| rguillebert | maybe because in JavaScript you have a lot of small functions (callbacks and whatnot) | 21:45 |
| intgr | They're still plain old method-based JITs. | 21:45 |
| rguillebert | I'm no JS developer though | 21:45 |
| rguillebert | so it's probably better to optimize functions rather than loops | 21:46 |
| rguillebert | that would be my "wet finger" guess | 21:46 |
| Alex_Gaynor | tracing has nothing to do with function vs. loops | 21:46 |
| rguillebert | ok | 21:46 |
| kenaan | 12jterrace numpy-identity 112ff54fec76e7 15/pypy/module/micronumpy/: Added numpy.identity function | 21:51 |
| jterrace | Alex_Gaynor: that ^ adds numpy.identity, should be a trivial merge | 21:51 |
| Alex_Gaynor | ok | 21:51 |
| Alex_Gaynor | jterrace: 2 suggetions: a) rather than check the repr of th edtype, compare it to the real dtype obj, b) instead of checking each idx, do (arr == [[1, 0], [0, 1]]).all() | 21:53 |
| Alex_Gaynor | (that's for a 2d example) | 21:53 |
| Alex_Gaynor | err n=2 | 21:53 |
| Alex_Gaynor | otherwise, feel free to merge | 21:53 |
| Rhy0lite (dje@nat/ibm/x-mhspmxwrhjztokhg) left irc: Quit: Leaving | 21:57 | |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) left irc: Quit: Bye! | 22:03 | |
| `fox` (~fox@95.233.109.194) left irc: Read error: Connection reset by peer | 22:03 | |
| `fox` (~fox@95.233.109.194) joined #pypy. | 22:04 | |
| hruske (~Gasper@188.230.156.183) left irc: Remote host closed the connection | 22:06 | |
| jterrace | Alex_Gaynor: when i tried .dtype == int32, it didn't seem to work | 22:10 |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving | 22:10 | |
| Alex_Gaynor | jterrace: int32 isn't a dtype, you want .dtype is dtype("int32") | 22:10 |
| `fox` (~fox@95.233.109.194) left irc: Ping timeout: 240 seconds | 22:10 | |
| jterrace | ah i see | 22:11 |
| fmilo (~fmilo@12.219.160.90) joined #pypy. | 22:12 | |
| fmilo | did the virtualenv-pypy changes make it to the official virtualenv repository ? | 22:13 |
| fmilo | http://morepypy.blogspot.com/2010/08/using-virtualenv-with-pypy.html | 22:13 |
| davidpk (~davidpk@5e06d080.bb.sky.com) left irc: Quit: davidpk | 22:15 | |
| kenaan | 12jterrace numpy-identity 11506329de8bc3 15/pypy/module/micronumpy/test/test_numarray.py: Made tests look nicer | 22:16 |
| jterrace | Alex_Gaynor: if that^ looks good, ill merge it | 22:16 |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 245 seconds | 22:17 | |
| fijal (~fijal@197.110.159.164) joined #pypy. | 22:29 | |
| fijal | intgr: tracemonkey was not really well implemented | 22:33 |
| fijal | so this was a bit of a problem with tracing | 22:33 |
| fijal | and luajit is using tracing | 22:33 |
| fijal | so I think we're good | 22:33 |
| fijal | besides, JS engines are not exactly state of the art, not the firefox ones at least | 22:33 |
| fijal | they happen to have state of the art PR though | 22:33 |
| fijal | fmilo: yes | 22:34 |
| jterrace (~jterrace@aegis.CS.Princeton.EDU) left irc: Quit: Leaving. | 22:34 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/744 | 22:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/169 | 22:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/977 | 22:35 |
| jacob22 (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: Quit: Konversation terminated! | 22:37 | |
| jacob22 (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) joined #pypy. | 22:37 | |
| Rhyolite | intgr: Facebook hhvm for PHP uses what it calls "tracelets" | 22:38 |
| maxyz (~maxy@186.18.94.35) left irc: Ping timeout: 252 seconds | 22:49 | |
| maxyz (~maxy@186.18.94.35) joined #pypy. | 22:50 | |
| thinker (~thinker@123-194-52-90.dynamic.kbronet.com.tw) left irc: Read error: Connection reset by peer | 22:50 | |
| fijal | Alex_Gaynor: do you remember how immutable_field works? | 22:52 |
| Alex_Gaynor | fijal: what do you mean? | 22:52 |
| fijal | I'm fine to assign the value some-time-later, provided that it's just once, right? | 22:52 |
| fijal | in general, I'm fine to do | 22:52 |
| Alex_Gaynor | Yes, and once you read the field it can't be written to (even if you read nonsense) | 22:52 |
| exarkun | fijal: pong | 22:52 |
| fijal | x = instantiate(X); do_a_lot_of_stuff x.immutable_field = 3 | 22:52 |
| Alex_Gaynor | I don't think these rules are written down anywhere though | 22:52 |
| Alex_Gaynor | fijal: yes that's fine as long as you don't read the field | 22:53 |
| fijal | exarkun: going to pycon? | 22:53 |
| exarkun | fijal: Seems probable | 22:53 |
| fijal | Alex_Gaynor: so say a class attribute is not cool? | 22:53 |
| fijal | exarkun: want to share a room? | 22:53 |
| fijal | I can traditionally sleep on the floor, I'm coming with my own bed | 22:53 |
| Alex_Gaynor | fijal: eh, what do you mean? | 22:53 |
| fijal | Alex_Gaynor: if it's not read means I can't have a class attribute with some default really | 22:54 |
| fijal | right? | 22:54 |
| exarkun | fijal: Oh my god already I have to plan this crap | 22:54 |
| Alex_Gaynor | uhh, no idea I don't know how class attributes really interact with everything | 22:54 |
| fijal | exarkun: I fear so | 22:54 |
| fijal | Alex_Gaynor: I think they're set at instantiate time | 22:54 |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 22:54 | |
| exarkun | fijal: I'm happy to share, yes. I'm not staying for as long as I have in past years though, in case that factors into your thinking at all. | 22:54 |
| fijal | exarkun: from which side of the conference? I have to be for tutorials and I'm probably leaving mid-sprintish | 22:55 |
| exarkun | At least right now I think I won't stay for the sprints. | 22:55 |
| alistra | http://www.gentoo.org/security/en/glsa/index.xml | 22:55 |
| alistra | wrong channel | 22:55 |
| exarkun | Maybe I could leave mid-sprint instead of pre-sprint, I dunno | 22:55 |
| fijal | exarkun: that's anyway a day or two | 22:55 |
| fijal | (for me anyway) | 22:55 |
| fijal | so it's fine | 22:55 |
| Alex_Gaynor | fijal: we should document the rules of _immutable_fields_ | 22:55 |
| fijal | Alex_Gaynor: yes, in some obscure comment somewhere? | 22:56 |
| Alex_Gaynor | fijal: well, maybe in the docs directory :) | 22:56 |
| Action: fijal prefers obscure comments | 22:56 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 22:57 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 22:57 | |
| mfoord (~anonymous@python/psf/voidspace) joined #pypy. | 22:57 | |
| etrepum (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 252 seconds | 23:01 | |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 23:05 | |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) left irc: Quit: Konversation terminated! | 23:06 | |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Ping timeout: 252 seconds | 23:10 | |
| stakkars | fijal: when I'm writing a blog draft, do I need to care of anything, like template.xml? | 23:11 |
| stakkars | fijal: is all the stuff for blogspot, and is that in sycc? | 23:11 |
| stakkars | I see only a few entries as a draft. Are the others typed directly into the browser? | 23:12 |
| nickik (~nick@217.150.239.67) left irc: Quit: Verlassend | 23:13 | |
| fijal | stakkars: no, none is typed directly in the browser | 23:13 |
| stakkars | and finally, If I'm just writing about win64, not related to anything else, _sahould_ I prepare a draft for review, or is it fine to just hack it in? | 23:13 |
| fijal | but people used their user dirs | 23:13 |
| Alex_Gaynor | fijal: feel like merging the numpy-identity branch | 23:13 |
| fijal | stakkars: you don't have to put it for the review, although this is what we generally do | 23:14 |
| stakkars | fijal: ok, so I do a draft and check it in, into default? And then ask for complaints and wait a day and then what? | 23:15 |
| fijal | stakkars: into extradoc/blog/draft preferably | 23:15 |
| stakkars | take the text by clipboard into blogspot.com, or is there another, maybe more direct way? | 23:15 |
| fijal | if noone pops up to do a review in say an hour, I would post it | 23:15 |
| fijal | (or 5 minutes, whatever you prefer) | 23:15 |
| fijal | I usually do rst2html and the paste there the resulting html | 23:16 |
| fijal | I can do the posting part for you if you don't feel like it (it's ugly) | 23:16 |
| fijal | Alex_Gaynor: ok | 23:16 |
| fijal | Alex_Gaynor: is it reviewed? | 23:16 |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) joined #pypy. | 23:16 | |
| stakkars | and how do I check the appearance of the draft, that'sa what the template.xml is for, right? | 23:16 |
| Alex_Gaynor | fijal: yes, it is | 23:17 |
| fijal | Alex_Gaynor: so just the boring merge part? | 23:17 |
| Alex_Gaynor | yes | 23:17 |
| fijal | ok | 23:17 |
| fijal | stakkars: I've never heard about template.xml | 23:17 |
| fijal | you generally can't | 23:17 |
| stakkars | argh, the posting is already processed html! wheee, that's a bit disappointing. Thought ResT would be _it_ | 23:18 |
| stakkars | template.xml is beneath the draft folder, for some reason. | 23:18 |
| stakkars | maybe left-over | 23:19 |
| kenaan | 12fijal default 113b81c36d2bd1 15/pypy/module/micronumpy/: (jterrace) merge numpy-identity branch, adding numpy.identity function | 23:20 |
| kenaan | 12fijal numpy-identity 11b391b4c1ef21 15/: close branch | 23:20 |
| fijal | Alex_Gaynor: done | 23:20 |
| Alex_Gaynor | thanks | 23:20 |
| stakkars | so I ResTify the doc and paste _that_ into blogspot.com, and submit or re-edit the ResT and repeat that? Nice (shudder | 23:21 |
| fijal | stakkars: you write rest, use rst2html and paste that into html box | 23:21 |
| stakkars | no it's ok, I just want to do it quickly and right, tomorrow | 23:21 |
| fijal | stakkars: no, that's how you do it | 23:22 |
| fijal | how you explained won't work | 23:22 |
| stakkars | ugh? I thought I said exactly that! | 23:22 |
| fijal | ok | 23:23 |
| fijal | then we have a different meaning of "restify" | 23:23 |
| fijal | but yeah, it's ugly | 23:23 |
| stakkars | the point is that blogspot needs preprocessed html, and that's it. | 23:23 |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) left irc: Quit: http://www.fprimex.com | 23:24 | |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Remote host closed the connection | 23:25 | |
| stakkars | yes, I'm wrong. I write in ResT, then pour it through rst2html (which is 'htmlify') and then paste that. | 23:25 |
| fijal | yes | 23:26 |
| stakkars | oki doki | 23:26 |
| mat^2 (~mathias@212.130.113.35) left irc: | 23:27 | |
| mat^2 (~mathias@212.130.113.35) joined #pypy. | 23:27 | |
| stakkars | restify means turning plain test into ResT? Ok, I see. I'm used to that a bit. | 23:28 |
| stakkars | and blogspot is one level deeper in that process, does not give access to the upper layer. | 23:29 |
| azanella (~azanella@189.6.80.207) left irc: Ping timeout: 252 seconds | 23:31 | |
| stakkars | well, all ok. Will definately do it tomorrow, given that I survive tomorrow's discussion with attorneys and ex-wife :-( | 23:31 |
| Action: stakkars is in a very bad mode and should not talk at all. Better after the fact ;-) | 23:32 | |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) joined #pypy. | 23:38 | |
| fijal (~fijal@197.110.159.164) left irc: Read error: Connection reset by peer | 23:48 | |
| thinker (~thinker@123-194-52-90.dynamic.kbronet.com.tw) joined #pypy. | 23:57 | |
| Nick change: thinker -> Sinker | 23:58 | |
| --- Wed Dec 14 2011 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!