| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy. | 00:06 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host | 00:06 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 00:06 | |
| dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) left irc: Quit: Leaving | 00:08 | |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Computer has gone to sleep. | 00:10 | |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 240 seconds | 00:10 | |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Ping timeout: 252 seconds | 00:11 | |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) joined #pypy. | 00:22 | |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 00:24 | |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Ping timeout: 240 seconds | 00:30 | |
| DanKluev (~root@78-24-224-073-udsl.vntc.ru) left irc: Ping timeout: 252 seconds | 00:44 | |
| mtigas (~mtigas@users.spokesman.com) left irc: Quit: mtigas | 00:53 | |
| DanKluev (~root@78-24-224-073-udsl.vntc.ru) joined #pypy. | 00:54 | |
| Insectoid (~Q@c-98-230-9-150.hsd1.fl.comcast.net) joined #pypy. | 01:00 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/744 | 01:04 |
|---|---|---|
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/169 | 01:05 |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds | 01:12 | |
| derdon (~derdon@pD9E1CA22.dip.t-dialin.net) left irc: Remote host closed the connection | 01:13 | |
| maxyz (~maxy@186.18.94.35) left irc: Ping timeout: 268 seconds | 01:16 | |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) joined #pypy. | 01:16 | |
| maxyz (~maxy@186.18.94.35) joined #pypy. | 01:17 | |
| mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord | 01:31 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1887 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/631 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/304 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/642 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1159 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/826 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1468 | 01:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/749 | 01:35 |
| e1ven (~E1ven@SQ7/ProjectLead/E1ven) left irc: Quit: Computer has gone to sleep. | 01:36 | |
| ericflo (~ericflo@75.103.8.110) left irc: Quit: ericflo | 01:40 | |
| kenaan | 12alex_gaynor default 11238ddc6d667c 15/pypy/module/micronumpy/test/test_dtypes.py: fix for numpy tests on <64bit platforms | 01:45 |
| harrison_ (~quassel@adsl-69-209-203-240.dsl.chcgil.sbcglobal.net) joined #pypy. | 01:49 | |
| harrison (~quassel@adsl-69-209-203-240.dsl.chcgil.sbcglobal.net) left irc: Read error: Connection reset by peer | 01:49 | |
| xiaochen (xiaochen@nat/redhat/x-awaigcmcucwfeylq) joined #pypy. | 01:49 | |
| iori (~iori@125x100x190x242.ap125.ftth.ucom.ne.jp) joined #pypy. | 01:51 | |
| jterrace (~Adium@dynamic-oit-vapornet-b-1207.Princeton.EDU) joined #pypy. | 01:55 | |
| jterrace | Alex_Gaynor: thanks for fixing those dtype tests i broke | 01:56 |
| Alex_Gaynor | np | 01:56 |
| jterrace | i see fijal merged identity | 01:56 |
| jterrace | did you get a chance to review fromstring? | 01:56 |
| Alex_Gaynor | no, I haven't yet | 01:57 |
| jterrace | ok | 01:57 |
| _pyre_ (~stian@137.241.189.109.customer.cdi.no) left irc: Quit: Leaving. | 01:57 | |
| jterrace | im going to make branches for numpy.concatenate and numpy.cumsum | 01:58 |
| jterrace | probably tomorrow | 01:58 |
| Alex_Gaynor | I have no idea what those are, but I'll try to finish reviewing fromstring tonight | 01:58 |
| jterrace | lol | 01:59 |
| jterrace | concatenate concatenates arrays along an axis | 01:59 |
| jterrace | cumsum is like sum, but it's cumulative | 01:59 |
| lambacck (~chris@d24-150-124-118.home.cgocable.net) joined #pypy. | 01:59 | |
| jterrace | need them for pycollaa | 02:00 |
| jterrace | i just keep adding things wherever the next nightly fails | 02:00 |
| Alex_Gaynor | nice | 02:00 |
| jterrace (~Adium@dynamic-oit-vapornet-b-1207.Princeton.EDU) left irc: Quit: Leaving. | 02:02 | |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 02:17 | |
| Ademan (~dan@adsl-71-141-224-79.dsl.snfc21.pacbell.net) joined #pypy. | 02:22 | |
| papercrane (~papercran@75.101.111.82) left irc: Quit: Computer has gone to sleep. | 02:25 | |
| Kaskuka (~John@osbk-4db1633a.pool.mediaWays.net) left irc: Ping timeout: 240 seconds | 02:39 | |
| Shanita (~John@osbk-4db152c8.pool.mediaWays.net) joined #pypy. | 02:39 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/977 | 02:45 |
| sunoano (~sa@unaffiliated/sunoano) left irc: Remote host closed the connection | 02:47 | |
| dracman (~draco@212.255.43.185) left irc: Ping timeout: 252 seconds | 02:54 | |
| thinker (~thinker@218-160-154-35.dynamic.hinet.net) joined #pypy. | 03:08 | |
| harrison_ (~quassel@adsl-69-209-203-240.dsl.chcgil.sbcglobal.net) left irc: Ping timeout: 240 seconds | 03:16 | |
| __main__ (~main@adsl-99-173-15-158.dsl.pltn13.sbcglobal.net) left irc: Read error: Connection reset by peer | 03:19 | |
| _main_ (~main@adsl-99-173-15-158.dsl.pltn13.sbcglobal.net) joined #pypy. | 03:19 | |
| Nick change: _main_ -> __main__ | 03:24 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Ping timeout: 248 seconds | 03:36 | |
| amstan (~amstan@69-196-130-230.dsl.teksavvy.com) joined #pypy. | 03:42 | |
| amstan | so.. i just tought of this | 03:43 |
| amstan | can i run pypy inside pypy? | 03:43 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1887 | 03:45 |
| gutworth | it usually throws a MetaError | 03:52 |
| anish_ (anish@nat/redhat/x-vrypaxholgnhfbmy) joined #pypy. | 03:57 | |
| tunixman (~tunixman@irc.theunixman.com) left irc: Ping timeout: 252 seconds | 04:02 | |
| tunixman (~tunixman@irc.tunixman.com) joined #pypy. | 04:02 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 276 seconds | 04:03 | |
| Ademan | I need to either move closer to bitbucket's servers, or not do fresh clones so often, this takes forever... | 04:28 |
| bgola (~bgola@c9518082.virtua.com.br) left irc: Remote host closed the connection | 04:39 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1468 | 04:47 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/826 | 04:49 |
| voidspace (~voidspace@python/psf/voidspace) left irc: Ping timeout: 240 seconds | 04:53 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/642 | 05:00 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1159 | 05:08 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/631 | 05:16 |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Ping timeout: 248 seconds | 05:24 | |
| papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) joined #pypy. | 05:36 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Remote host closed the connection | 05:41 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy. | 05:42 | |
| Ademan | :-/ ootype is broken again | 05:44 |
| thinker (~thinker@218-160-154-35.dynamic.hinet.net) left irc: Remote host closed the connection | 06:11 | |
| aleksi (~aleksi@85.235.191.82) joined #pypy. | 06:12 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/749 | 06:16 |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Remote host closed the connection | 06:16 | |
| aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection | 06:18 | |
| aleksi (~aleksi@85.235.191.82) joined #pypy. | 06:18 | |
| xiaochen (xiaochen@nat/redhat/x-awaigcmcucwfeylq) left #pypy. | 06:22 | |
| mat^2 (~mathias@212.130.113.35) left irc: | 06:24 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy. | 06:32 | |
| papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep. | 06:32 | |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Read error: Connection reset by peer | 06:35 | |
| espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy. | 06:37 | |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy. | 06:40 | |
| squiddy (~squiddy@f053087158.adsl.alicedsl.de) joined #pypy. | 06:43 | |
| Sweet-P (~Sweet-P@203.205.116.93) joined #pypy. | 06:45 | |
| asmeurer___ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer___ | 06:45 | |
| zain__ (~textual@c-67-160-201-63.hsd1.ca.comcast.net) joined #pypy. | 06:49 | |
| fzzzy_ (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 06:49 | |
| Taggnostr2_ (~quassel@dyn57-215.yok.fi) joined #pypy. | 06:51 | |
| Sweet-P (~Sweet-P@203.205.116.93) left irc: Remote host closed the connection | 06:53 | |
| mwhudson_ (~mwh@120.136.5.22) joined #pypy. | 06:54 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Read error: Connection reset by peer | 06:54 | |
| zain (~textual@c-67-160-201-63.hsd1.ca.comcast.net) left irc: Ping timeout: 245 seconds | 06:54 | |
| Nick change: fzzzy_ -> fzzzy | 06:54 | |
| Taggnostr (~quassel@dyn57-215.yok.fi) left irc: Quit: No Ping reply in 180 seconds. | 06:54 | |
| Nick change: zain__ -> zain | 06:54 | |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 245 seconds | 06:54 | |
| lmoura (lmoura@gateway/indt/session) left irc: Ping timeout: 245 seconds | 06:54 | |
| lmoura (lmoura@gateway/indt/session) joined #pypy. | 06:58 | |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) joined #pypy. | 07:06 | |
| hazmat (~hazmat@204-232-198-49.static.cloud-ips.com) left irc: Ping timeout: 245 seconds | 07:18 | |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Read error: Connection reset by peer | 07:29 | |
| espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy. | 07:30 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 07:35 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/304 | 07:38 |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 07:42 | |
| mikefc | damn you osx 64 bit build! | 07:43 |
| mikefc (mikefc@60-242-240-196.static.tpgi.com.au) left #pypy. | 07:43 | |
| mikefc (~mikefc@60-242-240-196.static.tpgi.com.au) joined #pypy. | 07:43 | |
| _aleksi (~aleksi@85.235.191.82) joined #pypy. | 07:48 | |
| fijal (~fijal@197.108.210.166) joined #pypy. | 07:49 | |
| aleksi (~aleksi@85.235.191.82) left irc: Ping timeout: 240 seconds | 07:49 | |
| fijal | hm | 07:49 |
| fijal | is launchpad down? | 07:50 |
| Insectoid (~Q@c-98-230-9-150.hsd1.fl.comcast.net) left irc: Read error: Connection reset by peer | 07:52 | |
| fijal (~fijal@197.108.210.166) left irc: Read error: Connection reset by peer | 07:52 | |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Read error: Operation timed out | 07:57 | |
| amaury_ (~amaury_@74.125.122.49) joined #pypy. | 07:57 | |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) joined #pypy. | 07:58 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 07:58 | |
| mattip | future_jterrace: To implement numpypy functions that accept an axis argument, | 07:59 |
| mattip | you will probably want to use an iterator per axis. | 07:59 |
| mattip | If you want, you can take a look at what I did for descr_dot on the matrixmath-dot branch. | 08:00 |
| iori (~iori@125x100x190x242.ap125.ftth.ucom.ne.jp) left irc: Remote host closed the connection | 08:01 | |
| mattip | If you only need 1d cumsum than disregard | 08:01 |
| JaRoel (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 08:01 | |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Client Quit | 08:01 | |
| sunoano (~sa@mail.heartinternet.co.uk) joined #pypy. | 08:04 | |
| sunoano (~sa@mail.heartinternet.co.uk) left irc: Changing host | 08:04 | |
| sunoano (~sa@unaffiliated/sunoano) joined #pypy. | 08:04 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 276 seconds | 08:05 | |
| CIA-13 | 03dimazest 07roundup * 10#962/Import sqlite3 fails on mac (lion): | 08:05 |
| CIA-13 | [new] Import of sqlite3 fails on recent night build. Release 1.7 works fine on the | 08:05 |
| CIA-13 | same machine. | 08:05 |
| CIA-13 | $ pypy-c-jit-50484-3b81c36d2bd1-osx64/bin/pyp ... * 14https://bugs.pypy.org/issue962 | 08:05 |
| fijal (~fijal@197.109.164.139) joined #pypy. | 08:06 | |
| mikefc | is there any difference between numpy.array and numpy.matrix except that matrix is (a) 2d only (b) overloads * and ** | 08:14 |
| mikefc | ugh. never mind. I see the page now. | 08:14 |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Read error: Connection reset by peer | 08:16 | |
| espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy. | 08:17 | |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy. | 08:18 | |
| fijal | hi | 08:29 |
| anish_ (anish@nat/redhat/x-vrypaxholgnhfbmy) left irc: Ping timeout: 240 seconds | 08:39 | |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) joined #pypy. | 08:51 | |
| mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) joined #pypy. | 08:51 | |
| dracman (~draco@212.255.46.227) joined #pypy. | 08:51 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Ping timeout: 276 seconds | 08:55 | |
| mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) left irc: Client Quit | 08:55 | |
| k_bx (~k_bx@195.20.130.1) joined #pypy. | 08:55 | |
| mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) joined #pypy. | 08:56 | |
| Ademan | antocuni: any idea when ootype broke again? | 08:56 |
| Ademan | also hi :-) | 08:58 |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy. | 08:59 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host | 08:59 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 08:59 | |
| anish_ (anish@nat/redhat/x-digvhxlmnzbdptnu) joined #pypy. | 09:08 | |
| G2P (~G2P@fw-asn1.ornis.com) joined #pypy. | 09:10 | |
| Nick change: Gulaway -> Gulopine | 09:15 | |
| amstan (~amstan@69-196-130-230.dsl.teksavvy.com) left irc: Ping timeout: 255 seconds | 09:16 | |
| kenaan | 12hager ppc-jit-backend 11c8e31eebcc23 15/pypy/jit/backend/ppc/ppcgen/: Added code for GUARD_EXCEPTION | 09:16 |
| lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) joined #pypy. | 09:19 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) joined #pypy. | 09:19 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection | 09:20 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Ping timeout: 268 seconds | 09:25 | |
| Vorpal_ (~AnMaster@unaffiliated/anmaster) joined #pypy. | 09:29 | |
| k_bx (~k_bx@195.20.130.1) left irc: Remote host closed the connection | 09:35 | |
| _aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection | 09:36 | |
| aleksi (~aleksi@85.235.191.82) joined #pypy. | 09:37 | |
| kenaan | 12fijal refactor-signature 119d888e0a1e4b 15/pypy/module/micronumpy/: start refactoring - change test_base and make it pass | 09:38 |
| arigato (~arigo@89.204.153.65) joined #pypy. | 09:38 | |
| fijal | arigato: morning | 09:41 |
| jaredw (~jared@122-59-91-107.jetstream.xtra.co.nz) left irc: Remote host closed the connection | 09:41 | |
| arigato | http://web.archive.org/web/20100130070337/http://www.md.pp.ru/~eu/jdk6options.html | 09:43 |
| arigato | morning | 09:43 |
| arigato | the (big) list of options to tweak (some version of) HotSpot | 09:43 |
| fijal | that's quite a few options | 09:43 |
| arigato | yes | 09:43 |
| fijal | you mean translate.py --help is not scary? | 09:44 |
| fijal | it's also those are all runtime options, impressive | 09:44 |
| arigato | yes, and I didn't find the option equivalent to --jit threshold | 09:45 |
| fijal | you don't know :) | 09:45 |
| fijal | did you read all of them? | 09:45 |
| arigato | I've read somewhere on Wikipedia that the default threshold of HotSpot is 10000 in server mode, 1500 in client mode | 09:45 |
| arigato | I've done searches in this page, unsuccessfully | 09:45 |
| fijal | ProfilerPCTickThresholdNumber of ticks in a PC buckets to be a hotspot | 09:45 |
| fijal | this one? | 09:46 |
| arigato | what's a tick? | 09:47 |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) joined #pypy. | 09:48 | |
| fijal | no idea | 09:48 |
| arigato | and well, I expected something more subtle, like decaying counters, but find no evidence of that | 09:48 |
| arigato | ah, UseCounterDecay ? | 09:49 |
| fijal | CounterDecayMinIntervalLengthMin. ms. between invocation of CounterDecay | 09:49 |
| Nick change: Gulopine -> Gulaway | 09:50 | |
| arigato | and CounterHalfLifeTime | 09:53 |
| arigato | it seems to be just based on real time | 09:53 |
| arigato | every 0.5 second it adjusts all counters by a factor that means that after 30 seconds the numbers have been divided by two | 09:53 |
| chronitis (~chronitis@88-104-117-122.dynamic.dsl.as9105.com) joined #pypy. | 09:54 | |
| Action: fijal sidenotes that JVM warmup policy is not what it's best known for | 09:54 | |
| arigato | ok :-) | 09:55 |
| arigato | I was wondering where to look for some good theory about warm-up policies | 09:56 |
| arigato | seems like I missed by looking at HotSpot | 09:56 |
| fijal | arigato: note that you would never possibly write a tool like hg in java | 09:57 |
| fijal | imagine all the things starting for a minute before you can do anything | 09:57 |
| fijal | or running tests | 09:57 |
| arigato | (long ago, in Psyco, I did it with profiler counters that decay in a scale "how many things get compiled", which was cool and pointless, as psyco is almost never used in profiling mode anyway) | 09:58 |
| fijal | I've seen people using psyco in profiling mode | 09:58 |
| fijal | I agree it's a slight overkill | 09:58 |
| arigato | :-) | 09:59 |
| fijal | but say a translation would might use a cool warmup strategy | 09:59 |
| fijal | arigato: do you have any vision how to provide a faster interpreter btw? | 09:59 |
| arigato | uh | 09:59 |
| arigato | well we discussed again with stakkars if it's possible to have a "minimal jit compiler" step | 09:59 |
| fijal | what would that do? | 10:00 |
| arigato | compile based on only jitcode of ~pypy/interpreter/pyopcode, and not run any optimization | 10:00 |
| arigato | i.e. that would do a naive python2c kind of translation | 10:00 |
| fijal | and leave everything else as calls? | 10:01 |
| arigato | yes | 10:01 |
| fijal | sounds like a cool idea | 10:01 |
| fijal | then you can have a very low trace limit | 10:02 |
| arigato | I suppose | 10:02 |
| arigato | well I fear that e.g. the jit backend would need some more work too | 10:03 |
| lucian | fijal: actually, people have written cli tools in java, using nailgun | 10:03 |
| arigato | at least to increase its performance | 10:03 |
| kenaan | 12hager ppc-jit-backend 11a21c0f06db3e 15/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py: remove debug output from compute_frame_depth | 10:03 |
| kenaan | 12hager ppc-jit-backend 111282dafdf468 15/pypy/jit/backend/ppc/ppcgen/register.py: add r2 to volatile registers | 10:03 |
| kenaan | 12hager ppc-jit-backend 11cc34d3b179e4 15/pypy/jit/backend/ppc/ppcgen/: make call to function before leave jitted code and save volatile regs | 10:03 |
| fijal | lucian: running tests is tricky because of loading code | 10:03 |
| arigato | more precisely, I fear that performance would go to the floor when generating a series of calls, all of which end in guards | 10:04 |
| kenaan | 12fijal refactor-signature 113edbb810b5a0 15/pypy/module/micronumpy/: invent numbering | 10:04 |
| fijal | arigato: you mean - time it takes to compile or time it executes | 10:04 |
| lucian | fijal: not so much on java, it has class swapping. nailgun also works nicely for tests | 10:04 |
| arigato | fijal: to compile | 10:04 |
| lucian | and would that sort of backend perhaps remove the need for an interpreter at some point? | 10:04 |
| lucian | or is it necessary for tracing? | 10:04 |
| arigato | well the backend is only one issue | 10:05 |
| fijal | arigato: [citation needed] | 10:05 |
| arigato | we'd seriously need to look at the speed of pyjitpl.py, too | 10:05 |
| fijal | each time we try, tracing takes far more time than backend | 10:05 |
| fijal | but also, backend can be trivially improved | 10:05 |
| fijal | well, "trivially" | 10:05 |
| fijal | it's just work I mean | 10:05 |
| fijal | lucian: yes, you need the interpreter | 10:05 |
| fijal | lucian: besides, we don't loose anything by having one | 10:06 |
| fijal | since it's our only description of python language | 10:06 |
| lucian | fijal: binary size, i guess | 10:06 |
| fijal | you need at least one description | 10:06 |
| lucian | oh, i meant not generate an interpreter | 10:06 |
| fijal | that's less of an issue for now :) | 10:06 |
| lucian | only generate a jit from the interpreter | 10:06 |
| lucian | yeah, it's not a big issue except on things like arduino | 10:07 |
| fijal | even on embedded devices | 10:07 |
| fijal | but yes, pypy on embedded devices has it's own problems | 10:07 |
| lucian | also, does pypy still have the blackhole interpreter? could a 0-jit replace that? | 10:07 |
| fijal | and noone from the core team seems to be overly interested in that | 10:07 |
| lucian | yeah, it's a tiny market | 10:07 |
| fijal | well | 10:08 |
| fijal | it seriously does not matter how big the market is | 10:08 |
| fijal | pypy is not making any money | 10:09 |
| lucian | i meant market as in "what pypy devs might want to use" | 10:09 |
| arigato | lucian: no, I think there are other ways better suited to tiny embedded devices, it doesn't make sense to try to strip off 100k out of a 20M binaryr | 10:09 |
| K-os (~gabriel@dhcp-205.zbh.uni-hamburg.de) joined #pypy. | 10:09 | |
| lucian | arigato: yeah, makes sense | 10:09 |
| fijal | arigato: 40M | 10:09 |
| arigato | fijal: 20M, stripped | 10:09 |
| fijal | ok | 10:09 |
| fijal | lucian: yes, ok, my phone won't run anything | 10:12 |
| fijal | and armin has no phone | 10:12 |
| fijal | so I guess that cuts down our interest to code for embedded devices | 10:12 |
| fijal | I would file this under "things I would happily do for money" | 10:12 |
| Action: lucian nods | 10:12 | |
| lucian | i still haven't found a good option for writing android apps in not-java | 10:12 |
| lucian | the closest so far was kawa scheme | 10:13 |
| fijal | lucian: I don't think I ever used an android device | 10:13 |
| lucian | (i don't want to write just a game, so an ndk language would need bindings to the java UI bits) | 10:13 |
| lucian | fijal: they're pretty nice | 10:13 |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Remote host closed the connection | 10:13 | |
| fijal | lucian: for what? | 10:14 |
| fijal | I don't have a use | 10:14 |
| lucian | email, news, contact sync | 10:14 |
| fijal | lucian: I mostly code :) | 10:15 |
| kenaan | 12fijal refactor-signature 11f2e26827d79c 15/pypy/module/micronumpy/test/test_base.py: some more tests | 10:17 |
| lucian | fijal: sure, me too. but for most other things it's useful | 10:18 |
| fijal | my laptop works just fine | 10:18 |
| lucian | there are times when your laptop is too big/static | 10:18 |
| lucian | at least for me, anyway | 10:18 |
| lucian | i can read my email while i walk to work, maybe some news | 10:18 |
| fijal | I bet there are usecases | 10:19 |
| lucian | and there are practical uses, like making it a wifi hotspot, or a wifi analyzer, or sniffing cookies | 10:19 |
| kenaan | 12hager ppc-jit-backend 1191d134f49a07 15/pypy/jit/backend/ppc/ppcgen/opassembler.py: removed bug in emit_guard_exception | 10:19 |
| lucian | sure, you might not care about them | 10:19 |
| fijal | does it run kismet? | 10:20 |
| lucian | there's a wireshark backend thing | 10:21 |
| fijal | wireshark is at wrong level | 10:21 |
| fijal | for real sniffing | 10:21 |
| lucian | not sure, there may be | 10:21 |
| fijal | arigato: I have a potential account on a pretty powerful freebsd machine | 10:21 |
| fijal | would it be of any use? | 10:21 |
| arigato | only if we decide to support freebsd | 10:22 |
| fijal | there is a package on freebsd and a set of patches to make it work | 10:22 |
| fijal | I don't see any precise reason why not | 10:22 |
| fijal | other then well, another platform to worry | 10:22 |
| lucian | fijal: interesting https://market.android.com/details?id=com.nbl.pixie&feature=search_result. you gave me an idea | 10:23 |
| fijal | kismet or wireshark? | 10:24 |
| fijal | because those are really different things | 10:24 |
| lucian | i know | 10:24 |
| lucian | it appears to be wireshark-like, not sure | 10:25 |
| lucian | my idea was writing a kismet/aircrack | 10:25 |
| stakkars_ (~tismer@89.204.154.117) joined #pypy. | 10:25 | |
| kenaan | 12hager ppc-jit-backend 111828b538ddf7 15/pypy/jit/backend/ppc/ppcgen/: implemented GUARD_NO_EXCEPTION | 10:26 |
| aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection | 10:27 | |
| aleksi (~aleksi@85.235.191.82) joined #pypy. | 10:28 | |
| stakkars_ (~tismer@89.204.154.117) left irc: Quit: schnarch | 10:32 | |
| mkerrin (~mkerrin@wg1-nat.fwgal01.deri.ie) joined #pypy. | 10:32 | |
| fijal | Alex_Gaynor: ping | 10:39 |
| Action: mikefc works his way through the brainfuck pypy tutorial | 10:53 | |
| tnelson_ (~trent@trent.me) left irc: Read error: Connection reset by peer | 10:54 | |
| tnelson_ (~trent@trent.me) joined #pypy. | 10:54 | |
| tnelson_ (~trent@trent.me) left irc: Changing host | 10:55 | |
| tnelson_ (~trent@coapp/developer/tnelson) joined #pypy. | 10:55 | |
| fijal | mikefc: good :) | 10:57 |
| fijal | mikefc: thanks for the bug report, I'll look at it! | 10:58 |
| kenaan | 12fijal refactor-signature 118fc2393b390b 15/pypy/module/micronumpy/: refactor up to a nice point of segmentation fault | 10:58 |
| voidspace (~voidspace@python/psf/voidspace) joined #pypy. | 10:59 | |
| fijal | voidspace: hey michael | 11:00 |
| voidspace | fijal: morningg | 11:00 |
| fijal | relative morning | 11:00 |
| voidspace | fijal: it's always morning on the internet | 11:01 |
| fijal | somewhere | 11:01 |
| kenaan | 12fijal refactor-signature 1167cba7342bdb 15/pypy/module/micronumpy/: oomph | 11:01 |
| Rhyolite (~dje@pool-108-6-25-71.nycmny.fios.verizon.net) left irc: Quit: Leaving | 11:04 | |
| mikefc | fijal: no problem on the bug report. it seems a weird one. | 11:08 |
| kenaan | 12arigo default 110fe404e7740d 15/pypy/jit/backend/x86/: Fix, as shown by test_zll_stress. | 11:10 |
| kenaan | 12arigo default 111665fe50f5da 15/pypy/jit/backend/x86/: Refactor away the 'width' attribute on AssemblerLocation. | 11:10 |
| amaury_ (~amaury_@74.125.122.49) left irc: Read error: Operation timed out | 11:18 | |
| anish_ (anish@nat/redhat/x-digvhxlmnzbdptnu) left irc: Quit: Leaving | 11:18 | |
| arigato (~arigo@89.204.153.65) left irc: Quit: See you | 11:24 | |
| kenaan | 12fijal refactor-signature 11a3a1fac3df73 15/pypy/module/micronumpy/: enough to make test_sum pass. Reduce seems to nicely work | 11:36 |
| azanella (~azanella@189.6.80.207) joined #pypy. | 11:42 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 12:07 | |
| fijal | nedbat: hi | 12:07 |
| nedbat | fijal: hi | 12:07 |
| kenaan | 12fijal refactor-signature 11a2834b804b57 15/pypy/module/micronumpy/: makes tests pass, they're super slow though | 12:07 |
| nedbat | fijal: you're in GMT+2 ? | 12:08 |
| fijal | +1 I think | 12:08 |
| fijal | or maybe +2 | 12:08 |
| nedbat | fijal: local time is 14:33 ? | 12:09 |
| fijal | yes | 12:10 |
| nedbat | gmt+2 then. | 12:10 |
| fijal | ok, why? | 12:10 |
| nedbat | it helps to know when to expect people to be online, etc. | 12:10 |
| fijal | don't base this on my timezone | 12:11 |
| mikefc | so jit_merge_point and can_enter_jit are the only things you have to add to your interpeter to do to the source to get a jit after translate? | 12:15 |
| dimazest | i've solved the issue setting PATH in .bashrc | 12:15 |
| dimazest | sorry, i've pasted to the wrong window | 12:16 |
| mikefc | and jit_merge_point and can_enter_jit are only added to the main interpret loop? Or any loop that you (the coder) thinks is a good spot? | 12:16 |
| nedbat | fijal: I understand, "online" != "daylight" or any other civilian-recognizable rule. :) | 12:16 |
| mikefc | ooo | 12:18 |
| mikefc | the 'space' in the pypy source is the equivalent of the 'tape' in the brainfuck example? | 12:18 |
| Nick change: tnelson_ -> tnelson | 12:21 | |
| fijal | mikefc: you add it to the interpreter loop | 12:27 |
| fijal | you might have more than one interpreter loop in your code | 12:27 |
| fijal | like regex and normal | 12:27 |
| fijal | etc. | 12:27 |
| fijal | but in general just there | 12:27 |
| fijal | there are few hints that increase the performance, but in short this is what you really need | 12:27 |
| mikefc | thanks. I thought it was just the interpreter loop, but I grepped through the pypy code and found it a few times. multiple interpretors make sense. | 12:28 |
| ThomasWaldmann | fijal: well all have our "internal" timezones... <g> | 12:34 |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds | 12:36 | |
| fijal | ThomasWaldmann: they shift | 12:41 |
| fijal | according to the coding saving time | 12:41 |
| khs (~khs@2001:700:300:2120:725a:b6ff:fee5:a44) joined #pypy. | 12:42 | |
| aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection | 12:44 | |
| davidpk (~davidpk@5e06d080.bb.sky.com) joined #pypy. | 12:50 | |
| Sinker (~thinker@123-194-52-90.dynamic.kbronet.com.tw) left irc: Ping timeout: 252 seconds | 12:53 | |
| thinker (~thinker@123-194-52-90.dynamic.kbronet.com.tw) joined #pypy. | 13:00 | |
| jnoller (~jnoller@vpn.nasuni.com) joined #pypy. | 13:02 | |
| Nick change: Taggnostr2_ -> Taggnostr | 13:02 | |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 13:03 | |
| bgola (~bgola@c9518082.virtua.com.br) joined #pypy. | 13:08 | |
| arigato (~arigo@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 13:18 | |
| Action: fijal made numpy tests >2x slower | 13:23 | |
| fijal | I have no idea why actually | 13:23 |
| kenaan | 12arigo default 1129823c2fcce6 15/lib-python/modified-2.7/ctypes/test/test_libc.py: We decided to not explicitly support the whole ctypes-2.7 and instead go for a case-by-case, demand-driven approach... | 13:27 |
| CIA-13 | 03arigo 07roundup * 10#869/Implement ctypes.<type>.from_buffer method: | 13:33 |
| CIA-13 | schmichael: the buffer interface in PyPy is a bit under-developed. On which | 13:33 |
| CIA-13 | kind of objects do you happen to use ctypes's from_buffer() method? * 14https://bugs.pypy.org/issue869 | 13:33 |
| DanKluev (~root@78-24-224-073-udsl.vntc.ru) left irc: Remote host closed the connection | 13:41 | |
| DanKluev (~root@78-24-224-073-udsl.vntc.ru) joined #pypy. | 13:41 | |
| kenaan | 12arigo default 11e6032a99a1a5 15/lib-python/modified-2.7/ctypes/test/test_callbacks.py: "xfail" this test too. It has been failing at least since pypy 1.6. | 13:47 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 13:47 | |
| kenaan | 12arigo default 118a5fb10fc8c4 15/lib-python/modified-2.7/ctypes/test/test_callbacks.py: Bah, sorry. | 13:48 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Client Quit | 13:50 | |
| arigato | fijal: have a moment to discuss this failure? : | 13:50 |
| arigato | http://buildbot.pypy.org/summary/longrepr?testname=TestGenerators.%28%29.test_simple_generator&builder=pypy-c-jit-linux-x86-32&build=1159&mod=pypy.module.pypyjit.test_pypy_c.test_generators | 13:50 |
| setmeaway (oosool3@119.201.52.190) left irc: Read error: Connection reset by peer | 13:52 | |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy. | 13:53 | |
| Shanita (~John@osbk-4db152c8.pool.mediaWays.net) left irc: Read error: Connection reset by peer | 13:54 | |
| setmeaway (~setmeaway@119.201.52.190) joined #pypy. | 13:54 | |
| stakkars_ (~tismer@i59F74B7D.versanet.de) joined #pypy. | 13:55 | |
| RiaanFV (~riaanfv@41-133-33-124.dsl.mweb.co.za) joined #pypy. | 14:04 | |
| ltratt (~ltratt@px238.dcs.kcl.ac.uk) joined #pypy. | 14:12 | |
| fijal | arigato: yes? | 14:12 |
| fijal | eh? | 14:12 |
| ltratt | Hi all. Has anyone seen this assert triggered on -Ojit before? Does anyone have any suggestions on why it might have been triggered? http://pastebin.com/M2sLPSXB | 14:15 |
| harrison (~quassel@adsl-69-209-218-183.dsl.chcgil.sbcglobal.net) joined #pypy. | 14:18 | |
| RiaanFV (~riaanfv@41-133-33-124.dsl.mweb.co.za) left irc: Quit: Leaving | 14:19 | |
| arigato | ltratt: bah, it seems the JIT is not happy about fixed-size malloc(flavor='raw') | 14:21 |
| arigato | although it supports variable-sized ones | 14:21 |
| arigato | fijal: in this test we get 2 loops now | 14:22 |
| arigato | it creates the nice loop that we expect first | 14:22 |
| arigato | before jit-simplify-backendintf it would immediately execute it | 14:23 |
| arigato | but now once it is compiled it just returns to the interpreter | 14:23 |
| arigato | and hopes that the interpreter will pick up the compiled loop immediately | 14:23 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 14:24 | |
| arigato | ltratt: I fear that you have to get used to the test-driven development method of pypy at least a little bit: I would be happy to fix it provided you write a test first (in the style of pypy/jit/codewriter/test/test_jtransform.py, test_raw_malloc*()) | 14:25 |
| fijal | arigato: ok | 14:25 |
| fijal | arigato: I'm not interested in the sprint :/ | 14:26 |
| arigato | I guessed so, you're not in Europe | 14:27 |
| arigato | ...I think the interpreter is actually running one iteration of the loop, before noting that it can now jump to machine code | 14:27 |
| ltratt | brb | 14:27 |
| fijal | arigato: that does not sound like a win | 14:28 |
| arigato | fijal: well, it was a major simplification for this branch, and it does not sound like a loss either | 14:29 |
| arigato | but maybe it is, for this corner case | 14:29 |
| ltratt | arigato: sorry about the delay. | 14:29 |
| fijal | arigato: yes, I'm not complaining | 14:29 |
| fijal | WTF? | 14:30 |
| ltratt | i would have imagined fixed size would be ok, but not variable | 14:30 |
| ltratt | shows how little i know | 14:30 |
| fijal | why is running my tests take 7% of time in file.readline()? | 14:30 |
| arigato | ltratt: it's just because in pypy we use raw-mallocs to allocate typically e.g. buffers of bytes | 14:30 |
| ltratt | ok, so is the fix as easy as it sounds? or am I missing out on something obvious :) | 14:32 |
| arigato | I don't know what you imagine? it can be fixed in the codewriter, or you can work around it by killing or moving to a @jit.dont_look_inside the raw malloc and the raw free | 14:33 |
| arigato | or work around by raw-malloc'ing a buffer of N bytes and typecasting | 14:33 |
| ltratt | ok, the workarounds sound possible. Obviously, as a selfish user, I'd love the changes to be in the codewriter so that no-one else hits this one again in the future :) | 14:35 |
| arigato | yes, if you write a test, I'd be happy to fix | 14:35 |
| Action: fijal is very suspicious | 14:36 | |
| fijal | MEH | 14:36 |
| fijal | py.test on PyPy is sloooooooooooooooooooooooooooooow | 14:36 |
| arigato | :-) | 14:36 |
| fijal | no :( | 14:37 |
| ltratt | i would love to pretend i understand how to write tests for pypy's internals, but i must confess to being a dummy. test_raw_malloc is Greek to me. | 14:38 |
| arigato | ltratt: sorry, maybe jit/metainterp/test/test_rawmem.py is easier to grasp | 14:41 |
| arigato | as it is just a small example of RPython code | 14:41 |
| hakanardo__ | a 2 dimensional numpy array access places a call_may_force(BaseArray.descr_get_shape) in the loop... | 14:43 |
| davidpk (~davidpk@5e06d080.bb.sky.com) left irc: Quit: davidpk | 14:44 | |
| ltratt | arigato: how do i write a test and get it to be tested under the JIT? | 14:45 |
| arigato | ltratt: you run "python test_all.py jit/metainterp/test/test_rawmem.py" | 14:45 |
| ltratt | is it the lljitmixin that forces it to be run under the JIT? | 14:46 |
| arigato | you can use the option "--viewloops" if you're unsure that anything occurs | 14:46 |
| arigato | yes, it's the mixin that defines the method self.interp_operations() | 14:46 |
| arigato | which does all the magic | 14:46 |
| hakanardo__ | can we mark descr_get_dtype @jit.unroll_safe? self.shape is typically short, I would guess... | 14:47 |
| ltratt | arigato: ok | 14:47 |
| ltratt | unless I'm missing out on what you're saying, this test doesn't do what i thought it would http://pastebin.com/1fDRhBYw | 14:50 |
| arigato | fijal: bah, I'm trying to write some counter decay algorithm, e.g. decaying the counters by a bit every time we trace | 14:51 |
| arigato | any clue how to test that?? | 14:51 |
| tunixman (~tunixman@irc.tunixman.com) left irc: Ping timeout: 268 seconds | 14:51 | |
| arigato | ltratt: keep the structure of test_rawmem.py | 14:51 |
| arigato | you need to write this code in a function f(), and then call self.interp_operations(f, [arg]) | 14:52 |
| tunixman (~tunixman@irc.theunixman.com) joined #pypy. | 14:52 | |
| arigato | as written, your test instead just checks that we have the correct emulation layers to emulate a malloc and a free | 14:52 |
| arigato | but has nothing to do with the JIT | 14:53 |
| ltratt | ok. i have no idea how anyone works this stuff out without asking ;) | 14:53 |
| arigato | ltratt: don't worry, they ask :-) | 14:53 |
| ltratt | This fails, but who knows whether for the right reason or not http://pastebin.com/1czaYL3f | 14:55 |
| arigato | ah | 14:56 |
| ltratt | I must admit, the lack of docs for RPython is highly intimidating. It's certainly put at least 1 of my students off touching the stuff :( | 14:56 |
| arigato | no, it's just that the test doesn't support "return None" | 14:56 |
| arigato | you need to end with "return 42" for example | 14:56 |
| arigato | then the test passes | 14:56 |
| arigato | but it's not testing fixed-size raw mallocs, but variable-size ones | 14:57 |
| arigato | ah, that's different from "constant-sized" | 14:57 |
| arigato | it means it's something like malloc(some structure, flavor='raw') | 14:57 |
| arigato | with no size specified at all | 14:58 |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) left irc: Quit: Leaving | 14:59 | |
| Squarepy (~Squarepy@wcw-staff-214-224.wireless.uva.nl) joined #pypy. | 15:02 | |
| Squarepy (~Squarepy@wcw-staff-214-224.wireless.uva.nl) left irc: Changing host | 15:02 | |
| Squarepy (~Squarepy@unaffiliated/squarepy) joined #pypy. | 15:02 | |
| ltratt | you've got me there. malloc must always have a size specified, right? | 15:03 |
| fprimex (~brent@fl-67-233-144-239.dhcp.embarqhsd.net) joined #pypy. | 15:04 | |
| dgl (~dgl@109.86.165.231) joined #pypy. | 15:05 | |
| dgl (~dgl@109.86.165.231) left irc: Client Quit | 15:05 | |
| intgr (ack@zombie.life.ee) left #pypy. | 15:07 | |
| fijal | arigato: hahaha | 15:08 |
| fijal | hakanardo__: that can probably be unrolled | 15:08 |
| arigato | ltratt: no, this is a malloc(TYPE) | 15:08 |
| fijal | hakanardo__: it's short and also constant | 15:08 |
| dmalcolm (david@nat/redhat/x-vqlnoqisxhmdcdmt) joined #pypy. | 15:09 | |
| fprimex (~brent@fl-67-233-144-239.dhcp.embarqhsd.net) left irc: Client Quit | 15:09 | |
| fijal | dmalcolm: hi | 15:09 |
| arigato | ltratt: in other words, you need to declare a dummy TYPE = lltype.Struct('dummy', ('x', lltype.Signed)) for example | 15:09 |
| dmalcolm | fijal: hi! | 15:09 |
| fprimex (~brent@fl-67-233-144-239.dhcp.embarqhsd.net) joined #pypy. | 15:09 | |
| arigato | then you can say lltype.malloc(TYPE, flavor='raw') | 15:09 |
| fijal | dmalcolm: can you explain why fedora is still patching CFLAGS? | 15:09 |
| arigato | ltratt: but I would expect that you already know that, using this in Converge? or is it some pypy.rlib code maybe? | 15:10 |
| dmalcolm | fijal: not enough round tuits on my part, alas | 15:10 |
| amstan (~amstan@69-196-130-230.dsl.teksavvy.com) joined #pypy. | 15:10 | |
| ltratt | yes, i use a TIMEVAL struct | 15:10 |
| arigato | ok | 15:10 |
| ltratt | that might be the issue | 15:11 |
| arigato | yes | 15:11 |
| fijal | dmalcolm: but that means fedora package is completely broken right? | 15:12 |
| fprimex (~brent@fl-67-233-144-239.dhcp.embarqhsd.net) left irc: Client Quit | 15:12 | |
| fprimex (~brent@fl-67-233-144-239.dhcp.embarqhsd.net) joined #pypy. | 15:12 | |
| fijal | arigato: part of the reason why tests are sooo slow under pypy is because of applevel and py.test magic :/ | 15:13 |
| fijal | it's actually *loading* a single test that takes forever | 15:13 |
| fijal | and it scales with number of lines of code | 15:13 |
| dmalcolm | fijal: err... define "completely broken". It passes the vast majority of the selftests; see e.g. http://kojipkgs.fedoraproject.org/packages/pypy/1.7/1.fc17/data/logs/x86_64/build.log (caution: very large) | 15:14 |
| fijal | dmalcolm: as in, you might have slight errors that will give you a very occasional segfaults | 15:15 |
| fijal | do you have a link to CFLAGS? | 15:15 |
| dmalcolm | fijal: ah, thanks. Is it GC rootfinding that you're concerned about? | 15:15 |
| fijal | yes | 15:15 |
| fijal | at the very best it's untested | 15:16 |
| fijal | dmalcolm: do you have the link to the package building script? | 15:17 |
| fijal | this is where the sed lives right? | 15:17 |
| kenaan | 12fijal refactor-signature 11cb2ba9e1d8ad 15/pypy/module/micronumpy/: make some more tests pass, skip the debug_repr for now | 15:17 |
| dmalcolm | fijal: http://pkgs.fedoraproject.org/gitweb/?p=pypy.git;a=blob;f=pypy.spec;h=1d6b6af67b6ce231c90435882da595df15da42e0;hb=HEAD | 15:17 |
| fijal | thanks | 15:17 |
| fijal | dmalcolm: so tell me why it loads RPM_OPT_FLAGS in the first place? | 15:18 |
| fijal | CFLAGS= | 15:18 |
| fijal | would be good enough | 15:18 |
| ltratt | arigato: ok, this is clearly a slightly silly test, because it won't know about time.h (HOW to include that?!) but I have students banging at my door. hope this is enough of a start http://pastebin.com/YU3TxmpX | 15:19 |
| amstan (amstan@69-196-130-230.dsl.teksavvy.com) left #pypy ("Konversation terminated!"). | 15:19 | |
| fijal | dmalcolm: I mean it's probably fine, but if someone adds any extra silly flag to RPM_OPT_FLAGS it'll break the build | 15:19 |
| fijal | I didn't quite read you're *removing* those flags | 15:19 |
| fijal | ltratt: you don't have to have a real structure | 15:20 |
| arigato | ltratt: yes, thank you. indeed, the structure can be a 'dummy' | 15:20 |
| dmalcolm | fijal: right. the RPM_OPT_FLAGS are there so that we can try to respect distro-wide policies about compilation flags, and then we hack it up to break that - so we don't have either Fedora's standard build flags, or PyPy's build flags | 15:21 |
| fijal | dmalcolm: that's precisely my point | 15:21 |
| fijal | what can potentially be in those flags that you want to respect and that won't break PyPy? | 15:21 |
| dmalcolm | fijal: so to what extent do we have automated test coverage for the GC root-finding within PyPy's test suite? | 15:21 |
| fijal | it's pretty well tested for known cases | 15:22 |
| fijal | but every now and then we discover "oh, and C compiler can also emit *this* sort of code" | 15:22 |
| fijal | if you feed it with random flags, this is what might happen | 15:22 |
| fijal | also some -f flags might make it not cooperate with generated assembler | 15:23 |
| fijal | (C compiled vs generated) | 15:23 |
| fijal | etc. | 15:23 |
| fijal | I'm sure you can screw it up with feeding -f flags | 15:23 |
| fijal | please, just don't use RPM_OPT_FLAGS | 15:23 |
| fijal | there is nothing good in them and there might be potentially something harmful | 15:23 |
| tumbleweed | fijal: I'm also keen on the ability to feed pypy different CFLAGS and LDFLAGS, but almost none of them will be -f... | 15:23 |
| fijal | tumbleweed: like what? | 15:24 |
| tumbleweed | fijal: mostly new warnings, linker options, as we slowly progress towards the gold linker, and any hardening that we can do | 15:25 |
| fijal | tumbleweed: you can't do any hardening because we emit assembler | 15:25 |
| ltratt | arigato: ok, cool. | 15:25 |
| tumbleweed | fijal: yes, aware of that | 15:25 |
| arigato | dmalcolm: what is unusual about pypy is that the C code produced if you say "--gcrootfinder=asmgcc" is not at all C code that can be compiled by any C compiler with random flags | 15:25 |
| fijal | also warnings are pointless, because we emit very regular C | 15:26 |
| ltratt | i'll hold back on bypassing the problem in ym code and await the fix :) | 15:26 |
| ltratt | thanks! | 15:26 |
| ltratt (~ltratt@px238.dcs.kcl.ac.uk) left irc: Quit: Students a-waitin' | 15:26 | |
| arigato | dmalcolm: you should either call "gcc" with no particular flags (because it's tested), or give up and translate with "--gcrootfinder=shadowstack" and get ANSI C | 15:26 |
| dmalcolm | arigato: awkward question: which version of gcc are you testing on? | 15:27 |
| tumbleweed | fijal: the point of new warnings is that gcc gains new warnings and we like to know thaht everything works with them, before they become part of -Wall | 15:27 |
| arigato | dmalcolm: it works on standard gcc's on linux, from 3.4.6 to Ubuntu's 4.4.3 | 15:28 |
| dmalcolm | I'm using 4.6 | 15:28 |
| arigato | dmalcolm: if more recent versions show issues, we can fix them on a need-by-need basis | 15:28 |
| fijal | dmalcolm: I'm using/was using trunk | 15:28 |
| fijal | gcc trunk | 15:28 |
| fijal | so it should work on 4.7 | 15:28 |
| Alex_Gaynor | fijal: pong | 15:29 |
| arigato | what we don't do is fix issues that show up because you're using *any* flag. we only fix issues with vanilla gcc and vanilla pypy's Makefile | 15:29 |
| tumbleweed | no problems from me for that. Not everything out there supports every flag, and that's fine with me | 15:30 |
| arigato | and at some point we might decide to give up that and invest some efforts in making --gcrootfinder=shadowstack a little bit better | 15:30 |
| tumbleweed | but it looks like fedora are being more agressive than Debian here... | 15:30 |
| Alex_Gaynor | fijal: how's the status of signature-refactor, you need a review? | 15:30 |
| fijal | not yet, it's unfinished | 15:30 |
| dmalcolm | or I could write a root-finding GCC plugin, I guess | 15:30 |
| fijal | not rpython yet and failing some tests | 15:30 |
| fijal | dmalcolm: if you can do it that would be fairly awesome | 15:31 |
| fijal | it's however relatively hard | 15:31 |
| arigato | dmalcolm: yes, that would be cool | 15:31 |
| fijal | I would be happy to remove asmgcc in favor of that | 15:31 |
| arigato | me too :-) | 15:31 |
| dmalcolm | would I get to use my favorite flags if I did? :) | 15:31 |
| fijal | arigato: can we remove get_L2_cache_size and friends? | 15:31 |
| fijal | tumbleweed posted a patch on the tracker | 15:32 |
| fijal | dmalcolm: yes, I think so, although some of them are still pointless :) | 15:32 |
| arigato | I suppose that if you did, it would work with various combination of flags indeed | 15:32 |
| dmalcolm | fijal: btw, did you run into specific bug reports about the Fedora builds that's motivating this discussion? | 15:32 |
| arigato | fijal: I did remove the call to it, at least for minimark gc | 15:32 |
| arigato | fijal: now it's 4MB by default | 15:32 |
| tumbleweed | arigato: my patch removed it everywhere else, too | 15:32 |
| tumbleweed | I hadn't noticed the change in minimark, and saw that the detection itself hadn't been touched since 1.7, so wasted some time trying to determine it on a bunch of archs first... | 15:33 |
| fijal | dmalcolm: nope, just tumbleweed posted a link, when doing debian package | 15:33 |
| dmalcolm | arigato: do I basically need to find all locals on the stack, and capture them all into a metadata struct? | 15:33 |
| arigato | tumbleweed: :-/ | 15:33 |
| tumbleweed | arigato: so it goes, first contributions to new projects are always painful :P | 15:34 |
| fijal | dmalcolm: the problem is you need to capture their types | 15:34 |
| fijal | dmalcolm: but you can get some support from the toolchain | 15:34 |
| arigato | dmalcolm: yes, you need all locals that have certain types... | 15:34 |
| fijal | we can mark all the types that are GC types | 15:34 |
| arigato | yes | 15:34 |
| Action: dmalcolm goes to grab another coffee - this will be fun :) | 15:34 | |
| fijal | or we can put some information in functions | 15:34 |
| arigato | :-) | 15:34 |
| fijal | arigato: the question for tumbleweed is can we remove the code | 15:34 |
| fijal | ? | 15:34 |
| arigato | fijal: I'm not sure, but I suppose that removed code is better than unused code | 15:35 |
| fijal | yes | 15:35 |
| arigato | provided it's definitely unused | 15:35 |
| fijal | then there is a patch on the tracker :) | 15:35 |
| arigato | :-) | 15:35 |
| tumbleweed | dmalcolm: have you done anything about an FHS-ish install, yet? I spent some time this afternoon looking at the changes I'll need to make to distutils and site.py to vaguely match how me handle cpython, and it started looking rather un-fun :P | 15:37 |
| dmalcolm | tumbleweed: fwiw the Fedora specfile is here: http://pkgs.fedoraproject.org/gitweb/?p=pypy.git;a=blob;f=pypy.spec;h=1d6b6af67b6ce231c90435882da595df15da42e0;hb=HEAD | 15:38 |
| Alex_Gaynor | fijal: I'm not sure metallica is popular enough that that's a good refernece (going throug backlog of tweets) | 15:38 |
| tumbleweed | dmalcolm: yeah, been reading it :) | 15:38 |
| Kaskuka (~John@osbk-4db14206.pool.mediaWays.net) joined #pypy. | 15:39 | |
| fijal | Alex_Gaynor: it was when I was 14 :) | 15:40 |
| fijal | Alex_Gaynor: I'm trying to slowly understand the implications of what I have been doing now | 15:41 |
| fijal | it all nicely falls in places | 15:41 |
| Alex_Gaynor | "good" | 15:41 |
| fijal | yeah, but requires fixing bugs :) | 15:41 |
| Alex_Gaynor | the failing tests require fixing bugs? perish the thought | 15:42 |
| fijal | no | 15:42 |
| fijal | the cleaner idea | 15:42 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Quit: reboot | 15:42 | |
| fijal | exposes bugs | 15:42 |
| arigato | fijal: the raw_malloc_no_track_allocation parts of codewriter/support.py are probably not working | 15:42 |
| fijal | because now really you can't make the decision later | 15:42 |
| fijal | arigato: uh why? | 15:42 |
| arigato | because when using them, we also need free(track_allocation=False) | 15:42 |
| Alex_Gaynor | fijal: numpypy is a good model for "how to engineer software", I claim | 15:43 |
| berdario (~Tiibiidii@217.220.118.217) joined #pypy. | 15:43 | |
| fijal | arigato: I think *as it is* | 15:43 |
| fijal | it simply works by chance | 15:43 |
| fijal | because free is in __del__ which is never JITted | 15:44 |
| arigato | bah, ok | 15:44 |
| fijal | yes, bah | 15:44 |
| fijal | but it works :) | 15:44 |
| fijal | Alex_Gaynor: for example now I have to create the notion of broadcast at the moment of signature creation | 15:45 |
| fijal | not later | 15:45 |
| Squarepy (Squarepy@unaffiliated/squarepy) left #pypy ("Leaving"). | 15:46 | |
| Alex_Gaynor | fijal: we create signature at eval now, right? | 15:46 |
| Alex_Gaynor | fijal: when do we create broadcast ATM | 15:46 |
| Alex_Gaynor | fijal: err signature at eval on your branch | 15:46 |
| fijal | slightly later | 15:47 |
| fijal | so on trunk for example I think broadcast would be a bridge from normal | 15:47 |
| fijal | or something | 15:47 |
| Alex_Gaynor | fijal: is enumerate RPython? | 15:52 |
| fijal | yes, most of the time | 15:53 |
| Alex_Gaynor | ok | 15:53 |
| fijal | are you reviewing the branch by chance? | 15:53 |
| Alex_Gaynor | fijal: no, I'm reviewing the fromstring branch | 15:53 |
| fijal | ok | 15:53 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 15:53 | |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 15:57 | |
| fijal | Alex_Gaynor: for example I made it explicit that view is of a concrete array | 15:57 |
| Alex_Gaynor | fijal: it shouldn't need to be | 15:58 |
| fijal | the assumption was there, it was just hidden :) | 15:58 |
| fijal | yes | 15:58 |
| fijal | but that's what's on trunk | 15:58 |
| Alex_Gaynor | well, let's fix it :) | 15:58 |
| fijal | I'm trying not to fix 17 things at once | 15:58 |
| Alex_Gaynor | fair enough | 15:59 |
| fijal | it's getting more complex | 16:00 |
| fijal | like a broadcast of a view is just another view | 16:00 |
| kenaan | 12alex_gaynor numpy-full-fromstring 1144e16832a75d 15/pypy/module/micronumpy/REVIEW: Added some review notes. | 16:02 |
| kenaan | 12alex_gaynor numpy-full-fromstring 112fbc0588123e 15/: merged default in | 16:02 |
| Alex_Gaynor | fijal: sounds "simpler" in that way | 16:02 |
| Ademan (~dan@adsl-71-141-224-79.dsl.snfc21.pacbell.net) left irc: Quit: leaving | 16:04 | |
| kenaan | 12hager ppc-jit-backend 11284314e1eb5f 15/pypy/jit/backend/ppc/ppcgen/: (bivab, hager): fix bug in code generator | 16:06 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds | 16:07 | |
| tumbleweed | fijal: I ended up doing this to get test__mercurial to pass http://paste.debian.net/149200/ (use debian version as the "branch", '' as the commit, and display branch name instead of commit hash in sys.version (like cpython)) | 16:07 |
| tumbleweed | can I interest anyone in http://paste.debian.net/149204/ (a failure pypy only expects on darwin, but I'm seeing on linux) or http://paste.debian.net/149202/ (I build under eatmydata, which makes lots of sense for packages smaller than pypy, but is a pain to disable just for pypy) | 16:09 |
| fijal (~fijal@197.109.164.139) left irc: Ping timeout: 268 seconds | 16:10 | |
| stakkars_ (~tismer@i59F74B7D.versanet.de) left irc: Quit: schnarch | 16:11 | |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 16:11 | |
| khs (~khs@2001:700:300:2120:725a:b6ff:fee5:a44) left irc: Quit: Leaving | 16:14 | |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Client Quit | 16:15 | |
| DasIch_ (~dasich@p3E9912DF.dip.t-dialin.net) left irc: Read error: Connection reset by peer | 16:16 | |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 16:18 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 16:24 | |
| arigato | tumbleweed: yes, I've seen it on linux in some configuration too | 16:27 |
| arigato | tumbleweed: thanks for the checkin | 16:27 |
| tumbleweed | unfortunatly, I don't know more about it | 16:27 |
| tumbleweed | throwing errno 0 is pretty odd | 16:27 |
| arigato | yes :-( | 16:27 |
| arigato | libeatmydata.so looks like a workaround for a bug in libeatmydata.so | 16:29 |
| tumbleweed | expected behavior for eatmydata, surely | 16:30 |
| arigato | what is eatmydata? | 16:30 |
| tumbleweed | a library that ignores syncs | 16:30 |
| tumbleweed | makes package installation rediculously fast, which is nice for builds :) | 16:30 |
| Kaskuka (~John@osbk-4db14206.pool.mediaWays.net) left irc: Read error: Connection reset by peer | 16:31 | |
| arigato | it's a hack, although maybe it gives good speed-ups on code that brokenly calls fsync() too often | 16:31 |
| tumbleweed | it's totally a hack | 16:32 |
| tumbleweed | dpkg calls it often, because it really really doesn't want to break your system | 16:32 |
| tumbleweed | in a throwaway build chroot, this makes small builds many times faster, and doesn't really have any downsides | 16:32 |
| arigato | except that it breaks tests of fsync | 16:33 |
| tumbleweed | this is the first time I've ever come across anyone testing fsync :P | 16:33 |
| arigato | ...well we're not really testing fsync() | 16:34 |
| arigato | we're just calling it | 16:34 |
| arigato | no clue why eatmydata.so is giving failures | 16:34 |
| arigato | ah, it's the line raises(OSError, os.fsync, fd)? | 16:34 |
| arigato | checks that you can't call fsync() on an invalid file descriptor | 16:34 |
| Action: tumbleweed tries to find the right log | 16:35 | |
| arigato | basically the test is of course not checking that the OS behaves correctly | 16:35 |
| arigato | it's checking that we are doing the correct wrapping | 16:35 |
| arigato | I'm fine if you change the test to not complain if the call to os.fsync() actually didn't raise anything | 16:36 |
| arigato | as part of "a broken libc" | 16:36 |
| tumbleweed | sorry, got pulled into a conversation. back. | 16:38 |
| tumbleweed | the problem is that it doesn't raise OSError, yes | 16:38 |
| Kaskuka (~John@osbk-4db14206.pool.mediaWays.net) joined #pypy. | 16:39 | |
| arigato | yes | 16:40 |
| arigato | then it's indeed a bug of eatmydata.so, as I first guessed :-) | 16:41 |
| arigato | it should at least check that the fd is valid | 16:41 |
| tumbleweed | heh | 16:41 |
| kkris (~kris@178.115.138.236.wireless.dyn.drei.com) joined #pypy. | 16:41 | |
| arigato | (in an ideal world at least) | 16:42 |
| G2P (~G2P@fw-asn1.ornis.com) left irc: Quit: Leaving. | 16:42 | |
| kenaan | 12arigo default 11b1a9e14a476c 15/pypy/jit/codewriter/jtransform.py: Complain if we see "lltype.free(x, track_allocation=False)". Should be fixed. | 16:43 |
| kenaan | 12arigo default 110af6042f9ef6 15/pypy/jit/: Support "malloc(STRUCT, flavor='raw')" too. | 16:43 |
| kenaan | 12arigo default 11b907a1252c68 15/pypy/module/_ssl/test/test_ssl.py: Changeset by tumbleweed: we are seeing this on Linux too, not only on Darwin. Obscure. | 16:43 |
| fijal (~fijal@197.168.156.142) joined #pypy. | 16:43 | |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) left irc: Quit: Konversation terminated! | 16:43 | |
| JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 16:45 | |
| fprimex (~brent@fl-67-233-144-239.dhcp.embarqhsd.net) left irc: Quit: quit | 16:47 | |
| tumbleweed | arigato: have this, then: http://paste.debian.net/149218/ | 16:48 |
| CIA-13 | 03schmichael 07roundup * 10#869/Implement ctypes.<type>.from_buffer method: | 16:49 |
| CIA-13 | arigo: I was able to switch from .from_buffer to .from_address[1] by not using | 16:49 |
| CIA-13 | the stdlib's mmap module and instead creating my own wrapper[2]. S ... * 14https://bugs.pypy.org/issue869 | 16:49 |
| arigato | tumbleweed: ok! | 16:50 |
| kenaan | 12arigo default 110eea2bcfa892 15/pypy/module/posix/test/test_posix2.py: See comments. Thanks tumbleweed | 16:50 |
| tumbleweed | ta | 16:51 |
| Action: arigato -> off | 17:02 | |
| arigato (~arigo@fwstups.cs.uni-duesseldorf.de) left irc: Quit: See you | 17:02 | |
| kenaan | 12fijal refactor-signature 1116065f56db0c 15/pypy/module/micronumpy/: skip some tests and make the rest pass. Broadcasting and FlatIter unsupported so far | 17:04 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 17:06 | |
| fijal (~fijal@197.168.156.142) left irc: Ping timeout: 252 seconds | 17:08 | |
| mattip (~chatzilla@bzq-79-183-106-226.red.bezeqint.net) joined #pypy. | 17:09 | |
| lmoura (lmoura@gateway/indt/session) left irc: Read error: Operation timed out | 17:10 | |
| K-os (~gabriel@dhcp-205.zbh.uni-hamburg.de) left irc: Ping timeout: 240 seconds | 17:10 | |
| Eventh (evenwiik@caracal.stud.ntnu.no) left irc: Remote host closed the connection | 17:10 | |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) joined #pypy. | 17:12 | |
| lmoura (lmoura@gateway/indt/session) joined #pypy. | 17:19 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy. | 17:21 | |
| jterrace (~jterrace@aegis.CS.Princeton.EDU) joined #pypy. | 17:22 | |
| fzzzy (~donovan@nat/mozilla/x-herdtwewdkuagnqd) joined #pypy. | 17:23 | |
| mkerrin (~mkerrin@wg1-nat.fwgal01.deri.ie) left irc: Ping timeout: 240 seconds | 17:25 | |
| nickik (~nick@cust.static.217-11-47-178.cybernet.ch) joined #pypy. | 17:35 | |
| jterrace1 (~Adium@aegis.CS.Princeton.EDU) joined #pypy. | 17:36 | |
| chroniti1 (~chronitis@79-68-119-97.dynamic.dsl.as9105.com) joined #pypy. | 17:39 | |
| chronitis (~chronitis@88-104-117-122.dynamic.dsl.as9105.com) left irc: Ping timeout: 268 seconds | 17:40 | |
| papercrane (~papercran@75.101.111.82) joined #pypy. | 17:41 | |
| whyking (~quassel@128.148.231.16) joined #pypy. | 17:43 | |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy. | 17:44 | |
| papercrane (~papercran@75.101.111.82) left irc: Read error: Connection reset by peer | 17:44 | |
| papercrane (~papercran@75.101.111.82) joined #pypy. | 17:45 | |
| jterrace1 (~Adium@aegis.CS.Princeton.EDU) left irc: Quit: Leaving. | 17:45 | |
| jterrace1 (~Adium@aegis.CS.Princeton.EDU) joined #pypy. | 17:47 | |
| mat^2 (~mathias@212.130.113.35) joined #pypy. | 17:48 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy. | 17:55 | |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) joined #pypy. | 17:56 | |
| voidspace (~voidspace@python/psf/voidspace) left irc: Ping timeout: 240 seconds | 18:05 | |
| jterrace1 (~Adium@aegis.CS.Princeton.EDU) left irc: Quit: Leaving. | 18:14 | |
| davidpk (~davidpk@5e06d080.bb.sky.com) joined #pypy. | 18:15 | |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 18:26 | |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 18:26 | |
| voidspace (~anonymous@python/psf/voidspace) joined #pypy. | 18:26 | |
| voidspace (~anonymous@python/psf/voidspace) left irc: Client Quit | 18:29 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum | 18:35 | |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Computer has gone to sleep. | 18:35 | |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy. | 18:36 | |
| berdario (~Tiibiidii@217.220.118.217) left irc: Ping timeout: 244 seconds | 18:36 | |
| ericflo (~ericflo@75.103.8.110) joined #pypy. | 18:37 | |
| arigato (~arigo@89.204.155.36) joined #pypy. | 18:38 | |
| CIA-13 | 03arigo 07roundup * 10#963/corner case behavior of "is"-identical objs: (log message trimmed) | 18:41 |
| CIA-13 | [new] >>>> a = 1 | 18:41 |
| CIA-13 | >>>> b = 1 | 18:41 |
| CIA-13 | >>>> a is b | 18:41 |
| CIA-13 | True * 14https://bugs.pypy.org/issue963 | 18:41 |
| Alex_Gaynor | arigato: wasn't there an issue like this a long time with object.__hash__(1) just raising a TypeError? | 18:42 |
| nickik (~nick@cust.static.217-11-47-178.cybernet.ch) left irc: Ping timeout: 240 seconds | 18:43 | |
| arigato | yes, there was too | 18:43 |
| arigato | maybe we should revert back to that old behavior? it seems a bit pointless to care about, though | 18:43 |
| Alex_Gaynor | an error seems better than a wrong result | 18:44 |
| Alex_Gaynor | why not just have object.__hash__ call space.id() | 18:44 |
| Alex_Gaynor | that should make it work I think? | 18:44 |
| Alex_Gaynor | err, no | 18:45 |
| arigato | in theory we can change object.__hash__ so that when called on one of these immutable objects, | 18:46 |
| arigato | it calls space.id() and then takes the hash of the result (which may be a long) | 18:46 |
| Nick change: Vorpal_ -> Vorpal | 18:46 | |
| arigato | or simpler: | 18:47 |
| arigato | object.__hash__ delegates to the normal hash() in these cases | 18:48 |
| Alex_Gaynor | right, that's what I meant :) | 18:48 |
| arigato | ah :-) | 18:48 |
| Alex_Gaynor | I was unclear | 18:49 |
| arigato | "but I'm using object.__hash__() to get the raw address of the object in memory, it should never return 0 or a small number" | 18:49 |
| berdario (~Tiibiidii@host118-77-dynamic.10-79-r.retail.telecomitalia.it) joined #pypy. | 18:49 | |
| Alex_Gaynor | too bad, don't do that | 18:50 |
| arigato | :-) | 18:50 |
| Alex_Gaynor | there's a 0% what you're doing is a good idea | 18:50 |
| arigato | :-) | 18:50 |
| arigato | "also, I'm using (x, object.__hash__(x)) as a dictionary key, to distinguish between 0 and 0.0" | 18:51 |
| Alex_Gaynor | o_O | 18:52 |
| Alex_Gaynor | (x, type(x)) | 18:52 |
| arigato | right, that's nonsense anyway, because 1000 and 1000 can have different id's too | 18:53 |
| Alex_Gaynor | heh, that too | 18:53 |
| lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) left irc: Ping timeout: 268 seconds | 18:54 | |
| mtigas (~mtigas@users.spokesman.com) joined #pypy. | 18:54 | |
| berdario (~Tiibiidii@host118-77-dynamic.10-79-r.retail.telecomitalia.it) left irc: Ping timeout: 244 seconds | 18:59 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer | 19:01 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy. | 19:01 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer | 19:01 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy. | 19:01 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer | 19:01 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy. | 19:02 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer | 19:02 | |
| mattip | I am working on frompyfunc. | 19:02 |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy. | 19:02 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer | 19:02 | |
| mattip | I have an input arg w_func which is a wrapped function | 19:02 |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy. | 19:03 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer | 19:03 | |
| mattip | How can I get at some of its attributes, like func.name? | 19:03 |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy. | 19:03 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer | 19:03 | |
| mattip | space.func_w(w_func) ? | 19:03 |
| etrepum (~bob@accessnat4.mochimedia.net) joined #pypy. | 19:03 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy. | 19:03 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer | 19:03 | |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy. | 19:04 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy. | 19:04 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer | 19:04 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) joined #pypy. | 19:04 | |
| logan` (~loganchie@wl065.cc.ntu.edu.tw) left irc: Read error: Connection reset by peer | 19:04 | |
| Alex_Gaynor | w_func.getname(space) | 19:05 |
| nickik (~nick@cust.static.217-11-47-178.cybernet.ch) joined #pypy. | 19:06 | |
| mattip | thanks. That was the key, there are lots of "get"ters in w_func | 19:07 |
| Nick change: ec -> GeanLuick | 19:11 | |
| arigato (~arigo@89.204.155.36) left irc: Ping timeout: 252 seconds | 19:14 | |
| Arfrever (~Arfrever@apache/committer/Arfrever) joined #pypy. | 19:16 | |
| kenaan | 12arigo default 116e98be6147f6 15/pypy/jit/codewriter/: Fix the missing case of raw_free(track_allocation=False). | 19:16 |
| kenaan | 12arigo default 1146c074e2da29 15/pypy/: issue963 resolved Similarly to not calling compute_unique_id() on the immutable objects, we should avoid calling c... | 19:16 |
| CIA-13 | 03arigo 07roundup * 10#963/corner case behavior of "is"-identical objs: [resolved] Actually fixed in 46c074e2da29 (thanks to discussions with Alex Gaynor). * 14https://bugs.pypy.org/issue963 | 19:16 |
| arigato (~arigo@82.113.98.199) joined #pypy. | 19:17 | |
| arigato | pff pfff | 19:19 |
| arigato | >>> object.__repr__(5) | 19:20 |
| arigato | '<int object at 0x9b86f08>' | 19:20 |
| gutworth | :) | 19:20 |
| arigato | ah no | 19:22 |
| arigato | this is based on space.id() | 19:22 |
| Gues_____ (~textual@216.190.27.14) joined #pypy. | 19:22 | |
| Nick change: Alex_Gaynor -> tiger_woods | 19:24 | |
| Nick change: tiger_woods -> Alex_Gaynor | 19:24 | |
| arigato | >>>> object.__repr__(2**200) | 19:25 |
| arigato | '<long object at 0x00000003>' | 19:25 |
| arigato | >>>> object.__repr__(2**180) | 19:25 |
| arigato | '<long object at 0x00000003>' | 19:25 |
| Nick change: Gues_____ -> rekamso | 19:25 | |
| arigato | do we care? :-/ | 19:25 |
| Alex_Gaynor | arigato: why is it an issue? | 19:25 |
| arigato | because all longs multiple of 2**32 or 2**64 pretend to have the id of 3 in this repr | 19:26 |
| arigato | because their id is always a multiple of 2**32 plus 3, and object.__repr() displays only the last 32 bits | 19:27 |
| Alex_Gaynor | i'm pretty sure we don't care, but not 100% | 19:28 |
| arigato | same here :-) | 19:28 |
| amaury_ | on 32bit platforms? | 19:30 |
| arigato | yes, replace 32 with 64 as needed | 19:30 |
| arigato | actually it's more 29 than 32 | 19:31 |
| arigato | because e.g. for ints, id(n) == n*8+1 | 19:31 |
| arigato | so object.__repr__(sys.maxint) == object.__repr__(-1), for example | 19:31 |
| ltratt (~ltratt@84.93.175.106) joined #pypy. | 19:34 | |
| ltratt | arigato: thanks for your fix earlier, it works fine. | 19:34 |
| arigato | :-) | 19:35 |
| ltratt | and has allowed me to identify a wholely unexpected bottleneck in my VM (I love gprof!): str2charp | 19:36 |
| ltratt | is there any way to get at the raw data of an rpython string without going via str2charp? | 19:36 |
| Alex_Gaynor | ltratt: Yes, but there are two caveats: if the string is a young object (with most of our GCs) it can move, so you can't really do that, b) rpython strings are not nul-padded | 19:38 |
| Alex_Gaynor | rffi.get_nonmovingbuffer | 19:38 |
| Alex_Gaynor | and rffi.free_nonmovingbuffer | 19:38 |
| ltratt | Alex_Gaynor: b) is definitely not a problem a) shouldn't be a problem provided it can't move during a call to an external function | 19:38 |
| amaury_ | I'm still trying to compile pypy with two object spaces, and I have a failure similar to this test: http://paste.pocoo.org/show/520910/ | 19:39 |
| ltratt | Alex_Gaynor: aha, that sounds good. let me give it a go. | 19:39 |
| Alex_Gaynor | ltratt: by default, IIRC, external functions release the GIL, and if you have threads teh GC can run and move stuff then | 19:39 |
| amaury_ | does it make sense to have frozen pbcs with different implementations? | 19:40 |
| Alex_Gaynor | ltratt: FWIW, by default get_nonmovingbuffer will copy if the str is a young object | 19:40 |
| Alex_Gaynor | so it may not be exactly what you want | 19:40 |
| ltratt | Alex_Gaynor: that's an interesting question. does rpython have a GIL itself or does it rely on the host VM to do that itself? | 19:41 |
| jnoller (~jnoller@vpn.nasuni.com) left irc: Quit: Leaving... | 19:41 | |
| Alex_Gaynor | ltratt: hmm, it just occured to me I'm not sure, arigato would know | 19:41 |
| danishman (~kvirc@0x5da0ec2a.cpe.ge-0-1-0-1104.ronnqu1.customer.tele.dk) joined #pypy. | 19:41 | |
| Alex_Gaynor | amaury_: well, the fact that we want to have 2 objspaces seems to indicate "yes" :) | 19:41 |
| ltratt | i had vaguely assumed the host VM had to do that itself, but i'd love to know a better example! | 19:42 |
| amaury_ | Alex_Gaynor: but I don't know how to fix this test | 19:42 |
| Alex_Gaynor | me neither | 19:42 |
| arigato | ltratt: yes, the host VM has to do that itself, but there is code everywhere assuming that it is done | 19:43 |
| ltratt | arigato: ok, that's what i assumed. in this case, my guess has corresponded with the code :) | 19:43 |
| arigato | to start with, our GCs are not thread-safe at all, and assume that only one thread calls them at a time | 19:44 |
| arigato | but that means too that rffi.py assumes that external calls will release the GIL by default | 19:44 |
| arigato | so it's unsafe to take a raw pointer to a young string | 19:44 |
| arigato | and so rffi.get_nonmovingbuffer will always make a copy of the string if it is young | 19:45 |
| arigato | (because an external call is the typical reason for which get_nonmovingbuffer is called) | 19:45 |
| ltratt | if i know that a particular call won't be called with the GIL unlocked, is there a way of getting a string address without copying? | 19:46 |
| arigato | yes | 19:46 |
| Alex_Gaynor | sure, copy the implementation of the fastpath from get_nonmovingbuffer | 19:46 |
| Alex_Gaynor | :) | 19:46 |
| arigato | yes :-) | 19:46 |
| ltratt | [I'm calling pcre_exec, so it's very fast, way too fast to want to release the GIL.] | 19:46 |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Computer has gone to sleep. | 19:47 | |
| ltratt | Alex_Gaynor: hehe. is there a way that doesn't involve knowing low-level details? | 19:47 |
| Alex_Gaynor | and then on the llexternal pass threadsafe=False | 19:47 |
| arigato | ltratt: no, you have to copy-paste these obscure 3 lines | 19:47 |
| ltratt | ok, even using get_nonmovingbuffer gives me a 2x speedup (using -O3 vs. -Ojit!), so that might be enough on its own | 19:48 |
| ltratt | I love profiling. The bottleneck is always in something a million miles away from what I might have guessed. | 19:48 |
| ltratt | Alex_Gaynor: what would passing threadsafe=False to the llexternal call actually do? | 19:49 |
| ltratt | is it a hint to pypy or rpython or...? | 19:49 |
| Alex_Gaynor | ltratt: it tells it not to release teh GIL | 19:49 |
| arigato | what about we finally rename this flag? | 19:49 |
| Alex_Gaynor | I"m not sure what actually handles that call though | 19:49 |
| Alex_Gaynor | arigato: +1 from me (though I won't do itmyself of course :P) | 19:50 |
| ltratt | Alex_Gaynor: ok, i guess that's pypy specific then | 19:50 |
| arigato | well, you need to install a GIL for it to make a difference | 19:50 |
| ltratt | ah. is there a way of registering a GIL with the rpython system somehow then? | 19:51 |
| Alex_Gaynor | arigato: perhaps RPython should have a real thread API, rather that stuff in module.threading | 19:51 |
| arigato | you "install" a GIL by doing the same thing as at the end of pypy/module/thread/gil.py | 19:51 |
| arigato | Alex_Gaynor: that too | 19:51 |
| ltratt | arigato: hmm, when i look at that stuff, it seems very PyPy specific, and I struggle to see what's applicable to a different VM. | 19:53 |
| ltratt | oh oh, a new JIT assert has triggered... http://pastebin.com/UayueETV | 19:53 |
| arigato | print value? | 19:54 |
| ltratt | i don't think so, though not 100% sure | 19:54 |
| Alex_Gaynor | no, he's asking you to rpint the value | 19:55 |
| Alex_Gaynor | so we can help debug :) | 19:55 |
| ltratt | doh | 19:55 |
| ltratt | which value? | 19:55 |
| arigato | 'value' | 19:55 |
| Alex_Gaynor | self in the bottom frame | 19:55 |
| Alex_Gaynor | or value one frame up | 19:55 |
| arigato | right | 19:55 |
| ltratt | sorry, i didn't notice the cut 'n' paste cockup | 19:55 |
| ltratt | http://pastebin.com/TGReLK9G | 19:55 |
| ltratt | mea culpa | 19:55 |
| ltratt | [at least, i hope that's right...] | 19:56 |
| Alex_Gaynor | right, what's the value of `self` there | 19:56 |
| ltratt | ok, you need to tell me what to type at pdb ;) | 19:56 |
| Alex_Gaynor | print self | 19:56 |
| Alex_Gaynor | :) | 19:56 |
| ltratt | <FieldOffset <GcStruct rpy_string { hash, chars }> 'chars'> | 19:57 |
| arigato | ah | 19:57 |
| arigato | it's the new code you copied from rffi.py | 19:57 |
| Nick change: GeanLuick -> elliottcable | 19:57 | |
| Alex_Gaynor | that rffi.py code isn't inlined due to the loop on the can_move case | 19:57 |
| arigato | it can probably be fixed in codewriter | 19:57 |
| Alex_Gaynor | arigato: adding those in the codewriter is a mess, last time I tried, but perhaps you're smarter than I :) | 19:57 |
| arigato | Alex_Gaynor: argh, that looks random | 19:57 |
| ltratt | arigato: if you mean me, i haven't copied any code from rffi.py | 19:58 |
| ltratt | i've just called get_nonmovingbuffer / free_nonmovingbuffer | 19:58 |
| Alex_Gaynor | arigato: well it's also a bit of a silly branch to have in JIT'd code | 19:58 |
| arigato | Alex_Gaynor: I was hoping that "-128 <= value <= 127" was the only problem, but I'm probably naive :-) | 19:58 |
| Alex_Gaynor | arigato: it's not, you end up with a value that needs to be encoded later | 19:58 |
| arigato | Alex_Gaynor: aaah, see | 19:58 |
| arigato | ltratt: you are using the Boehm GC? | 19:59 |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy. | 19:59 | |
| ltratt | no, this is on -Ojit | 19:59 |
| ltratt | on -O3 it didn't trigger i think (just double checking) | 19:59 |
| arigato | ah, I thought you'd use "-Ojit --gc=boehm", e.g. for checking with a faster translation | 19:59 |
| antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 20:00 | |
| Alex_Gaynor | arigato: would can_move be folded that early? | 20:00 |
| ltratt | -Ojit is so slow, i don't think the gc makes too much difference ;) | 20:00 |
| arigato | Alex_Gaynor: probably not, you're right | 20:00 |
| arigato | Alex_Gaynor: ah, of course, free_nonmovingbuffer() doesn't have a loop | 20:02 |
| Alex_Gaynor | hah, indeed | 20:02 |
| Alex_Gaynor | how is that this never showed up for us! | 20:02 |
| arigato | :-/ | 20:02 |
| Alex_Gaynor | want me to throw on jit.dont_look_inside for now? | 20:02 |
| ltratt | sorry chaps, i have a feeling that my brutally-stupid take on how to program rpython is very different than your more sophisticated take! | 20:03 |
| arigato | Alex_Gaynor: yes | 20:03 |
| arigato | ltratt: no | 20:03 |
| Alex_Gaynor | ltratt: nope, it's just a hapenstance bug that didn't show up for us, pure chance | 20:03 |
| arigato | you are good at hitting such bugs, but that's probably because we only have pypy and pyrolog as real examples so far | 20:03 |
| arigato | so it's cool that we can find and fix all these issues | 20:04 |
| ltratt | sometimes i think hitting bugs is my main skill in life. whatever i do, i hit bugs... mostly in my own code ;) | 20:04 |
| arigato | :-) | 20:04 |
| ltratt | ok, i reckon with this bug fixed, i should start getting some useful numbers | 20:05 |
| Nick change: mwhudson_ -> mwhudson | 20:05 | |
| ltratt | the RPython Converge VM is now beefy enough to compile the compiler (modulo a couple of compile-time meta-programming bits that still need fixing... but they're not critical) ad nauseum i.e. it can bootstrap itself. this is what i've been working towards for 10 weeks :) | 20:06 |
| kenaan | 12alex_gaynor default 110be914199ee6 15/pypy/rpython/lltypesystem/rffi.py: Don't inline rffi.free_nonmovingbuffer in the JIT, it just raise an error during translation. | 20:06 |
| kenaan | 12alex_gaynor default 117907ec2d1927 15/pypy/: merged upstream | 20:06 |
| ltratt | Alex_Gaynor: that was fast! I'm building with -Ojit as we speak... | 20:06 |
| Alex_Gaynor | ltratt: it's like 3 lines of code changed | 20:06 |
| ltratt | I guess I am just much slower :) | 20:07 |
| Nick change: elliottcable -> GeanLuick | 20:09 | |
| Action: arigato got somehow 350$ of value from google to use at www.google-store.com | 20:11 | |
| arigato | that's worth 700 pens | 20:11 |
| arigato | I'll get 2 or 3 usb sticks and have an incredibly hard time to find anything useful to do with the remaining 320$ | 20:12 |
| arigato | (I already won the Rubik's cube last EuroPython, and I already got plenty of T-Shits from summer of code :-) | 20:13 |
| Alex_Gaynor | arigato: I have 175, I've spent like $20 of it so far | 20:14 |
| arigato | :-) | 20:14 |
| Alex_Gaynor | I think I might need a water bottle though, so that's anoterh $5 or so | 20:15 |
| ltratt | ok, the JIT has built with the patch, thanks Alex | 20:17 |
| nickik (~nick@cust.static.217-11-47-178.cybernet.ch) left irc: Quit: Verlassend | 20:19 | |
| ltratt | interesting: when running the compiler, the -Ojit VM is 50% slower than the -O3 VM. | 20:20 |
| ltratt | i guess that's stacklets neutering the JIT | 20:20 |
| arigato | it can be :-( | 20:21 |
| Nick change: Gulaway -> Gulopine | 20:22 | |
| ltratt | I was e-mailing Carl Friedrich earlier, and I said to him that the more I think about it, the more I suspect that RPython generators will be the right way to go rather than stacklets | 20:22 |
| ltratt | but stacklets work in the short term, even if their performance is (probably) pretty poor | 20:22 |
| kenaan | 12mattip numpypy-frompyfunc 114136f83fdb42 15/pypy/module/micronumpy/: more tests, and a failing one | 20:23 |
| kenaan | 12mattip numpypy-frompyfunc 116bb82e4bc325 15/pypy/module/micronumpy/: not yet rpython | 20:23 |
| kenaan | 12mattip numpypy-frompyfunc 1166a6917800a8 15/pypy/module/micronumpy/: tests, translate passes | 20:23 |
| arigato | good feedback | 20:24 |
| arigato | I guess it motivates me to finish the generator-in-rpython branch :-) | 20:24 |
| Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Quit: ZNC - http://znc.sourceforge.net | 20:24 | |
| mattip | almost there. Just need lazy eval and to think about broadcasting for multiple input args | 20:24 |
| ltratt | arigato: cool! | 20:24 |
| ltratt | i've got the rough design for rejigging my VM done in my head | 20:24 |
| mattip (~chatzilla@bzq-79-183-106-226.red.bezeqint.net) left irc: Quit: ChatZilla 0.9.87 [Firefox 8.0/20111115183158] | 20:25 | |
| ltratt | and i imagine it would be very useful for PyPy as well... generators make some code so much neater than the alternatives! | 20:25 |
| arigato | it might be useful in one or two places, yes | 20:25 |
| arigato | but Python built-ins generally don't generate multiple values | 20:26 |
| arigato | (except 'itertools', which is anyway carefully designed to be easy to implement in C without generators) | 20:26 |
| ltratt | that's true, but i was thinking (perhaps naively) of RPython internals, libraries etc. | 20:26 |
| Alex_Gaynor | arigato: py3k has more generators | 20:26 |
| Alex_Gaynor | map, filter, zip | 20:27 |
| Alex_Gaynor | of course we just implemented them by writing them n pure python :) | 20:27 |
| arigato | Alex_Gaynor: well, these are also here in the itertools module | 20:27 |
| arigato | and, yes :-) | 20:27 |
| Alex_Gaynor | arigato: yes indeed, the 3k versions are just the 2k itertools versions | 20:27 |
| Ademan (~dan@21.sub-97-152-139.myvzw.com) joined #pypy. | 20:27 | |
| Alex_Gaynor | arigato: IMO we should move more of itertools to pure python | 20:27 |
| Alex_Gaynor | maybe I'll do that on my flight | 20:27 |
| arigato | Prolog and (I guess) Converge have the property of being full of builtins that really are generators | 20:28 |
| arigato | doing non-trivial things between elements | 20:28 |
| chroniti1 | the semantics are a bit different for some py3k versions (eg, map() doesn't accept a null function), so they can't be directly reused | 20:28 |
| azanella (~azanella@189.6.80.207) left irc: Ping timeout: 252 seconds | 20:28 | |
| Nick change: chroniti1 -> chronitis | 20:28 | |
| ltratt | arigato: yes, lots of builtin Converge library functions are generators | 20:28 |
| kenaan | 12hakanardo default 11085083392791 15/pypy/module/micronumpy/interp_numarray.py: inline descr_get_shape to prevent a residual call on two dimensional array accesses | 20:28 |
| Nick change: GeanLuick -> elliottcable | 20:29 | |
| ltratt | e.g. as a trivial example, string.find_index("x") is a generator which successively generates each index "x" is found at | 20:29 |
| ltratt | it makes for some very nice, consistent APIs | 20:29 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds | 20:29 | |
| Alex_Gaynor | that's an awesome API | 20:29 |
| Alex_Gaynor | hakanardo: starting to play with our numpy? | 20:30 |
| arigato | yes, that's great if generators are really native to your language | 20:30 |
| arigato | in Python it would be a bit cumbersome, e.g. when we only want the first answer, | 20:30 |
| arigato | we need to write some slightly-strange Python code | 20:30 |
| Alex_Gaynor | yes, next("xyz".find("x")) isn't so nic | 20:31 |
| Alex_Gaynor | e | 20:31 |
| Alex_Gaynor | of course automatic coercion of iterators isn't very nice either | 20:31 |
| arigato | also it can raise StopIteration | 20:31 |
| hakanardo | Alex_Gaynor: just a litte... | 20:31 |
| jacob22_ (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) joined #pypy. | 20:31 | |
| ltratt | i talk about some of this stuff in my "Experiences with an Icon-like Expression Evaluation System" paper | 20:31 |
| ltratt | long URL coming: http://tratt.net/laurie/research/publications/html/tratt__experiences_with_an_icon_like_expression_evaluation_system/ | 20:31 |
| jacob22 (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: Ping timeout: 244 seconds | 20:31 | |
| arigato | ``for index in "xyz".find("x"): break; else: index=-1`` | 20:31 |
| hakanardo | Alex_Gaynor: I want to try out the image benchmarks using numpy arrays | 20:31 |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy. | 20:31 | |
| Alex_Gaynor | hakanardo: have you checked the trace generated by the inlined version? the array stays virtual? | 20:32 |
| hakanardo | Alex_Gaynor: no I was planing to try out that with tomorrows nightly :) | 20:33 |
| Alex_Gaynor | hakanardo: heh, I'm apparently more impatient than you, I would have triggered a buildbot at least | 20:33 |
| azanella (~azanella@189.6.80.207) joined #pypy. | 20:33 | |
| hakanardo | Alex_Gaynor: no point as I'm going to bed soon anyway... | 20:34 |
| hakanardo | btw are there any plans for supporting subclassing ndarray at app-level? | 20:34 |
| Alex_Gaynor | it's possible to subclass isn't it? | 20:35 |
| Alex_Gaynor | ah I see | 20:35 |
| Alex_Gaynor | instantiating it returns the wrong type | 20:35 |
| hakanardo | yes | 20:35 |
| kkris1 (~kris@80-123-47-201.adsl.highway.telekom.at) joined #pypy. | 20:36 | |
| hakanardo | also numpy has some quite nice fetures to keep the subclassed type | 20:36 |
| hakanardo | when doing slices for example | 20:36 |
| Alex_Gaynor | well, at a minimum we can fix the instantiation issue easily enoug | 20:37 |
| hakanardo | cool | 20:37 |
| hakanardo | how about ndarray.view(subcalss)? | 20:37 |
| Alex_Gaynor | a tiny bit harder maybe, but not too difficult either | 20:38 |
| Alex_Gaynor | slices shouldn't be too difficult either | 20:38 |
| hakanardo | sounds good :) | 20:39 |
| Alex_Gaynor | can you put an item in extradoc/planning/micronumpy | 20:39 |
| Alex_Gaynor | so we don't forget | 20:39 |
| kkris (~kris@178.115.138.236.wireless.dyn.drei.com) left irc: Ping timeout: 276 seconds | 20:40 | |
| hakanardo | sure | 20:41 |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 20:46 | |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) joined #pypy. | 20:48 | |
| kenaan | 12hakanardo extradoc 115176509bd13c 15/planning/micronumpy.txt: (Alex_Gaynor, hakanardo): whishlisting | 20:49 |
| kenaan | 12jterrace numpy-concatenate 110d81f0701f18 15/pypy/module/micronumpy/: Adds numpy.concatenate | 20:52 |
| jterrace | Alex_Gaynor: that ^ adds concatenate function | 20:52 |
| jterrace | i saw your notes about the fromstring branch, ill clean it up when i get a chance | 20:53 |
| Alex_Gaynor | jterrace: cool, I'll take a look at this, the code looks sane but I'm having trouble wrapping my head around this | 20:54 |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 245 seconds | 20:55 | |
| Alex_Gaynor | ah, so it just concats along each axis | 20:55 |
| jterrace | it concats along the specified axis | 20:55 |
| jterrace | there are a couple examples in the numpy docs | 20:55 |
| kkris1 (~kris@80-123-47-201.adsl.highway.telekom.at) left irc: Quit: Leaving. | 20:56 | |
| maxyz (~maxy@186.18.94.35) left irc: Ping timeout: 252 seconds | 20:56 | |
| jterrace | oh actually i need to add tests for the params being non-arrays | 20:56 |
| Alex_Gaynor | jterrace: ok, I'm leaving for the airport in a few minutes, I'll try to review while I'm there or in flight | 20:56 |
| jterrace | you can give it any iterator and they will be coerced | 20:56 |
| alistra (alistra@jasminek.net) left #pypy. | 20:56 | |
| jterrace | i guess it's not quite ready | 20:56 |
| jterrace | ill fix up fromstring and concatenate and let you know when they are ready for review | 20:57 |
| Alex_Gaynor | okey dokey | 20:57 |
| jterrace | i think concatenate is probably good to go, but i want to add some more tests | 20:57 |
| hazmat (~hazmat@plone/hazmat) joined #pypy. | 20:57 | |
| maxyz (~maxy@186.18.94.35) joined #pypy. | 20:58 | |
| danishman (~kvirc@0x5da0ec2a.cpe.ge-0-1-0-1104.ronnqu1.customer.tele.dk) left irc: Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/ | 20:58 | |
| CIA-13 | 03agaynor 07roundup * 10#964/numpypy.zeros([]) returns wrong result: (log message trimmed) | 21:00 |
| CIA-13 | [new] Under CPython: | 21:00 |
| CIA-13 | >>> numpy.zeros([]) | 21:00 |
| CIA-13 | array(0.0) | 21:00 |
| CIA-13 | Under PyPy: * 14https://bugs.pypy.org/issue964 | 21:00 |
| mikefc | How do I the equivalent of "split()" in python? i.e. split on 1+ whitespaces in a string? | 21:02 |
| Action: mikefc is trying to write his first bit of rpython | 21:02 | |
| chronitis (~chronitis@79-68-119-97.dynamic.dsl.as9105.com) left irc: Quit: Lost terminal | 21:04 | |
| arigato | string processing is not a strong point of RPython :-( | 21:05 |
| arigato | see str_split__String_None_ANY in pypy.objspace.std.stringobject | 21:06 |
| mikefc | my interpreter just needs to tokenize the program by splitting on space(s). | 21:06 |
| Ademan (~dan@21.sub-97-152-139.myvzw.com) left irc: Quit: leaving | 21:08 | |
| arigato | you need to copy the whole loop | 21:09 |
| Action: mikefc looks it up | 21:12 | |
| fzzzy (~donovan@nat/mozilla/x-herdtwewdkuagnqd) left irc: Quit: fzzzy | 21:17 | |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) left irc: Quit: Bye! | 21:31 | |
| kenaan | 12jterrace numpy-concatenate 11083461b61320 15/pypy/module/micronumpy/: Changed some variable names and added a couple more tests | 21:36 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 21:37 | |
| ltratt (~ltratt@84.93.175.106) left irc: Quit: using sirc version 2.211+KSIRC/1.3.12 | 21:48 | |
| dmalcolm (david@nat/redhat/x-vqlnoqisxhmdcdmt) left irc: Quit: Leaving | 21:51 | |
| cwillu_at_work (~cwillu@cwillu-1-pt.tunnel.tserv13.ash1.ipv6.he.net) left irc: Excess Flood | 22:01 | |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 240 seconds | 22:02 | |
| DasIch (~dasich@p3E990E33.dip.t-dialin.net) joined #pypy. | 22:10 | |
| arigato (~arigo@82.113.98.199) left irc: Ping timeout: 252 seconds | 22:13 | |
| mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) left irc: Quit: This computer has gone to sleep | 22:18 | |
| mikefc | woo. I now have a working PGM interpreter that outputs PPMs! JITted! | 22:24 |
| kenaan | 12arigo default 115a9a29b9c0ae 15/pypy/rpython/lltypesystem/rffi.py: I know it contains a loop and thus cannot be inlined at all at the moment, but it doesn't hurt to disable it explic... | 22:28 |
| maxyz (~maxy@186.18.94.35) left irc: Ping timeout: 252 seconds | 22:32 | |
| maxyz (~maxy@186.18.94.35) joined #pypy. | 22:33 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/745 | 22:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/170 | 22:35 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/978 | 22:35 |
| rekamso (~textual@216.190.27.14) left irc: Ping timeout: 252 seconds | 22:44 | |
| squiddy (~squiddy@f053087158.adsl.alicedsl.de) left irc: Quit: Leaving | 22:55 | |
| davidpk (~davidpk@5e06d080.bb.sky.com) left irc: Quit: davidpk | 22:56 | |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 23:03 | |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 23:03 | |
| voidspace (~anonymous@python/psf/voidspace) joined #pypy. | 23:03 | |
| bbot2 | 4Finished ??: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/289 | 23:11 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/290 | 23:11 |
| bbot2 | 13Exception: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/290 | 23:11 |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Ping timeout: 240 seconds | 23:18 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds | 23:24 | |
| durin42 (~durin@adium/durin42) left irc: Read error: Operation timed out | 23:27 | |
| durin42 (~durin@adium/durin42) joined #pypy. | 23:30 | |
| durin42 (~durin@adium/durin42) left irc: Ping timeout: 244 seconds | 23:38 | |
| rekamso (~textual@63-228-127-70.dia.static.qwest.net) joined #pypy. | 23:39 | |
| durin42 (~durin@adium/durin42) joined #pypy. | 23:40 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 23:42 | |
| durin42 (~durin@adium/durin42) left irc: Ping timeout: 268 seconds | 23:48 | |
| durin42 (~durin@adium/durin42) joined #pypy. | 23:50 | |
| --- Thu Dec 15 2011 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!