| whitelynx (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat | 00:00 | |
| readysteadygo (~jackshann@cpc8-kemp6-2-0-cust95.9-2.cable.virginmedia.com) joined #pypy. | 00:01 | |
| Arfrever (~Arfrever@apache/committer/Arfrever) joined #pypy. | 00:02 | |
| readysteadygo | i'm having trouble installing pyro on a mac | 00:02 |
|---|---|---|
| dmalcolm (david@nat/redhat/x-dkcptuhurkarjidq) left irc: Quit: Leaving | 00:02 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 00:03 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 00:03 | |
| mfoord (~anonymous@python/psf/voidspace) joined #pypy. | 00:03 | |
| readysteadygo | i tried running setup.py but got errors | 00:04 |
| exarkun | readysteadygo: Are you trying to install pyro on PyPy? | 00:04 |
| readysteadygo | on PyPy? sorry, I'm trying to install it on python | 00:05 |
| readysteadygo | am i on the wrong channel? | 00:05 |
| Kaskuka (~John@osbk-4d0875d0.pool.mediaWays.net) joined #pypy. | 00:05 | |
| mfoord (~anonymous@python/psf/voidspace) left irc: Client Quit | 00:05 | |
| azanella (~azanella@189.6.80.207) left irc: Ping timeout: 258 seconds | 00:05 | |
| readysteadygo | exarkun: ^ | 00:06 |
| exarkun | readysteadygo: There's #python for normal Python questions. | 00:06 |
| readysteadygo | ok thank you | 00:06 |
| Sho_ (~EHS1@kde/hein) left irc: Quit: Stop leaking memory like it's going out of fashion. | 00:09 | |
| Sho_ (~EHS1@kde/hein) joined #pypy. | 00:09 | |
| kenaan | 12ctismer win64-stage1 11da6c8b877b3f 15/pypy/: Fixed a major bug concerning Signed/Unsigned and setup() errors. Finding this bug did cost me over two days.... | 00:10 |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy. | 00:10 | |
| readysteadygo (~jackshann@cpc8-kemp6-2-0-cust95.9-2.cable.virginmedia.com) left irc: Quit: readysteadygo | 00:11 | |
| readysteadygo (~jackshann@cpc8-kemp6-2-0-cust95.9-2.cable.virginmedia.com) joined #pypy. | 00:11 | |
| stakkars_ (~tismer@88.130.164.59) left irc: Quit: schnarch | 00:12 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 00:13 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 00:13 | |
| mfoord (~anonymous@python/psf/voidspace) joined #pypy. | 00:13 | |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Remote host closed the connection | 00:14 | |
| azanella (~azanella@189.6.80.207) joined #pypy. | 00:18 | |
| mtigas (~Adium@users.spokesman.com) joined #pypy. | 00:18 | |
| mtigas (Adium@users.spokesman.com) left #pypy. | 00:19 | |
| stakkars__ (~stakkars@82.113.106.145) left irc: Quit: Colloquy for iPhone - http://colloquy.mobi | 00:23 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 00:24 | |
| ousado (~ousado@unaffiliated/ousado) left irc: Ping timeout: 244 seconds | 00:43 | |
| bobbyz (~bobbyz@c-24-9-15-58.hsd1.co.comcast.net) joined #pypy. | 01:04 | |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy. | 01:05 | |
| bobbyz (bobbyz@c-24-9-15-58.hsd1.co.comcast.net) left #pypy. | 01:05 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/155 | 01:06 |
| etrepum_ (~bob@accessnat4.mochimedia.net) joined #pypy. | 01:09 | |
| etrepum (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 244 seconds | 01:12 | |
| etrepum_ (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 244 seconds | 01:14 | |
| stakkars_ (~tismer@p5DDB7E68.dip.t-dialin.net) joined #pypy. | 01:19 | |
| ousado (~ousado@hmbg-5f764079.pool.mediaWays.net) joined #pypy. | 01:20 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/77 [12ctismer, win64-stage1] | 01:21 |
| mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord | 01:27 | |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Quit: craigkerstiens | 01:28 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 01:29 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 01:29 | |
| mfoord (~anonymous@python/psf/voidspace) joined #pypy. | 01:29 | |
| mfoord (~anonymous@python/psf/voidspace) left irc: Client Quit | 01:30 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1873 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/606 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/289 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/628 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1134 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/813 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1455 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/733 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/279 | 01:39 |
| Nick change: Gulaway -> Gulopine | 01:40 | |
| ericflo (~ericflo@75.103.8.110) left irc: Remote host closed the connection | 01:42 | |
| ericflo (~ericflo@75.103.8.110) joined #pypy. | 01:42 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy. | 01:44 | |
| PiotrSikora (~none@nginx/adept/piotrsikora) left irc: Excess Flood | 01:54 | |
| PiotrSikora (~none@nginx/adept/piotrsikora) joined #pypy. | 01:55 | |
| stakkars_ (~tismer@p5DDB7E68.dip.t-dialin.net) left irc: Quit: schnarch | 01:55 | |
| gabriel__ (~gabriel@port-3475.pppoe.wtnet.de) joined #pypy. | 01:56 | |
| gabriel__ | hi! i just found out why the jitviewer does not run with the current version of flask | 01:57 |
| gabriel__ | is there a dev here, to whom i can send my patch? (it's a trivial one-line-patch) | 01:58 |
| Alex_Gaynor | gabriel__: can you send a pull request, I can't look ATM | 01:59 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/279 | 01:59 |
| gabriel__ | ok, i hoped i could get around that. because i usually don't use hg, so i would have to set up a public hg-repo first... | 02:00 |
| Alex_Gaynor | gabriel__: just press the fork button on bitbucket :) | 02:00 |
| gabriel__ | ok, tomorrow. i'll go to bed now ;-) | 02:02 |
| gabriel__ | bye | 02:02 |
| gabriel__ (~gabriel@port-3475.pppoe.wtnet.de) left irc: Quit: Leaving | 02:02 | |
| readysteadygo (~jackshann@cpc8-kemp6-2-0-cust95.9-2.cable.virginmedia.com) left irc: Quit: readysteadygo | 02:05 | |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Remote host closed the connection | 02:07 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 02:07 | |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy. | 02:14 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 02:19 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 02:25 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Client Quit | 02:28 | |
| Shanita (~John@osbk-4db169db.pool.mediaWays.net) joined #pypy. | 02:43 | |
| Kaskuka (~John@osbk-4d0875d0.pool.mediaWays.net) left irc: Ping timeout: 248 seconds | 02:43 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/960 | 02:46 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 02:50 | |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy. | 03:03 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection | 03:10 | |
| ernop (~ernie@114.250.130.70) joined #pypy. | 03:17 | |
| ernop (~ernie@114.250.130.70) left irc: Ping timeout: 244 seconds | 03:24 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 255 seconds | 03:33 | |
| bgola (~bgola@c9518082.virtua.com.br) left irc: Remote host closed the connection | 03:33 | |
| ernop (~ernie@199.48.229.86) joined #pypy. | 03:35 | |
| jimbaker (~jbaker@canonical/jimbaker) left irc: Ping timeout: 248 seconds | 03:45 | |
| ernopp (~ernie@114.250.130.70) joined #pypy. | 03:46 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1873 | 03:46 |
| ernop (~ernie@199.48.229.86) left irc: Ping timeout: 248 seconds | 03:50 | |
| ericflo (~ericflo@75.103.8.110) left irc: Quit: ericflo | 03:56 | |
| ernopp (~ernie@114.250.130.70) left irc: Ping timeout: 255 seconds | 04:06 | |
| Arfrever (~Arfrever@apache/committer/Arfrever) left irc: Quit: Ex+re | 04:07 | |
| ernopp (~ernie@199.48.229.86) joined #pypy. | 04:20 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/77 [12ctismer, win64-stage1] | 04:22 |
| ernope (~ernie@114.250.130.70) joined #pypy. | 04:31 | |
| ernopp (~ernie@199.48.229.86) left irc: Ping timeout: 244 seconds | 04:34 | |
| ernope (~ernie@114.250.130.70) left irc: Quit: Leaving | 04:43 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1455 | 04:47 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/813 | 04:50 |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 04:54 | |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) left irc: Read error: Connection reset by peer | 05:03 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/628 | 05:05 |
| mattip (~chatzilla@bzq-79-177-116-180.red.bezeqint.net) joined #pypy. | 05:08 | |
| mattip | hi | 05:08 |
| mattip | fijal: (well, future_fijal) Please take a look at http://paste.pocoo.org/show/515192 | 05:08 |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection | 05:08 | |
| mattip | This is my strategy for multidim dot, after all the check and tests and I create a output array for the result. | 05:09 |
| mattip | Question: How can I do the descr_mult with my own iterators, not using start_iter of the NDimArrays? | 05:10 |
| mattip | ? | 05:10 |
| mattip (chatzilla@bzq-79-177-116-180.red.bezeqint.net) left #pypy. | 05:10 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1134 | 05:12 |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Ping timeout: 244 seconds | 05:14 | |
| craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) joined #pypy. | 05:15 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/606 | 05:17 |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy. | 05:18 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host | 05:18 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 05:18 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 05:18 | |
| aleksi (~aleksi@85.235.191.82) joined #pypy. | 05:18 | |
| DasIch (~dasich@p3E9912D6.dip.t-dialin.net) joined #pypy. | 05:22 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 05:43 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 05:44 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 05:44 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 05:44 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 05:44 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 05:44 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 05:44 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 05:45 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 05:45 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 05:45 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 05:45 | |
| fijal (~fijal@197.109.192.136) joined #pypy. | 05:48 | |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer_ | 05:56 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 06:03 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 06:03 | |
| Nick change: Gulopine -> Gulaway | 06:04 | |
| _aleksi (~aleksi@85.235.191.82) joined #pypy. | 06:07 | |
| fijal | morning | 06:07 |
| aleksi (~aleksi@85.235.191.82) left irc: Ping timeout: 244 seconds | 06:10 | |
| Garen | Does xrange not work with RPython? | 06:16 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/733 | 06:17 |
| fijal (~fijal@197.109.192.136) left irc: Read error: Connection reset by peer | 06:17 | |
| _aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection | 06:20 | |
| aleksi (~aleksi@85.235.191.82) joined #pypy. | 06:21 | |
| hakanardo | Garen: I think range is just as efficient in rpython | 06:26 |
| hakanardo | fijal: morning | 06:26 |
| Garen | k | 06:30 |
| setmeaway (stemearay@119.201.52.190) left irc: Quit: Leaving | 06:31 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Ping timeout: 244 seconds | 06:35 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy. | 06:38 | |
| asmeurer_ (~asmeurer@71.216.240.168) joined #pypy. | 06:46 | |
| amaury_ (~amaury_@74.125.122.49) joined #pypy. | 06:47 | |
| setmeaway (~setmeaway@119.201.52.190) joined #pypy. | 06:53 | |
| durin42 (~durin@adium/durin42) left irc: Ping timeout: 252 seconds | 06:54 | |
| logan` (~loganchie@140.112.30.132) left irc: Remote host closed the connection | 06:56 | |
| durin42 (~durin@adium/durin42) joined #pypy. | 06:56 | |
| amaury_ (~amaury_@74.125.122.49) left irc: Ping timeout: 252 seconds | 07:00 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/289 | 07:05 |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Read error: Connection reset by peer | 07:05 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 07:05 | |
| fijal (~fijal@197.173.175.229) joined #pypy. | 07:07 | |
| fijal | Garen: it should | 07:07 |
| fijal | but yeah, range should be good as well | 07:08 |
| fijal | Garen: what are you doing btw? | 07:10 |
| fijal | is __class__.__name__ RPython? | 07:48 |
| Garen | fijal: translating little standalone microbenchmarks into .exe's to compare runtime with cpython/pypy | 07:50 |
| fijal | ok | 07:50 |
| fijal | Garen: you know we don't advertise RPython as a general purpose language right? | 07:50 |
| Garen | yeah :) | 07:51 |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 07:51 | |
| asmeurer_ (~asmeurer@71.216.240.168) left irc: Quit: asmeurer_ | 07:53 | |
| fijal | ok :) | 07:55 |
| Garen | just having fun. hehe | 07:58 |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection | 08:05 | |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 08:09 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy. | 08:10 | |
| readysteadygo (~jackshann@cpc8-kemp6-2-0-cust95.9-2.cable.virginmedia.com) joined #pypy. | 08:15 | |
| cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 08:19 | |
| cfbolz | hello | 08:19 |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 08:29 | |
| pedronis | cfbolz, hi | 08:36 |
| cfbolz | pedronis: hey | 08:39 |
| Sho_ (~EHS1@kde/hein) left irc: Remote host closed the connection | 08:45 | |
| Sho_ (~EHS1@kde/hein) joined #pypy. | 08:45 | |
| mattip (c1a94669@gateway/web/freenode/ip.193.169.70.105) joined #pypy. | 08:46 | |
| Sho_ (~EHS1@kde/hein) left irc: Remote host closed the connection | 08:47 | |
| mattip | Ùß | 08:47 |
| mattip | hi | 08:47 |
| Sho_ (~EHS1@kde/hein) joined #pypy. | 08:47 | |
| mattip | fijal: ping | 08:47 |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Quit: Leaving | 08:47 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection | 08:53 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 08:57 | |
| mattip (c1a94669@gateway/web/freenode/ip.193.169.70.105) left irc: Quit: Page closed | 08:58 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection | 09:05 | |
| readysteadygo (~jackshann@cpc8-kemp6-2-0-cust95.9-2.cable.virginmedia.com) left irc: Quit: readysteadygo | 09:08 | |
| readysteadygo (~jackshann@cpc8-kemp6-2-0-cust95.9-2.cable.virginmedia.com) joined #pypy. | 09:08 | |
| readysteadygo (~jackshann@cpc8-kemp6-2-0-cust95.9-2.cable.virginmedia.com) left irc: Ping timeout: 244 seconds | 09:12 | |
| tlynn (~tlynn@cpc6-cmbg14-2-0-cust121.5-4.cable.virginmedia.com) left irc: Ping timeout: 248 seconds | 09:15 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 09:23 | |
| G2P (~G2P@fw-asn1.ornis.com) joined #pypy. | 09:23 | |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) joined #pypy. | 09:31 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/730 | 09:34 |
| fijal | mattip: late pong | 09:38 |
| fijal | cfbolz: hi | 09:38 |
| cfbolz | hello | 09:38 |
| fijal | cfbolz: is there a way to figure out strategy from applevel? | 09:40 |
| cfbolz | nope | 09:41 |
| cfbolz | could be added | 09:41 |
| fijal | I'm trying to add it to __pypy__.internal_repr() but failing so far | 09:45 |
| fijal | I wonder if it would be hard to support x.__class__.__name__ in RPython | 09:45 |
| amaury_ (amaury_@nat/google/x-qfmtulxamnvwfmxs) joined #pypy. | 09:45 | |
| fijal | cfbolz: btw, have you seen this: http://www.humblebundle.com/?introversion | 09:46 |
| fijal | ? | 09:46 |
| matitp (c1a94669@gateway/web/freenode/ip.193.169.70.105) joined #pypy. | 09:46 | |
| fijal | matitp: hey | 09:46 |
| fijal | I've seen your questions | 09:47 |
| fijal | but I have a bit no clue ;-) | 09:47 |
| matitp | Hmm, it seems the whole round trip of creating a Call2 class and using it seems too long. | 09:47 |
| matitp | But it's not like I have a better idea. | 09:48 |
| fijal | Call2 for what? | 09:50 |
| fijal | I'm sorry I'm a bit dim :) | 09:50 |
| fijal | for dot? | 09:50 |
| matitp | Yes, for multidim dot, I need to do a lot of single dim dots | 09:50 |
| matitp | I don't really want to create a NDimsSlice for each one-dimensional dot. | 09:51 |
| fijal | matitp: can I think about it for a bit and then write you a mail? | 09:51 |
| fijal | sure | 09:51 |
| fijal | that would not make much sense | 09:51 |
| matitp | Mail is good. | 09:51 |
| fijal | I don't have your mail though :) | 09:52 |
| matitp | I will send you a proper message, I have yours :) | 09:53 |
| fijal | mine is kinda public :) | 09:53 |
| matitp | But it will have tro wait. | 09:53 |
| fijal | you're not the only one | 09:53 |
| matitp | s/tro/to/ | 09:53 |
| fijal | cool, I have a few things on my mind | 09:53 |
| fijal | I'll try to review your branch as soon as feasible | 09:53 |
| apanda (~apanda@c-24-7-101-62.hsd1.ca.comcast.net) joined #pypy. | 09:53 | |
| matitp | No big hurry, The fun is in the creating. | 09:54 |
| matitp (c1a94669@gateway/web/freenode/ip.193.169.70.105) left irc: Quit: Page closed | 09:54 | |
| fijal | cfbolz: do you mind if I change internal_repr to do something else? | 09:54 |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Ping timeout: 248 seconds | 09:59 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 10:03 | |
| cfbolz | fijal: lukas is about to add function in __pypy__ | 10:05 |
| fijal | for the strategy? | 10:05 |
| cfbolz | yes | 10:05 |
| fijal | cool | 10:05 |
| fijal | cfbolz: I think there is some mess going in with nbody_modified | 10:07 |
| fijal | are specialized tuples merged in? | 10:07 |
| cfbolz | no | 10:07 |
| fijal | oh ok | 10:08 |
| fijal | do you want me to look at any of those branches for the review? | 10:08 |
| fijal | well, not that I don't have any | 10:09 |
| cfbolz | you could look at set-strategies | 10:10 |
| cfbolz | but that would need a really careful review | 10:10 |
| fijal | ok | 10:11 |
| kenaan | 12bivab arm-backend-2 1186dcb23ea814 15/pypy/jit/backend/arm/opassembler.py: Implement instance_ptr_eq and instance_ptr_ne | 10:13 |
| mvt (~mvantelli@87.213.45.85) joined #pypy. | 10:18 | |
| lizardo (~lizardo@189.2.128.130) joined #pypy. | 10:18 | |
| kenaan | 12l.diekmann default 11497907d5d515 15/pypy/: added interp_magic method to get the strategy of a list on the application level | 10:29 |
| Squarepy (~Squarepy@wcw-staff-214-150.wireless.uva.nl) joined #pypy. | 10:29 | |
| Squarepy (~Squarepy@wcw-staff-214-150.wireless.uva.nl) left irc: Changing host | 10:30 | |
| Squarepy (~Squarepy@unaffiliated/squarepy) joined #pypy. | 10:30 | |
| fijal | cool | 10:32 |
| ronny | btw, whats the state on list-strategies? | 10:50 |
| fijal | merged | 10:50 |
| cfbolz | I would like armin to appear now | 10:55 |
| fijal | cfbolz: :) | 10:55 |
| fijal | that's not very rigoish to appear when you want | 10:56 |
| fijal | cfbolz: what are you trying to do? | 10:57 |
| cfbolz | http://paste.pocoo.org/show/515255/ | 11:00 |
| fijal | cool stuff | 11:01 |
| fijal | is this for erased pointers? | 11:01 |
| cfbolz | no | 11:01 |
| kenaan | 12l.diekmann default 1192f0d0594f88 15/pypy/: better name for application representation of list strategies | 11:01 |
| cfbolz | fijal: it is an attempt to teach the jit about the types the annotator knows | 11:01 |
| fijal | right | 11:01 |
| fijal | but does it specifically helps erased pointers? | 11:02 |
| fijal | or just guard removal if we statically know stuff? | 11:02 |
| cfbolz | the latter | 11:03 |
| cfbolz | has nothing to do with erasing | 11:03 |
| fijal | cool stuff anyway | 11:04 |
| cfbolz | it mostly saves a guard here and there | 11:05 |
| cfbolz | we will see | 11:05 |
| fijal | yes | 11:05 |
| fijal | as are lots of other optimizations :) | 11:05 |
| fijal | the JIT is kinda good these days btw | 11:05 |
| fijal | it would help parts of numpy tremendously btw | 11:06 |
| fijal | those parts that have bridges | 11:06 |
| PiotrSikora (~none@nginx/adept/piotrsikora) left irc: Excess Flood | 11:06 | |
| fijal | cfbolz: for what is worth you can write a test that has | 11:06 |
| fijal | guard_nonnull | 11:06 |
| fijal | record_known_class | 11:06 |
| fijal | guard_class | 11:06 |
| fijal | to see if it works | 11:06 |
| cfbolz | fijal: I have an optimizeopt test anyway | 11:07 |
| fijal | yes | 11:07 |
| fijal | but I'm speaking about the case where guard_class would be moved before record_known_class | 11:07 |
| fijal | to guard_nonnull | 11:07 |
| fijal | does this case work as well? | 11:08 |
| cfbolz | yes | 11:08 |
| fijal | ok, cool | 11:08 |
| cfbolz | you just get a guard_nonnull | 11:08 |
| PiotrSikora (~none@nginx/adept/piotrsikora) joined #pypy. | 11:08 | |
| cfbolz | I can add a test if you want | 11:08 |
| fijal | why do you get guard_nonnull? | 11:08 |
| cfbolz | ah, I see | 11:08 |
| fijal | assert isinstance(a, A) also means assert a is not None | 11:08 |
| fijal | right? | 11:08 |
| cfbolz | not quite. I am not really using the information of assert | 11:09 |
| cfbolz | but that of cast_pointer | 11:09 |
| fijal | wouldn't the annotation be can_be_None=False? | 11:09 |
| cfbolz | which has no nullness information | 11:09 |
| fijal | right | 11:09 |
| fijal | but maybe we can remove guard_nonnull as well | 11:09 |
| fijal | because as of now we're not saving much | 11:09 |
| fijal | yes, we're saving a check, but we don't release any resume info | 11:10 |
| fijal | also, your check in test should check for guard_nonnull_class | 11:10 |
| cfbolz | we safe resume info in the unoptimized trace | 11:10 |
| cfbolz | which reduces warmup | 11:10 |
| fijal | in test_annotation_gives_knowledge_to_tracer | 11:10 |
| cfbolz | the test checks unoptimized traces | 11:11 |
| fijal | ok | 11:11 |
| fijal | anyway, would be really cool to get rid of guard_nonnull as well | 11:11 |
| cfbolz | I might still get there later | 11:11 |
| fijal | cool | 11:11 |
| fijal | just saying :) | 11:11 |
| cfbolz | I just wanted a quick thing, because I really need that in prolog | 11:12 |
| fijal | aha! | 11:12 |
| Action: fijal off for a walk | 11:12 | |
| fijal | cfbolz: btw, I have a cool idea how to shut all the numpy/scipy people | 11:13 |
| fijal | you can embed a CPython in pypy (probably not that hard if you have cpyext-less translation) | 11:13 |
| fijal | and use in-process execnet to pass around numpy arrays | 11:13 |
| fijal | you can easily reconstruct them using pointer-as-integers | 11:14 |
| cfbolz | fijal: crazy | 11:14 |
| fijal | this way you can get all the scipy/matplotlib working | 11:14 |
| fijal | probably useful though | 11:14 |
| arigato (~arigo@82.113.98.16) joined #pypy. | 11:18 | |
| cfbolz | arigato: hello | 11:23 |
| cfbolz | arigato: could you review this diff please: http://paste.pocoo.org/show/515255/ | 11:23 |
| arigato | ok | 11:26 |
| arigato | you should call rewrite_op_same_cast instead of duplicating its obscure code | 11:28 |
| cfbolz | arigato: ok | 11:28 |
| arigato | and also, the erase() code would generate a cast from a ptr-to-instance to a gcref, right? | 11:29 |
| arigato | so the assert fails | 11:29 |
| cfbolz | I think that's another cast | 11:29 |
| arigato | ah, maybe | 11:29 |
| cfbolz | but I guess we put both conditions into the if | 11:29 |
| arigato | yes | 11:30 |
| arigato | doesn't hurt | 11:30 |
| cfbolz | yip | 11:30 |
| cfbolz | ok, we are going for lunch here, will read your comments | 11:30 |
| cfbolz | thanks | 11:30 |
| readysteadygo (~jackshann@cpc8-kemp6-2-0-cust95.9-2.cable.virginmedia.com) joined #pypy. | 11:32 | |
| arigato | looks good | 11:33 |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 11:38 | |
| masquerade (~rdeaton@galactica.lug.udel.edu) left irc: Ping timeout: 244 seconds | 11:46 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 11:49 | |
| masquerade (~rdeaton@galactica.lug.udel.edu) joined #pypy. | 11:52 | |
| Nick change: masquerade -> Guest48309 | 11:53 | |
| Sho_ (~EHS1@kde/hein) left irc: Quit: Stop leaking memory like it's going out of fashion. | 11:57 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Remote host closed the connection | 11:57 | |
| cfbolz | arigato: ok, trying a translation | 12:13 |
| Alex_Gaynor | cfbolz: are subclasses not know at jtransform time? | 12:17 |
| cfbolz | Alex_Gaynor: they probably are, but I am not risking it :-) | 12:17 |
| cfbolz | arigato: should I? | 12:17 |
| Alex_Gaynor | :) | 12:17 |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds | 12:19 | |
| Alex_Gaynor | fijal: do you think it would be possible to embed CPython using ctypes, and then pass arrays using ctyeps API for numpy? | 12:20 |
| witulski (~stupsi@134.99.16.19) joined #pypy. | 12:20 | |
| arigato | cfbolz: indeed, opimpl_int_between does the same actually | 12:20 |
| witulski (stupsi@134.99.16.19) left #pypy. | 12:20 | |
| arigato | it doesn't try to know at translation time if we do int_between(a, b, a+1) | 12:21 |
| cfbolz | ok | 12:21 |
| arigato | but it checks during pyjitpl'ing | 12:21 |
| cfbolz | makes sense | 12:21 |
| Action: arigato wonders vaguely if we could improve the performance of pypy by not instantiating W_IntObject, which has subclasses, but a dummy subclass of it | 12:23 | |
| cfbolz | W_IntObject has subclasses? | 12:23 |
| cfbolz | ah, right | 12:24 |
| cfbolz | advanced | 12:24 |
| cfbolz | arigato: you mean in general having a "non-applevel subclass" subclass"? | 12:24 |
| arigato | yes | 12:24 |
| arigato | not talking about app-level subclasses here | 12:24 |
| cfbolz | sure, but for every direct instance of an applevel type you would have an interp-level subclass | 12:25 |
| Squarepy (~Squarepy@unaffiliated/squarepy) left irc: Quit: Leaving | 12:30 | |
| readysteadygo (jackshann@cpc8-kemp6-2-0-cust95.9-2.cable.virginmedia.com) left #pypy. | 12:32 | |
| arigato (~arigo@82.113.98.16) left irc: Quit: See you | 12:33 | |
| kenaan | 12cfbolz default 1193a45b7c9431 15/pypy/jit/: make the JIT aware of the downcasts that are present in rtyped-flowgraphs. This allows the JIT to sometimes find o... | 12:45 |
| kenaan | 12cfbolz int-tag-untag-as-operations 119cf49191fdb7 15/pypy/: merge default | 12:47 |
| Topic changed on #pypy by cfbolz!cfbolz@fwstups.cs.uni-duesseldorf.de: PyPy, a fast and compliant python interpreter | IRC logs: http://www.tismer.com/pypy/irc-logs/pypy/latest.log.html | if you want it to be virtual, you should not force it | 12:47 | |
| Alex_Gaynor | cfbolz: who said that? :) | 12:48 |
| cfbolz | it's true, no? | 12:48 |
| Alex_Gaynor | yes it is | 12:49 |
| Alex_Gaynor | I was just curious, the fortunes are mostly quotes | 12:49 |
| cfbolz | nope | 12:49 |
| cfbolz | sometimes they are random things we come up with | 12:49 |
| Alex_Gaynor | cfbolz: do you object to making __pypy__.list_strategy raise TypeError, for a non list, rather than reutrn None? | 12:50 |
| pedronis | yes the deliberate topic is a genre of its own | 12:50 |
| cfbolz | Alex_Gaynor: fine by me | 12:50 |
| Alex_Gaynor | k | 12:50 |
| cfbolz | Alex_Gaynor: eg nobody ever said "Therefore, specific information, I was in an ideal context, I had to realize the faith" | 12:50 |
| Alex_Gaynor | that was a loose interpretation of something armin said, IIRC, about fijal not giving enough context :) | 12:51 |
| cfbolz | nope | 12:51 |
| cfbolz | that was a google translate of something fijal said | 12:51 |
| Alex_Gaynor | Ah! | 12:51 |
| kenaan | 12alex_gaynor default 114eefaeec6777 15/pypy/module/__pypy__/: Change __pypy__.list_strategy to raise a TypeError on non-list arguments | 12:53 |
| fijal | Alex_Gaynor: hi | 13:02 |
| Alex_Gaynor | fijal: hey | 13:02 |
| _habnabit (~habnabit@python/site-packages/habnabit) left irc: Quit: ZNC - http://znc.sourceforge.net | 13:03 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy. | 13:04 | |
| _habnabit (~habnabit@2001:470:1f0e:bdd::2) joined #pypy. | 13:05 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 13:06 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:07 | |
| Action: pedronis the slowness of the material objects | 13:09 | |
| fijal | pedronis: hi samuele | 13:09 |
| pedronis | fijal, hi | 13:09 |
| mat^2 (~mathias@212.130.113.35) joined #pypy. | 13:11 | |
| Alex_Gaynor | fijal: Does http://paste.pocoo.org/show/515300/ look like an accurate description of our numpy problem? | 13:13 |
| Fluxid | how much memory does pypy translation need on x86? (assuming using cpython, because binary pypy 1.7 needs libexpat.so.1) | 13:13 |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) left irc: Ping timeout: 244 seconds | 13:14 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum | 13:14 | |
| fijal | Alex_Gaynor: ya | 13:14 |
| Alex_Gaynor | ok | 13:14 |
| fijal | Fluxid: on 32 or 64bit? | 13:14 |
| fijal | 2-4 | 13:15 |
| fijal | roughy | 13:15 |
| fijal | or rather 1.5-2 | 13:15 |
| fijal | 1.5-3 | 13:15 |
| fijal | but you have to have this 1.5 or 3 | 13:15 |
| Fluxid | 32bit | 13:15 |
| Fluxid | then 1.5GB? | 13:16 |
| fijal | yeah | 13:16 |
| Fluxid | thanks | 13:17 |
| fijal | Alex_Gaynor: there is no *elegant* way of dealing with that | 13:17 |
| Alex_Gaynor | fijal: no elegant way we've thought of yet :) | 13:17 |
| fijal | yes | 13:17 |
| Alex_Gaynor | By writing it down I hope to be able to think on it more clearly, and maybe chat with some other people abou tit. | 13:17 |
| fijal | Alex_Gaynor: note that in general refcounting is not that bad for *large* objects | 13:18 |
| Alex_Gaynor | fijal: yes, but you need refcounting across all of the VM for this I think | 13:18 |
| fijal | so we can think about a GC that would do special refcounting precisely for numpy arrays | 13:18 |
| fijal | yes | 13:18 |
| fijal | it's a mess, agreed | 13:18 |
| Alex_Gaynor | seems like far too much of a mess for just numpy | 13:18 |
| kenaan | 12hager ppc-jit-backend 11cfa0b6e8653e 15/pypy/jit/backend/ppc/ppcgen/test/test_stackframe.py: added new layout for PyPy stackframes | 13:20 |
| fijal | yes, agreed | 13:21 |
| fijal | note that it would give us other benefits | 13:22 |
| fijal | but yes | 13:22 |
| kenaan | 12hakanardo jit-targets 112e06799c48d5 15/pypy/jit/metainterp/: a retrace can now end with a bad VirtualState as it now has a (possible unrelated) bridge as preamble | 13:22 |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 13:22 | |
| fijal | Alex_Gaynor: feel like having a cython version of laplace bench? | 13:26 |
| Alex_Gaynor | fijal: isn't there one on that page? | 13:26 |
| Alex_Gaynor | fijal: just sent an email to david beazley btw, asking if he has any ideas about the tree thing | 13:26 |
| __pv | more fuel to the tree issue: suppose one array represents direct access to a mmapped file | 13:28 |
| fijal | __pv: ? | 13:29 |
| __pv | then in a = mmap_array(some_file); b = a + a; modify_file(), a + a must be computed before modify_file() | 13:30 |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:30 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:31 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:31 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:31 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:31 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:31 | |
| ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) joined #pypy. | 13:31 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:31 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:32 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:32 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:32 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:32 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:33 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:33 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:33 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:33 | |
| Rhy0lite (dje@nat/ibm/x-hpbbmvsqeeltuqwv) joined #pypy. | 13:33 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:33 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:33 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:33 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:34 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:34 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:34 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:34 | |
| fijal | __pv: I don't think such arrays would be lazy though | 13:34 |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:34 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:35 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:35 | |
| fijal | Rhy0lite: hi | 13:35 |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:35 | |
| Rhy0lite | fijal: hi | 13:35 |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:35 | |
| Rhy0lite | did you see my reply? | 13:35 |
| fijal | that you don't think it's about an optimization? | 13:35 |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:35 | |
| Rhy0lite | no | 13:35 |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:35 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:36 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:36 | |
| fijal | then no :) | 13:36 |
| Rhy0lite | did you see my email from last night / this morning? | 13:36 |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:36 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:36 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:36 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:37 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:37 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:37 | |
| hakanardo__ | is there an issue with having optimizeopt kill SAME_AS? | 13:37 |
| Rhy0lite | I don't know what assembly PyPy generates | 13:37 |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:37 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:37 | |
| Rhy0lite | but some is creating a short-term read-write dependency | 13:37 |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:37 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:38 | |
| Rhy0lite | that does not exist in the C++ | 13:38 |
| fijal | apparently I read it because I replied to it :) | 13:38 |
| fijal | I can show you the assembler if you're keen | 13:38 |
| fijal | hakanardo__: not here | 13:38 |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:38 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:38 | |
| fijal | cfbolz: can you ban logan' for a bit? | 13:38 |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:38 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 13:38 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:38 | |
| #pypy: mode change '+o fijal' by ChanServ!ChanServ@services. | 13:39 | |
| #pypy: mode change '+b logan'!*@*' by fijal!~fijal@197.173.175.229 | 13:39 | |
| logan` (~loganchie@140.112.30.132) joined #pypy. | 13:39 | |
| #pypy: mode change '+b *!*loganchie@140.112.30.*' by fijal!~fijal@197.173.175.229 | 13:39 | |
| logan` (~loganchie@140.112.30.132) left irc: Read error: Connection reset by peer | 13:39 | |
| Shanita (~John@osbk-4db169db.pool.mediaWays.net) left irc: Read error: Connection reset by peer | 13:39 | |
| #pypy: mode change '-b logan'!*@*' by fijal!~fijal@197.173.175.229 | 13:39 | |
| #pypy: mode change '-o fijal' by fijal!~fijal@197.173.175.229 | 13:39 | |
| jell | he will reconnect in 2 minutes? :> | 13:40 |
| Rhy0lite | fijal: have you looked for a data dependency in the code? | 13:41 |
| fijal | Rhy0lite: no, how do I do that? | 13:41 |
| fijal | Rhy0lite: might it be connected to a fact that we don't store array pointers in registers, but use memory instead? | 13:41 |
| fijal | assembler looks like this, roughly | 13:42 |
| fijal | mov r12, <some mem loc> | 13:42 |
| Kaskuka (~John@osbk-4db169db.pool.mediaWays.net) joined #pypy. | 13:42 | |
| fijal | mov r14, (r12, offset + i) | 13:42 |
| fijal | do_something_with_r14 | 13:42 |
| fijal | mov <some mem loc (the same)>, r12 | 13:42 |
| fijal | jmp() | 13:42 |
| Rhy0lite | what syntax are you using? destination first? | 13:43 |
| fijal | yes | 13:43 |
| Action: Rhy0lite hates that x86 has two different syntaxes | 13:43 | |
| jell | it's intel notation | 13:43 |
| Rhy0lite | PowerPC uses destination first, but GCC/Linux uses destination last | 13:44 |
| Rhy0lite | for x86 | 13:44 |
| fijal | Rhy0lite: for extra fun, we use both :) | 13:44 |
| jell | Rhy0lite: it's not powerpc notation but... at&t | 13:44 |
| Rhy0lite | jell: huh? | 13:44 |
| Rhy0lite | u misread | 13:44 |
| jell | where? | 13:45 |
| Rhy0lite | powerpc notation | 13:45 |
| Rhy0lite | okay, let's try again | 13:45 |
| Rhy0lite | powerpc notation is destination first | 13:45 |
| jell | most assemblers targetted on powerpc use at&t notation | 13:45 |
| jell | wait a moment | 13:46 |
| jell | first? | 13:46 |
| Rhy0lite | yes | 13:46 |
| jell | it's intel notation :) | 13:46 |
| Rhy0lite | I don't care who invented it first | 13:46 |
| Rhy0lite | and this is why I said you misread | 13:46 |
| jell | ok - you are right about that ;) | 13:46 |
| Rhy0lite | fijal: I don't think that code necessarily is bad | 13:49 |
| Rhy0lite | a lot of x86 must go through memory | 13:49 |
| bivab (~david@ip-62-143-59-5.unitymediagroup.de) joined #pypy. | 13:49 | |
| Squarepy (~Squarepy@wcw-staff-214-150.wireless.uva.nl) joined #pypy. | 13:50 | |
| Rhy0lite | pypy may have an additional indirection that gcc does not produce | 13:50 |
| Squarepy (~Squarepy@wcw-staff-214-150.wireless.uva.nl) left irc: Changing host | 13:50 | |
| Squarepy (~Squarepy@unaffiliated/squarepy) joined #pypy. | 13:50 | |
| Rhy0lite | but one needs to index the array | 13:50 |
| santagada (~leonardo@186.215.61.40) joined #pypy. | 13:51 | |
| Rhy0lite | the way you created the C++ arrays caused reloading of the addresses as well | 13:54 |
| logan` (8c701e84@gateway/web/freenode/ip.140.112.30.132) joined #pypy. | 13:59 | |
| Alex_Gaynor | Rhy0lite: technically it's the original one, IMO it's slightly unfair that ours doesn't need 2 memory indirections to get to the value, but /shrug | 14:01 |
| Rhy0lite | is fijal still around? | 14:06 |
| Alex_Gaynor | not sure, I'm about to step away too though | 14:08 |
| Rhy0lite | okay | 14:08 |
| Rhy0lite | I guess I'll explain the code to him some other time | 14:08 |
| kkris (~kris@80-123-43-185.adsl.highway.telekom.at) joined #pypy. | 14:09 | |
| kenaan | 12gutworth default 117377199358ba 15/pypy/module/__pypy__/interp_magic.py: keep lines at a reasonable length | 14:11 |
| logan` (8c701e84@gateway/web/freenode/ip.140.112.30.132) left irc: Quit: Page closed | 14:13 | |
| bivab (~david@ip-62-143-59-5.unitymediagroup.de) left irc: Quit: bivab | 14:15 | |
| whitelynx (~whitelynx@63.241.75.144) joined #pypy. | 14:16 | |
| Fluxid | page http://pypy.org/download.html#translate still mentions --stackless � wasn't it removed some time ago? | 14:17 |
| mattip (c1a94669@gateway/web/freenode/ip.193.169.70.105) joined #pypy. | 14:19 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 248 seconds | 14:19 | |
| mattip | hi | 14:20 |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 14:22 | |
| Taggnostr (~quassel@dyn57-215.yok.fi) left irc: Read error: Connection reset by peer | 14:22 | |
| mattip | fijal: fwiw, I suggest an tiny semantic change (replacing b and c with c and b) to the last example in your tree problem description, see http://paste.pocoo.org/?reply_to=515300 | 14:23 |
| Taggnostr (~quassel@dyn57-215.yok.fi) joined #pypy. | 14:23 | |
| mattip (c1a94669@gateway/web/freenode/ip.193.169.70.105) left irc: Quit: Page closed | 14:35 | |
| jnoller (~jnoller@vpn.nasuni.com) joined #pypy. | 14:36 | |
| JaRoel (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 14:44 | |
| roelbruggink (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 14:46 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 252 seconds | 14:47 | |
| DasIch (~dasich@p3E9912D6.dip.t-dialin.net) left irc: Remote host closed the connection | 14:47 | |
| JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 244 seconds | 14:49 | |
| aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection | 14:57 | |
| roelbruggink (~jaroel|4d@office.fourdigits.nl) left irc: Read error: Connection reset by peer | 15:04 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 15:05 | |
| stakkars_ (~tismer@p5DDB7E68.dip.t-dialin.net) joined #pypy. | 15:08 | |
| jimbaker (~jbaker@c-75-71-80-146.hsd1.co.comcast.net) joined #pypy. | 15:08 | |
| jimbaker (~jbaker@c-75-71-80-146.hsd1.co.comcast.net) left irc: Changing host | 15:08 | |
| jimbaker (~jbaker@canonical/jimbaker) joined #pypy. | 15:08 | |
| stakkars_ (~tismer@p5DDB7E68.dip.t-dialin.net) left irc: Client Quit | 15:10 | |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) joined #pypy. | 15:18 | |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) left irc: Quit: the meeting to end all meetings | 15:23 | |
| Fluxid | http://paste.pocoo.org/show/515372/ What could go wrong?/what caused ffi.h to be missing?/is it included?/what should I do? (cloned from hg, on tag release-1.7, x86 centos 5) | 15:28 |
| Fluxid | i've got similarr messages at the very beginning of running translate.py but it continued to translate so I guessed it is not critical | 15:29 |
| Fluxid | translate.py run with -Ojit only, while pwd was its containing directory (maybe this matters) | 15:31 |
| ronny | Fluxid: what distro? maybe libffi-dev or so is missing | 15:32 |
| ronny | Fluxid: basically without it stuff like ctypes cant work | 15:32 |
| Fluxid | i mentioned centos 5 | 15:33 |
| Fluxid | ok, so this an external dependency | 15:33 |
| Fluxid | ok, i'll ask admin for deps | 15:34 |
| Fluxid | thanks | 15:35 |
| Fluxid | missed the deps list | 15:35 |
| craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) left irc: Quit: craigkerstiens | 15:35 | |
| kenaan | 12hakanardo default 11e4a0b9e4d23b 15/pypy/jit/metainterp/: make optimizeopt kill same_as | 15:35 |
| dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) joined #pypy. | 15:35 | |
| JaRoel (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 15:38 | |
| etrepum (~bob@75.94.138.216) joined #pypy. | 15:39 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 255 seconds | 15:40 | |
| etrepum_ (~bob@207.239.114.206) joined #pypy. | 15:46 | |
| etrepum (~bob@75.94.138.216) left irc: Ping timeout: 244 seconds | 15:49 | |
| Nick change: etrepum_ -> etrepum | 15:49 | |
| ousado_ (~ousado@31-18-112-23-dynip.superkabel.de) joined #pypy. | 15:54 | |
| ousado (~ousado@hmbg-5f764079.pool.mediaWays.net) left irc: Ping timeout: 258 seconds | 15:54 | |
| Nick change: ousado_ -> ousado | 15:54 | |
| ousado (~ousado@31-18-112-23-dynip.superkabel.de) left irc: Changing host | 15:54 | |
| ousado (~ousado@unaffiliated/ousado) joined #pypy. | 15:54 | |
| ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) left irc: Quit: Leaving... | 15:56 | |
| etrepum (~bob@207.239.114.206) left irc: Quit: etrepum | 16:02 | |
| mvt (~mvantelli@87.213.45.85) left irc: Quit: This computer has gone to sleep | 16:04 | |
| lac (~quassel@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) joined #pypy. | 16:06 | |
| stakkars_ (~tismer@82.113.121.249) joined #pypy. | 16:07 | |
| cpets (4f75baf3@gateway/web/freenode/ip.79.117.186.243) joined #pypy. | 16:07 | |
| alfredodeza (~alfredode@c-24-99-255-55.hsd1.ga.comcast.net) joined #pypy. | 16:14 | |
| alfredodeza | I am having problems installing a package that uses parse_config_h from distutils | 16:15 |
| alfredodeza | is this a known issue? | 16:15 |
| alfredodeza | I get an import error Exception | 16:15 |
| alfredodeza | mnn found this issue that may be related ==> https://bugs.pypy.org/issue662 | 16:17 |
| _habnabit (~habnabit@2001:470:1f0e:bdd::2) left irc: Changing host | 16:32 | |
| _habnabit (~habnabit@python/site-packages/habnabit) joined #pypy. | 16:32 | |
| k_bx (~k_bx@94.244.19.62) joined #pypy. | 16:33 | |
| Squarepy (~Squarepy@unaffiliated/squarepy) left irc: Quit: Leaving | 16:34 | |
| asmeurer__ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 16:48 | |
| cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) left irc: Quit: Leaving | 16:49 | |
| Nick change: timotimotimo -> timotimo | 16:51 | |
| craigkerstiens (~craigkers@204.14.152.118) joined #pypy. | 16:54 | |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Client Quit | 16:56 | |
| G2P (~G2P@fw-asn1.ornis.com) left irc: Quit: Leaving. | 16:57 | |
| craigkerstiens (~craigkers@204.14.152.118) joined #pypy. | 16:58 | |
| Dulak (~michael@unaffiliated/dulak) left irc: Quit: Leaving | 17:21 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 17:21 | |
| k_bx (~k_bx@94.244.19.62) left irc: Ping timeout: 248 seconds | 17:21 | |
| bivab (~david@ip-62-143-59-5.unitymediagroup.de) joined #pypy. | 17:24 | |
| bivab (~david@ip-62-143-59-5.unitymediagroup.de) left irc: Client Quit | 17:24 | |
| stakkars_ (~tismer@82.113.121.249) left irc: Read error: Connection reset by peer | 17:24 | |
| k_bx (~k_bx@94.244.19.62) joined #pypy. | 17:24 | |
| k_bx (~k_bx@94.244.19.62) left irc: Remote host closed the connection | 17:25 | |
| Dulak (~michael@unaffiliated/dulak) joined #pypy. | 17:29 | |
| JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 17:30 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 17:35 | |
| dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) left irc: Quit: Leaving | 17:38 | |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) joined #pypy. | 17:44 | |
| apanda (~apanda@c-24-7-101-62.hsd1.ca.comcast.net) left irc: Remote host closed the connection | 17:49 | |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) left irc: Remote host closed the connection | 17:54 | |
| CIA-13 | 03arigo 07roundup * 10#895/Continulets + JIT: [resolved] Thanks Christian. * 14https://bugs.pypy.org/issue895 | 17:56 |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy. | 18:00 | |
| CIA-13 | 03carlosedp 07roundup * 10#948/Low performance on Stackless PyPy compared to Stackless Python: | 18:03 |
| CIA-13 | [new] I tested the 1.7 release on Windows XP using some Stackless Python examples I | 18:03 |
| CIA-13 | have. | 18:03 |
| CIA-13 | Most of them worked fine, the only problem is that ... * 14https://bugs.pypy.org/issue948 | 18:03 |
| caaakeeey (~caaakeeey@cpc6-enfi15-2-0-cust204.hari.cable.virginmedia.com) joined #pypy. | 18:13 | |
| fijal | Rhy0lite: yes | 18:13 |
| setmeaway | i reached final link, but it does have undefined symbol error. http://pastebin.com/uwGknM7b is pypy_g prefix meant for exported function? | 18:15 |
| fijal | yes | 18:17 |
| fijal | no | 18:17 |
| fijal | I don't think there is a notion of "exported" on linux | 18:17 |
| amaury_ (amaury_@nat/google/x-qfmtulxamnvwfmxs) left irc: Ping timeout: 244 seconds | 18:17 | |
| Alex_Gaynor | that's what the static keyword is for on a function, isn't it? | 18:17 |
| Alex_Gaynor | if a function has the static prefix, the compiler isn't required to emit code for it (if it gets inlined at all call sites) | 18:18 |
| setmeaway | so can i assume pypy_g_ prefix is for non-exported symbol? | 18:19 |
| fijal | I think yes | 18:22 |
| fijal | hum hum | 18:24 |
| Alex_Gaynor | fijal: btw, it'd be cool if there was a way to see "is this over a contiguos block of memory", so setslice can use memcpy | 18:26 |
| Alex_Gaynor | would only work if they're the same type of course, but I guess that's common | 18:26 |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 248 seconds | 18:26 | |
| Alex_Gaynor | maybe I should wait for a benchmark | 18:26 |
| fijal | yes | 18:28 |
| fijal | I mean on one hand yes, on the other hand we won't need it once we get SSE in | 18:29 |
| fijal | we need a better register allocator though | 18:29 |
| mtigas (~Adium@users.spokesman.com) joined #pypy. | 18:35 | |
| fijal | Alex_Gaynor: we should unroll | 18:40 |
| fijal | a, b, c = l | 18:40 |
| Alex_Gaynor | fijal: we do? | 18:40 |
| fijal | we should | 18:41 |
| fijal | no, we don't | 18:41 |
| fijal | when l is a list | 18:41 |
| fijal | getitems_copy_trampoline__v200___simple_call__function_g | 18:41 |
| fijal | what's that? | 18:41 |
| Alex_Gaynor | uh, this is a regression since list-strategies was merged | 18:41 |
| fijal | seems so | 18:43 |
| Alex_Gaynor | yes, that was a statement, not a question | 18:43 |
| fijal | that's why some stuff is slower | 18:43 |
| Alex_Gaynor | almost definitely, yes | 18:43 |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) left irc: Ping timeout: 248 seconds | 18:44 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 18:47 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy. | 18:50 | |
| ericflo (~ericflo@75.103.8.110) joined #pypy. | 19:01 | |
| ixokai (~ixokai@rrcs-24-199-8-246.west.biz.rr.com) joined #pypy. | 19:01 | |
| ixokai (~ixokai@rrcs-24-199-8-246.west.biz.rr.com) left irc: Changing host | 19:02 | |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) joined #pypy. | 19:02 | |
| Rhy0lite | fijal: I could look at the x86 code, but the issue is if the pypy jit always generates a read-after-write dependency on some memory location | 19:03 |
| Rhy0lite | inplace_lapace creates this situation and the other laplace does not | 19:03 |
| Alex_Gaynor | Rhy0lite: in the CPU itself you're talking about? | 19:03 |
| Rhy0lite | yes | 19:03 |
| fijal | Rhy0lite: ok | 19:04 |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy. | 19:04 | |
| fijal | I fail to see this in asm honestly | 19:04 |
| Rhy0lite | it's not obvious in the asm itself | 19:04 |
| fijal | ah | 19:04 |
| fijal | Rhy0lite: might that be stack? | 19:04 |
| Rhy0lite | do you mind me posting short snippets of code to the channel? | 19:04 |
| fijal | no, but we prefer paste.pocoo.org if it's >10 lines | 19:05 |
| Rhy0lite | http://paste.pocoo.org/show/515469/ | 19:06 |
| fijal | I wrote C versions btw | 19:06 |
| Rhy0lite | that's the timeStep for laplace and inplace_laplace | 19:06 |
| fijal | right | 19:07 |
| Rhy0lite | you see in the first one, laplace, that the loop only reads tmp | 19:07 |
| Rhy0lite | you update tmp in a separate step | 19:07 |
| fijal | yes | 19:07 |
| Rhy0lite | in the second one, u[i][j] is written in one iteration | 19:07 |
| Rhy0lite | and then read in the next iteration | 19:08 |
| Rhy0lite | as u[i][j-1] | 19:08 |
| Rhy0lite | http://paste.pocoo.org/show/515473/ | 19:10 |
| Rhy0lite | okay, look at that one | 19:10 |
| stakkars_ (~tismer@dslb-088-074-053-099.pools.arcor-ip.net) joined #pypy. | 19:10 | |
| Rhy0lite | I pasted the core of the x86 core | 19:10 |
| Rhy0lite | code | 19:10 |
| Rhy0lite | those are the bodies of the loops | 19:11 |
| Rhy0lite | first it sets up the address of the various vectors in rdi, rsi, rcx, rdc | 19:12 |
| fijal | right | 19:12 |
| Rhy0lite | in the first one, it loads two of the array elements | 19:14 |
| Rhy0lite | movsd | 19:14 |
| Rhy0lite | then adds the corresponding elements | 19:14 |
| Rhy0lite | addsd | 19:14 |
| Rhy0lite | these are tmp[i-1][j] + tmp[i+1][j] | 19:14 |
| Rhy0lite | tmp[i][j-1] + tmp[i][j+1] | 19:15 |
| Rhy0lite | then the two multiplies for dx2 and dy2 | 19:15 |
| Rhy0lite | then add the results into xmm1 | 19:15 |
| Rhy0lite | then multiply by dnr_inv in xmm5 | 19:15 |
| Rhy0lite | then store into u[i][j] | 19:16 |
| Rhy0lite | movsd %xmm1, 8(%rdi,%rax) | 19:16 |
| santagada (~leonardo@186.215.61.40) left irc: Quit: Ex-Chat | 19:16 | |
| Rhy0lite | then subtract from tmp[i][j] | 19:16 |
| Rhy0lite | in the second snippet for inplace_laplace | 19:17 |
| Rhy0lite | the result is stored | 19:18 |
| Rhy0lite | movsd %xmm1, 8(%rdx,%rax) | 19:18 |
| Rhy0lite | and the value is subtracted from tmp = u[i][j] | 19:18 |
| Rhy0lite | movsd 8(%rdx,%rax), %xmm0 | 19:18 |
| Rhy0lite | subsd %xmm0, %xmm1 | 19:19 |
| Rhy0lite | see | 19:19 |
| Rhy0lite | 8(%rdx,%rax) | 19:19 |
| Rhy0lite | that's the key | 19:19 |
| Rhy0lite | it's the same memory address | 19:19 |
| fijal | would a stack access have the same effect? | 19:19 |
| Rhy0lite | yes, it could | 19:20 |
| Rhy0lite | it depends where on the stack | 19:20 |
| Rhy0lite | I believe that x86 shadows the near stack as registers | 19:20 |
| Rhy0lite | but there still may be a read-write dependency | 19:20 |
| Rhy0lite | the real problem is this: | 19:20 |
| Rhy0lite | in the second code snippet | 19:20 |
| Alex_Gaynor | fijal: you think it's our crappy register allocators fault that the not-inplace version is slow? | 19:21 |
| Rhy0lite | movsd (%rdx,%rax), %xmm2 | 19:21 |
| kkris1 (~kris@77.118.254.33.wireless.dyn.drei.com) joined #pypy. | 19:21 | |
| Rhy0lite | see that (%rdx,%rax) | 19:21 |
| Rhy0lite | that's u[i][j-1] | 19:21 |
| Rhy0lite | 8(%rdx,%rax) is u[i][j] | 19:21 |
| Rhy0lite | 16(%rdx,%rax) is u[i][j+1] | 19:22 |
| fijal | Alex_Gaynor: I fail to have other reasons? | 19:22 |
| Rhy0lite | do you understand those offsets? | 19:22 |
| fijal | Rhy0lite: do you have any idea why gcc does not vectorize it? | 19:22 |
| fijal | Rhy0lite: yes | 19:22 |
| Rhy0lite | you told it -fno-tree-vectorize | 19:22 |
| fijal | no | 19:22 |
| fijal | does not matter | 19:22 |
| Rhy0lite | okay, that's separate | 19:22 |
| Rhy0lite | may need unrolling | 19:22 |
| Alex_Gaynor | fijal: ATM so we're answering the question "why doesn't pypy get faster on the second version" just to be clear | 19:22 |
| fijal | yes | 19:22 |
| Rhy0lite | but I'm trying to explain one issue at a time | 19:23 |
| Alex_Gaynor | doesn't the vecotrizers automatically unroll? | 19:23 |
| Alex_Gaynor | sorry, one thing at at ime | 19:23 |
| fijal | yes yes, right | 19:23 |
| Rhy0lite | you have base+0, base +8, base+16 | 19:23 |
| Rhy0lite | j-1, j, j+1 | 19:23 |
| Rhy0lite | you store the value into u[i][j] | 19:23 |
| kkris (~kris@80-123-43-185.adsl.highway.telekom.at) left irc: Ping timeout: 240 seconds | 19:23 | |
| Rhy0lite | movsd %xmm1, 8(%rdx,%rax) | 19:23 |
| Alex_Gaynor | can't you reuse the j value in a regsiter as teh j-1 value next iteration? | 19:23 |
| Alex_Gaynor | same with j+1 and j I suppose | 19:23 |
| Rhy0lite | then increment %rax for the next iteration | 19:23 |
| Rhy0lite | addq $8, %rax | 19:23 |
| Rhy0lite | then read u[i][j-1] in the next iteration | 19:24 |
| Rhy0lite | movsd (%rdx,%rax), %xmm2 | 19:24 |
| Rhy0lite | so you have a memory dependency | 19:25 |
| tlynn (~tlynn@cpc6-cmbg14-2-0-cust121.5-4.cable.virginmedia.com) joined #pypy. | 19:25 | |
| Rhy0lite | and the processor needs to forward the write to memory from the previous iteration to the read in the next iteration | 19:25 |
| Rhy0lite | in the first code example, there is no such dependency | 19:25 |
| Rhy0lite | movsd %xmm1, 8(%rdi,%rax) | 19:25 |
| fijal | pom pom pom | 19:25 |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 19:26 | |
| Rhy0lite | movsd (%rdx,%rax), %xmm2 | 19:26 |
| fijal | Alex_Gaynor: do you have any idea why we have arguments to jump that are unused by the loop? | 19:26 |
| fijal | ah bridges | 19:26 |
| Rhy0lite | addsd 16(%rdx,%rax), %xmm2 | 19:26 |
| Alex_Gaynor | fijal: they should show up as used by guard arguments though | 19:26 |
| Rhy0lite | those are the reads of tmp[i][j-1] and tmp[i][j+1] | 19:26 |
| fijal | Alex_Gaynor: pfff :/ | 19:26 |
| fijal | Alex_Gaynor: they have registers allocated.... | 19:26 |
| kkris (~kris@80-123-43-185.adsl.highway.telekom.at) joined #pypy. | 19:26 | |
| Alex_Gaynor | fijal: pff, we allocate registers for something only used as a guard argument? | 19:27 |
| Alex_Gaynor | guard argument should never get a register unless it already has one | 19:27 |
| Rhy0lite | the base address of tmp is %rdx and the base address of u is %rdi | 19:27 |
| fijal | Alex_Gaynor: yes :( | 19:27 |
| Alex_Gaynor | fijal: we need more unittests for register allocator | 19:27 |
| fijal | I guess | 19:28 |
| fijal | allocating registers for variables that are used would be a good start | 19:28 |
| Alex_Gaynor | heh, yes | 19:28 |
| fijal | getting rid of a billion arraylen_gc also | 19:28 |
| Alex_Gaynor | fijal: those get killed by backend | 19:29 |
| fijal | so? | 19:29 |
| Alex_Gaynor | if you look in the jitviewer they don't generate instructions | 19:29 |
| Alex_Gaynor | so regalloc shouldn't see them | 19:29 |
| fijal | yes true | 19:29 |
| Alex_Gaynor | it's annoying but who cares | 19:29 |
| Rhy0lite | fijal, Alex_Gaynor: the performance is better with unrolling | 19:29 |
| Alex_Gaynor | are you saing guard arguments in registers is why these arrays are on teh stack? | 19:29 |
| Rhy0lite | because then it does carry more of the values across iterations in registers | 19:29 |
| Alex_Gaynor | Rhy0lite: does it vectorize, or just unroll? | 19:30 |
| Alex_Gaynor | that's interesting, not super important though, this memory forwarding is the big one | 19:30 |
| Alex_Gaynor | well, how much does it improve ? | 19:30 |
| kkris1 (~kris@77.118.254.33.wireless.dyn.drei.com) left irc: Ping timeout: 248 seconds | 19:30 | |
| fijal | 2x? | 19:31 |
| Rhy0lite | Alex_Gaynor: with unrolling, it appears to vectorize as well | 19:31 |
| Rhy0lite | I don't have a recent x86 system to test at the moment | 19:33 |
| Rhy0lite | I think it improved abotu 2x | 19:34 |
| fijal | so why is unrolling not on by default? | 19:34 |
| Rhy0lite | because it does not always win and bloats the code | 19:34 |
| Rhy0lite | most expensive optimizations are not always a win | 19:35 |
| Rhy0lite | unrolling is more useful for regular, scientific algorithms, like your Laplace solver | 19:35 |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 19:35 | |
| Alex_Gaynor | fijal: so, who will fix the register allocator :) | 19:37 |
| Rhy0lite | Santa Claus? | 19:37 |
| Alex_Gaynor | Rhy0lite: his time of the year, isn't it | 19:38 |
| Rhy0lite | has fijal been naughty or nice? | 19:38 |
| Rhy0lite | fijal: I don't know exactly why the equivalent python laplace solver shows a memory dependency problem | 19:39 |
| Rhy0lite | we can try to dig through the x86 code | 19:39 |
| Rhy0lite | but the issue really is seeing the base addresses | 19:39 |
| Rhy0lite | not the base registers | 19:39 |
| Rhy0lite | or the code | 19:39 |
| gnosek (~blackfire@77-236-9-85.home.aster.pl) joined #pypy. | 19:39 | |
| Rhy0lite | I don't know if it's easier to recognize in the LL IR code | 19:40 |
| fijal | ok | 19:40 |
| fijal | I can show you asm as well | 19:40 |
| Rhy0lite | okay, we can look | 19:40 |
| Alex_Gaynor | fijal: does self.loc() in regalloc.py cause something to be put in a register? | 19:41 |
| fijal | can you run jitviewer? | 19:41 |
| Rhy0lite | I don't have it installed on my system at the moment | 19:41 |
| fijal | Alex_Gaynor: no, but there is a thing that causes registers to be allocated to loop arguments | 19:41 |
| fijal | Rhy0lite: ok, let me paste | 19:41 |
| Alex_Gaynor | ah, ok | 19:41 |
| fijal | http://paste.pocoo.org/show/515495/ | 19:41 |
| Alex_Gaynor | fijal: I'm reindenting this | 19:42 |
| Rhy0lite | bah | 19:42 |
| fijal | ? | 19:42 |
| fijal | _process_inputargs | 19:43 |
| Rhy0lite | do you know how this corresponds to a step? | 19:43 |
| fijal | WTF? | 19:43 |
| fijal | Rhy0lite: this is the step | 19:43 |
| Rhy0lite | all of this? | 19:43 |
| fijal | Alex_Gaynor: so I commited some code to make it better on 64bit | 19:43 |
| fijal | Rhy0lite: yes :/ | 19:43 |
| fijal | Alex_Gaynor: and it's gone | 19:43 |
| Alex_Gaynor | Rhy0lite: indented soa human can read: http://paste.pocoo.org/show/515496/ | 19:44 |
| gnosek (~blackfire@77-236-9-85.home.aster.pl) left irc: Quit: leaving | 19:44 | |
| Alex_Gaynor | fijal: should have written a test | 19:44 |
| fijal | Alex_Gaynor: kinda hard, we don't have those kind of tests, but yeah | 19:44 |
| Alex_Gaynor | fijal: we should get thsoe kind of tests | 19:45 |
| fijal | for any kind of tests that we don't have... | 19:45 |
| fijal | Rhy0lite: some of it is going away | 19:45 |
| Alex_Gaynor | fijal, Rhy0lite: this is made harder to read by the fact that the same array appears in multiple IR vars/stack locations | 19:45 |
| alfredodeza (alfredode@c-24-99-255-55.hsd1.ga.comcast.net) left #pypy. | 19:46 | |
| Alex_Gaynor | fijal: having the same array in 4 places sucks for register allocator | 19:46 |
| fijal | yes | 19:46 |
| fijal | but this is precisely what we need to share iterators for | 19:46 |
| fijal | well, also arrays | 19:46 |
| Rhy0lite | where is the sqrt? | 19:46 |
| Alex_Gaynor | Yes, it's not about sharing iterators, it's about teaching the JIT "these are teh same things" | 19:46 |
| Rhy0lite | I would have expected some offsets | 19:46 |
| fijal | Rhy0lite: no, this is *just* the loop | 19:46 |
| fijal | Rhy0lite: that does not contain sqrt | 19:46 |
| fijal | because we compute error in a separate step | 19:47 |
| Alex_Gaynor | It's not really comparing the same thing | 19:47 |
| fijal | Alex_Gaynor: well, it depends how specialized you want your assembler | 19:47 |
| fijal | do you really want it to be specialized for the same array? | 19:47 |
| fijal | probably | 19:51 |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) left irc: Quit: Bye! | 19:52 | |
| Alex_Gaynor | fijal: I suspect, but perhaps not | 19:58 |
| Alex_Gaynor | fijal: anyway, I guess regalloc should be fixed first? | 19:59 |
| fijal | yeah | 20:00 |
| Rhy0lite | I think I can sort of follow the code | 20:02 |
| Alex_Gaynor | which code? | 20:02 |
| Rhy0lite | but it's not obvious what addresses are being use | 20:02 |
| Rhy0lite | Alex_Gaynor: your paste | 20:02 |
| Rhy0lite | so now I see the four reads of u[][] at the top | 20:03 |
| Alex_Gaynor | Rhy0lite: that's part of the mess of the fact that the assembler isn't being specialized for "these are the same array" | 20:03 |
| Rhy0lite | and then writing the rseult | 20:03 |
| Rhy0lite | setarrayitem_raw(i32, i21, f62, descr=<FloatArrayNoLengthDescr>) | 20:03 |
| Rhy0lite | mov rdx,QWORD PTR [rbp-0x140] | 20:03 |
| Rhy0lite | movsd QWORD PTR [rdx+rsi*8],xmm14 | 20:03 |
| Alex_Gaynor | so the same memory is eating 4 registers or something | 20:03 |
| Rhy0lite | but the addressing is a little difficult to interpret | 20:03 |
| Rhy0lite | movsd xmm14,QWORD PTR [rdx+r15*8] | 20:04 |
| Rhy0lite | movsd xmm13,QWORD PTR [rcx+r13*8] | 20:04 |
| Rhy0lite | movsd xmm13,QWORD PTR [rax+r10*8] | 20:04 |
| Rhy0lite | movsd xmm12,QWORD PTR [rcx+r8*8] | 20:04 |
| Alex_Gaynor | seems readable to me, what's the issue? | 20:04 |
| Rhy0lite | I mean I have no idea how rax, rcx and rdx are related | 20:05 |
| Rhy0lite | and rsi | 20:05 |
| Rhy0lite | assuming its not the stack | 20:05 |
| Rhy0lite | and the stack also could be the problem | 20:05 |
| Rhy0lite | but the dependency equivalent to inplace_laplace is | 20:05 |
| fijal | Rhy0lite: those are all arrays | 20:05 |
| fijal | the same array in fact, except the last one | 20:06 |
| Rhy0lite | rdx+rsi*8 = one of the rcx reads | 20:06 |
| K-os (~gabriel@cl-3210.ham-01.de.sixxs.net) joined #pypy. | 20:06 | |
| Rhy0lite | let me explain it this way | 20:06 |
| Rhy0lite | the base address for the store is rbp+0x140 | 20:07 |
| Rhy0lite | the base address for the loads never use the same stasck location for the address | 20:07 |
| fijal | right | 20:07 |
| Rhy0lite | each u[][] is in a separate location on the stack | 20:08 |
| Rhy0lite | although they must be the same base value | 20:08 |
| Rhy0lite | so I cannot tell what may conflict | 20:08 |
| Rhy0lite | similarly with getarrayitem_raw | 20:08 |
| Rhy0lite | and setarrayitem_raw | 20:08 |
| Rhy0lite | i25, i26, i28, i29, | 20:08 |
| Rhy0lite | these must be the same | 20:08 |
| Rhy0lite | but I cannot disambituating them from the syntax | 20:09 |
| Rhy0lite | disambiguate | 20:09 |
| Alex_Gaynor | Yes, in pypy we don't have an array of arrays, we have an array that's N*M which we index manually | 20:09 |
| fijal | Rhy0lite: for what is worth they *might* be different | 20:09 |
| Rhy0lite | fijal: right, but that's what I mean | 20:09 |
| fijal | the assembler isn't specialized | 20:09 |
| Rhy0lite | without knowing the actual addresses, I cannot tell which ones might conflict | 20:09 |
| fijal | what if they would be? | 20:09 |
| fijal | ah ok | 20:10 |
| fijal | so I can tell you that all loads are the same and store is different | 20:10 |
| Rhy0lite | again, the processor does not have a dependency from the registers | 20:10 |
| Rhy0lite | its from the addresses themselves | 20:10 |
| Rhy0lite | the Load-Store Unit cares about the addresses | 20:10 |
| Rhy0lite | however they are computed | 20:10 |
| fijal | so as I said before | 20:10 |
| fijal | the load is in one place | 20:10 |
| fijal | the stores in other | 20:10 |
| Rhy0lite | direct, displacements, offset, indexed, scaled | 20:11 |
| fijal | the loads and store | 20:11 |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 20:11 | |
| fijal | anyway, I'm off to bed | 20:11 |
| Rhy0lite | okay | 20:12 |
| Rhy0lite | we can look at this more tomorrow | 20:12 |
| fijal | cool | 20:12 |
| fijal | I'm torn between publishing a blog post and improving the situation | 20:12 |
| Rhy0lite | which laplace.py does this represent? | 20:12 |
| fijal | there are two easy things | 20:12 |
| Rhy0lite | I mean laplace.py has multiple implememtations within it | 20:12 |
| Alex_Gaynor | fijal: let's improve situation a bit and then post, imo | 20:13 |
| kenaan | 12fijal jitviewer 11c87055494d46 15/bin/jitviewer.py: fix (maybe) newer flasks | 20:13 |
| fijal | Alex_Gaynor: okey | 20:13 |
| fijal | Rhy0lite: numeric_3 with skip=15 | 20:13 |
| Rhy0lite | fijal: what happened to your other blog post? | 20:13 |
| fijal | which other? | 20:13 |
| fijal | about performance? | 20:13 |
| Rhy0lite | the one I reviewed. yes. | 20:13 |
| fijal | http://lostinjit.blogspot.com/2011/11/analysing-pythons-performance-under.html | 20:13 |
| fijal | thanks for reviewing :) | 20:13 |
| Rhy0lite | oh, I thought that was for morepypy | 20:14 |
| fijal | no, I'm trying to build my own brand | 20:14 |
| Rhy0lite | good strategy | 20:14 |
| Guest__ (~textual@67.51.82.66) joined #pypy. | 20:16 | |
| Rhy0lite | fijal: assuming that code is the critical part of the loop | 20:17 |
| kenaan | 12ctismer win64-stage1 1178ed73b0b1af 15/pypy/: merge default | 20:17 |
| kenaan | 12ctismer win64-stage1 11fd39e63b03e0 15/pypy/: a bit of progress with libffi and friends. 16 tests pass, 5 fail. There is still a problem with pointers and... | 20:17 |
| Rhy0lite | and especially the top part | 20:17 |
| Rhy0lite | hmm | 20:18 |
| Rhy0lite | there are not a lot of stores | 20:18 |
| Rhy0lite | but the stack offsets are fairly large | 20:18 |
| Rhy0lite | The dependency in the pypy code looks more like the base address increments | 20:18 |
| Rhy0lite | because the loop itself repeatedly loads the base address from the stack | 20:19 |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 20:20 | |
| fijal | yes | 20:21 |
| fijal | I'll remove that | 20:21 |
| fijal | and a couple other things | 20:22 |
| Rhy0lite | if the arrays truly are independent, then I don't see an obvious write-read dependency | 20:23 |
| Rhy0lite | for the u[][] array itself | 20:23 |
| fijal | it might be the stack then | 20:23 |
| Rhy0lite | maybe | 20:23 |
| Rhy0lite | but I don't see it writing the stack location | 20:24 |
| Rhy0lite | more about writing the offset registers | 20:24 |
| fijal | Rhy0lite: the building own brand thing was missing a smiley, but maybe it's actually serious | 20:24 |
| fijal | I never know with me | 20:24 |
| Rhy0lite | r15, r14, r13, r10, r8 | 20:24 |
| K-os (~gabriel@cl-3210.ham-01.de.sixxs.net) left irc: Quit: Ex-Chat | 20:27 | |
| Rhy0lite | I don't quite understand this | 20:27 |
| Rhy0lite | i65 = i5 + 1 | 20:27 |
| Rhy0lite | mov QWORD PTR [rbp-0x1e8],r14 | 20:27 |
| Rhy0lite | add r14,0x1 | 20:27 |
| sunoano (~sa@unaffiliated/sunoano) left irc: Read error: Connection reset by peer | 20:27 | |
| Rhy0lite | why store r14 and then increment it? | 20:27 |
| K-os (~gabriel@cl-3210.ham-01.de.sixxs.net) joined #pypy. | 20:28 | |
| kenaan | 12ctismer win64-stage1 116055c7b753ec 15/pypy/rlib/test/test_libffi.py: unclear, reverting a change which did not help | 20:29 |
| jterrace (~jterrace@aegis.CS.Princeton.EDU) joined #pypy. | 20:33 | |
| jterrace | so dtypes for numpypy was merged in? | 20:35 |
| jterrace | it seems to autodetect when i make arrays, but how do i specify a dtype on creation? numpypy.int32/etc don't seem to exist | 20:36 |
| jterrace | ah, i see it just takes strings | 20:39 |
| Alex_Gaynor | jterrace: I have a branch which exposes numpypy.{int,float}{32,64}etc. | 20:40 |
| jterrace | nice | 20:40 |
| jterrace | what about reshape? | 20:41 |
| Alex_Gaynor | should be merged in a few days, if fijal ever reviews it | 20:41 |
| Alex_Gaynor | there's a branch with reshape, I don't know much about it, fijal keeps asking me to review it | 20:41 |
| jterrace | i thought indexing of arrays worked, but it seems to be broken | 20:42 |
| Rhy0lite (dje@nat/ibm/x-hpbbmvsqeeltuqwv) left irc: Quit: Leaving | 20:43 | |
| Alex_Gaynor | you mean array[array]? | 20:43 |
| jterrace | yeah | 20:43 |
| dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) joined #pypy. | 20:44 | |
| jterrace | e.g., np.array([1,2,3,4])[np.array([0,1,2,3,0,1,2,3])] | 20:44 |
| Alex_Gaynor | I don't know much about that, someone can put it in the TODO list though | 20:44 |
| lizardo (~lizardo@189.2.128.130) left irc: Quit: Leaving | 20:47 | |
| mtigas (~Adium@users.spokesman.com) left irc: Quit: Leaving. | 20:49 | |
| mattip (~chatzilla@bzq-79-177-116-180.red.bezeqint.net) joined #pypy. | 20:52 | |
| caaakeeey (caaakeeey@cpc6-enfi15-2-0-cust204.hari.cable.virginmedia.com) left #pypy. | 20:52 | |
| mattip | hi | 20:52 |
| fijal | hi | 20:52 |
| mattip | fijal: I did something I'm not sure you want me to commit | 20:52 |
| mattip | I added some funcitonality to compile.py, | 20:53 |
| fijal | then commit it on a branch | 20:53 |
| fijal | sounds good if it's tested | 20:53 |
| mattip | specifiaclly two_arguement function | 20:53 |
| mattip | I will add some tests. | 20:53 |
| fijal | then it's all good | 20:54 |
| mattip | And see if I can commit it as a seperate branch, right now it is mixed into the dot branch | 20:54 |
| fijal | sounds like it can go on a dot branch | 20:55 |
| fijal | we're not that nazi | 20:55 |
| mattip | OK, here it comes. | 20:55 |
| kenaan | 12mattip matrixmath-dot 111780af5403c8 15/pypy/module/micronumpy/: copy/paste test and doc string from numpy | 20:57 |
| kenaan | 12mattip matrixmath-dot 11c40572851869 15/pypy/module/micronumpy/: shape matching, output creation implemented | 20:57 |
| kenaan | 12mattip matrixmath-dot 1184755e29506f 15/pypy/module/micronumpy/: add two arg functionality to test_compile | 20:57 |
| mattip | I couldn't really finish the dot cuz I can't think of a good way to implement the inner loops | 20:58 |
| mattip | using the current infrastructure. | 20:58 |
| fijal (~fijal@197.173.175.229) left irc: Read error: Connection reset by peer | 20:58 | |
| mattip | hmm, too late. | 20:59 |
| mattip (chatzilla@bzq-79-177-116-180.red.bezeqint.net) left #pypy. | 21:00 | |
| ronan_ (~ronan@host86-142-249-87.range86-142.btcentralplus.com) left irc: Ping timeout: 248 seconds | 21:04 | |
| ronan (~ronan@host86-142-249-87.range86-142.btcentralplus.com) joined #pypy. | 21:07 | |
| kkris (~kris@80-123-43-185.adsl.highway.telekom.at) left irc: Quit: Leaving. | 21:08 | |
| jnoller (~jnoller@vpn.nasuni.com) left irc: | 21:10 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Remote host closed the connection | 21:11 | |
| Guest__ (~textual@67.51.82.66) left irc: Ping timeout: 244 seconds | 21:12 | |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving | 21:27 | |
| mat^2 (~mathias@212.130.113.35) left irc: | 21:28 | |
| kenaan | 12ctismer win64-stage1 11234142ad1aa7 15/pypy/objspace/std/test/test_smallintobject.py: fixed smallintobject tests. The type() checks make no longer sense | 21:44 |
| cpets (4f75baf3@gateway/web/freenode/ip.79.117.186.243) left irc: Quit: Page closed | 21:44 | |
| sunoano (~sa@mail.heartinternet.co.uk) joined #pypy. | 21:50 | |
| sunoano (~sa@mail.heartinternet.co.uk) left irc: Changing host | 21:50 | |
| sunoano (~sa@unaffiliated/sunoano) joined #pypy. | 21:50 | |
| kenaan | 12ctismer win64-stage1 11da5b796470c9 15/pypy/objspace/std/test/test_smallintobject.py: inv(glitch) :-) | 21:59 |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Remote host closed the connection | 22:08 | |
| azhang (~azhang@adsl-99-63-77-95.dsl.pltn13.sbcglobal.net) joined #pypy. | 22:14 | |
| Nick change: azhang -> bugfree | 22:18 | |
| Nick change: bugfree -> buug | 22:19 | |
| stakkars_ (~tismer@dslb-088-074-053-099.pools.arcor-ip.net) left irc: Quit: schnarch | 22:29 | |
| whitelynx (~whitelynx@63.241.75.144) left irc: Remote host closed the connection | 22:35 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/731 | 22:38 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/156 | 22:38 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/961 | 22:38 |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Remote host closed the connection | 22:47 | |
| stakkars_ (~tismer@p5DDB7E68.dip.t-dialin.net) joined #pypy. | 22:47 | |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 260 seconds | 22:51 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy. | 22:52 | |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Ping timeout: 244 seconds | 22:53 | |
| DanielHolth (~dholth@ip98-180-34-112.ga.at.cox.net) joined #pypy. | 22:53 | |
| kenaan | 12ctismer win64-stage1 117f97cc73d700 15/pypy/: adjusted the format code of gc (long->Signed) | 23:00 |
| buug (~azhang@adsl-99-63-77-95.dsl.pltn13.sbcglobal.net) left irc: Quit: leaving | 23:25 | |
| buug (~azhang@adsl-99-63-77-95.dsl.pltn13.sbcglobal.net) joined #pypy. | 23:26 | |
| Guest__ (~textual@216.190.27.14) joined #pypy. | 23:30 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 23:31 | |
| Nick change: Guest__ -> rekamso | 23:34 | |
| tlynn (~tlynn@cpc6-cmbg14-2-0-cust121.5-4.cable.virginmedia.com) left irc: Ping timeout: 248 seconds | 23:40 | |
| jterrace (~jterrace@aegis.CS.Princeton.EDU) left irc: Quit: Leaving. | 23:49 | |
| maxyz (~maxy@186.23.74.228) left irc: Ping timeout: 260 seconds | 23:54 | |
| maxyz (~maxy@186.23.74.228) joined #pypy. | 23:55 | |
| craigkerstiens (~craigkers@204.14.152.118) joined #pypy. | 23:55 | |
| --- Fri Dec 2 2011 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!