| fijal | Alex_Gaynor: uh? | 00:01 |
|---|---|---|
| fijal | Alex_Gaynor: why does VirtualArray.compute have jit.unroll_safe on it? | 00:01 |
| fijal | oh | 00:01 |
| fijal | mattip's inventions | 00:02 |
| bretthart (~bretthart@112.205.79.93) left irc: Read error: Connection reset by peer | 00:07 | |
| mikefc_ | what was numpy-is_contiguous supposed to do? check if the array mem was contiguous? | 00:08 |
| fijal | yeah | 00:21 |
| durin42 (~durin@adium/durin42) left irc: Ping timeout: 260 seconds | 00:23 | |
| nshepperd_ (~asdfg@121.91.189.190) joined #pypy. | 00:24 | |
| durin42 (~durin@173-15-14-174-Illinois.hfc.comcastbusiness.net) joined #pypy. | 00:25 | |
| durin42 (~durin@173-15-14-174-Illinois.hfc.comcastbusiness.net) left irc: Changing host | 00:25 | |
| durin42 (~durin@adium/durin42) joined #pypy. | 00:25 | |
| nshepperd (~asdfg@119.12.146.160) left irc: Ping timeout: 255 seconds | 00:26 | |
| kenaan | 12hager ppc-jit-backend 1165654d65854a 15/pypy/jit/backend/ppc/ppcgen/: Use get_scratch_reg to obtain an additional scratch register in prepare_(set/get)arrayitem_gc | 00:27 |
| jimbaker (jbaker@canonical/jimbaker) left irc: Ping timeout: 260 seconds | 00:28 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Ping timeout: 252 seconds | 00:30 | |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy. | 00:32 | |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 00:40 | |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 00:40 | |
| voidspace (~anonymous@python/psf/voidspace) joined #pypy. | 00:40 | |
| mikefc_ | fijal: gone to bed yet? | 00:42 |
| Rhyolite | I think he's trying to stay awake | 00:42 |
| fijal | mikefc_: nope | 00:43 |
| mikefc_ | sokay. I was trying to work out the difference between lib_pypy/pypy_test/ and pypy/module/lib_pypy_test. But I have it figured out. | 00:44 |
| stakkars_ (~tismer@p5DDB7A14.dip.t-dialin.net) joined #pypy. | 00:48 | |
| mikefc_ | whatever happened to perl6 and parrot | 00:51 |
| fijal | mikefc_: why such random question? | 00:51 |
| fijal | I'm sure wikipedia knows better than people here | 00:52 |
| mikefc_ | just wondering out loud :) | 00:52 |
| mikefc_ | i am on wikipedia etc. It just seems so vague and um.. unused | 00:52 |
| fijal | it's resting I believe | 00:52 |
| mikefc_ | seems very much like it. | 00:53 |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving | 00:54 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 00:54 | |
| mikefc_ | parrot supports python but I can't see an example | 00:54 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 00:54 | |
| mikefc_ | oh. 'pynie' | 00:55 |
| papercrane (~papercran@75.101.111.82) joined #pypy. | 00:56 | |
| papercrane | How can I keep (for perusal) the C code that the pypy translator generates? I can generate pypy-c but I'd also like to have the source. | 00:57 |
| papercrane | I've been searching around but haven't found a clear answer anywhere. | 00:58 |
| timotimo | it can be found in /tmp/usession-yourname-default/test/ or something similar | 00:58 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Client Quit | 00:59 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 00:59 | |
| fijal | mikefc_: not so much | 01:00 |
| fijal | papercrane: why do you want to keep it btw? | 01:00 |
| fijal | there is a script for keeping it ;-) | 01:00 |
| papercrane | fijal: what script? I actually just want to look at how it's translating a certain internal bit so I can try to port another c library to compile and work with pypy | 01:01 |
| fijal | wait wait | 01:02 |
| fijal | can you explain slowly and in detail what are you trying to do and how? | 01:02 |
| papercrane | hehe | 01:03 |
| papercrane | specifically I'm trying to get gevent to work with pypy. I admit I'm kind of blundering around and don't know if my changes will work yet. | 01:03 |
| papercrane | Specifically right now I'm trying to find out what to replace this with: &PyClass_Type | 01:04 |
| papercrane | and I figured the c code for what PyClass_Check becomes would be a good place to look | 01:04 |
| papercrane | I know C and Python, but I'm a total newbie with the C API stuff | 01:05 |
| fijal | no no no | 01:06 |
| fijal | pypy has no C API | 01:06 |
| fijal | at all | 01:06 |
| papercrane | theeeeen&.why can I import a shared library with ctypes and access its functions? | 01:07 |
| papercrane | I have, for instance, installed pyev (which is compiled) and it appears to load just fine&. | 01:07 |
| papercrane | what I meant by C API is that I know very little about low-level python internals and the way that C is written for extensions and such | 01:08 |
| papercrane | let me know if I'm totally off my rocker&.but from what I've been seeing playing with pypy this seems possible | 01:08 |
| rekamso | papercrane: you *might* be better off just "cloning" the gevent API | 01:10 |
| rekamso | at least, I had good results hacking up a libevent version of it to NOT use libevent and instead use Python's event IO | 01:10 |
| rekamso | (good results = I was able to run a few apps on PyPy that relied on gevent) | 01:11 |
| papercrane | Well&.I've tried converting its compiled code into normal python (it's mostly cython) but I ended up with a segfault :-/ | 01:11 |
| fijal | papercrane: pypy emulates cpython C API | 01:11 |
| fijal | not very well though, I would not rely on that | 01:11 |
| fijal | papercrane: was it pure python? | 01:12 |
| fijal | python should not segfault | 01:12 |
| rekamso | gevent is lots of cython | 01:12 |
| papercrane | basically I'm just playing around with gevent to see if I can make it work in pypy for fun | 01:12 |
| papercrane | fijal: the gevent code was, but it was relying on libev, which was imported via ctypes | 01:12 |
| papercrane | rekamso: event IO? Is that similar to libevent/libev/etc? | 01:13 |
| rekamso | papercrane: libevent/libev/etc just provide a standard interface to a system's evented IO support; poll, epoll, kqueue, etc | 01:14 |
| fijal | papercrane: any reason why do you use libev? | 01:14 |
| fijal | I would drop it | 01:14 |
| rekamso | <http://docs.python.org/library/select.html> has everything you need to write libevent/libev in Python | 01:15 |
| papercrane | rekamso: Well, yeah, I know they all sit on top of it. Mostly I'm trying to port with minimal changes to see if I could contribute something useful back. | 01:15 |
| nshepperd_ (~asdfg@121.91.189.190) left irc: Ping timeout: 240 seconds | 01:15 | |
| papercrane | fijal: because that's what gevent trunk uses | 01:15 |
| rekamso | papercrane: is gevent trunk using libev? | 01:15 |
| rekamso | heh :) | 01:15 |
| papercrane | yep | 01:15 |
| rekamso | ah, and it's still using cython where it should probably be using ctypes :( | 01:16 |
| papercrane | yeah | 01:16 |
| timotimo | papercrane: what you mean with "importing a shared library with ctypes" is very different from what one calls "the c api" | 01:16 |
| timotimo | "the c api" mostly refers to the CPython extension API, which has functions like PyString_SomethingSomething and structs like PyObject or so | 01:17 |
| timotimo | and also the incrementation and decrementation of reference counts | 01:17 |
| papercrane | timotimo: understood, I realized my wording wasn't quite right&.however, it seems that what I'm trying to port *is* using the C API, so.... | 01:17 |
| timotimo | OK | 01:17 |
| rekamso | papercrane: for what it's woth, eventlet "just works" on PyPy; so you might try to borrow some of their code, it's not very different from gevent | 01:17 |
| papercrane | basically gevent is doing its own version of pyev internally and, honestly, I got really lost trying to trace through the multiple levels of callbacks in the python, greenlet, gevent, and libev code | 01:18 |
| papercrane | rekamso: yeah, I've heard that from multiple other people too ;-) | 01:18 |
| rekamso | (their DNS solution is different, but other than that it's incredibly similar) | 01:20 |
| papercrane | actually, I've gotten gevent core to build and import, the current problem is in the ares code (which is the new DNS solution). It can build without it. | 01:21 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 01:26 | |
| papercrane | :-{ AssertionError: Invalid switch into Greenlet.join(): (). On to the next idea. | 01:27 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/201 | 01:28 |
| nshepperd_ (~asdfg@119.12.146.160) joined #pypy. | 01:30 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/29 | 01:31 |
| fijal | uh | 01:33 |
| fijal | pfff :/ | 01:33 |
| fijal | Alex_Gaynor: ok, so axes are a bit harder than I though :) | 01:34 |
| fijal | thought | 01:34 |
| nshepperd_ (~asdfg@119.12.146.160) left irc: Quit: WeeChat 0.3.6 | 01:36 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/773 | 01:49 |
| Alex_Gaynor | fijal: FWIW I wouldn't worry about having the result of it be lazy | 01:53 |
| rekamso (~textual@216.190.27.14) left irc: Quit: zzz | 01:57 | |
| voidspace (~anonymous@python/psf/voidspace) left irc: Quit: voidspace | 01:57 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1922 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/675 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/325 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/673 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1192 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/335 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/856 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1509 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/786 | 02:00 |
| ivan (~ivan@unaffiliated/ivan/x-000001) left irc: Read error: Operation timed out | 02:02 | |
| ivan` (~ivan@unaffiliated/ivan/x-000001) left irc: Read error: Operation timed out | 02:02 | |
| mikefc_ | http://python-for-humans.heroku.com/#17 | 02:04 |
| mikefc_ | (then press space) | 02:04 |
| gutworth | yes, that might be making an appearance in my pycon talk :) | 02:04 |
| Nick change: oakdog8 -> Guest27617 | 02:05 | |
| ivan (~ivan@unaffiliated/ivan/x-000001) joined #pypy. | 02:07 | |
| ivan` (~ivan@unaffiliated/ivan/x-000001) joined #pypy. | 02:07 | |
| DanielHolth (~dholth@2001:470:8:e7c:224:8cff:fe26:8c67) left irc: Ping timeout: 260 seconds | 02:09 | |
| mikefc_ | http://python-for-humans.heroku.com/#49 "Subprocess - second worst api ever". I am so glad I'm not the only one who thought that. I used to think I was dumb :( (coming from perl where you just used backticks!) | 02:10 |
| Turicas (~alvaro@mail.justen.eng.br) left irc: Remote host closed the connection | 02:19 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection | 02:42 | |
| exarkun | mikefc_: Guess what | 02:52 |
| exarkun | mikefc_: perl backtick style subprocesses are the first worst api ever | 02:52 |
| etrepum (~bob@accessnat4.mochimedia.net) left irc: Read error: Operation timed out | 02:54 | |
| mikefc_ | exarkun: oh yeah - it's a terrible API. but so is all of perl :) It was just much much easier to use than subprocess. | 02:58 |
| mikefc_ | i expected a os.run("cowsay 'hello'") in python and could never find one. | 02:59 |
| mikefc_ | which captures output | 02:59 |
| mikefc_ | and returns it sanely | 02:59 |
| exarkun | twisted.internet.utils.getProcessOutput :) | 03:00 |
| Shanita (~John@osbk-4db147f6.pool.mediaWays.net) joined #pypy. | 03:03 | |
| Kaskuka (~John@osbk-4db149a4.pool.mediaWays.net) left irc: Ping timeout: 240 seconds | 03:03 | |
| iko (iko@eskarina.iko.pp.se) left irc: Ping timeout: 252 seconds | 03:04 | |
| gutworth | is that thing public api? | 03:04 |
| iko (iko@eskarina.iko.pp.se) joined #pypy. | 03:04 | |
| horieyui (~horieyui@113.106.212.37) joined #pypy. | 03:05 | |
| icrazyhack (~horieyui@114.119.1.1) left irc: Ping timeout: 252 seconds | 03:06 | |
| papercrane (~papercran@75.101.111.82) left irc: Ping timeout: 268 seconds | 03:07 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/1010 | 03:10 |
| dracman (~draco@212.255.32.178) left irc: Ping timeout: 252 seconds | 03:19 | |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 03:24 | |
| dracman (~draco@212.255.35.111) joined #pypy. | 03:25 | |
| zain (~textual@66.175.91.194) joined #pypy. | 03:25 | |
| nettok (~quassel@190.148.241.226) joined #pypy. | 03:32 | |
| Arach | Guys, why do you build pypy with -O3 and -fomit-frame-pointer by default? There should be a way to tweak the compiler flags without patching the code, imho. | 03:41 |
| mikefc_ | Arach: you would like to tweak the compiler flags? | 03:46 |
| Arach | mikefc, sure, and I do, mostly to prevent likely problems with -O3 I had before with gcc many times, in different cases. | 03:47 |
| mikefc_ | I take it pypy has them hardcoded somewhere, and you would like them as a config option? | 03:50 |
| Arach | mikefc, yes. | 03:51 |
| mikefc_ | want to propose a patch to bugs.pypy.org? | 03:52 |
| mikefc_ | i believe there are good reasons for being -O3, but I don't know what they are. you'd need to talk with people who are currently asleep. | 03:52 |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy. | 03:53 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host | 03:53 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 03:53 | |
| Arach | mikefc, I see. Yes, I'll propose some patch. | 03:54 |
| papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) joined #pypy. | 04:03 | |
| anish_ (anish@nat/redhat/x-dplnihsfngnzjack) joined #pypy. | 04:09 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1922 | 04:10 |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy. | 04:15 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Client Quit | 04:19 | |
| zain (~textual@66.175.91.194) left irc: Quit: Computer has gone to sleep. | 04:21 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy. | 04:23 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds | 04:26 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1509 | 05:12 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/856 | 05:15 |
| nettok (~quassel@190.148.241.226) left irc: Remote host closed the connection | 05:21 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/673 | 05:23 |
| aleksi (~aleksi@85.235.191.82) joined #pypy. | 05:24 | |
| fijal | Arach: you don't want to tweak those flags | 05:37 |
| fijal | Arach: they're necessary for the default JIT options to work | 05:37 |
| Arach | fijal, why? | 05:37 |
| fijal | -O3 works just fine btw | 05:37 |
| fijal | also, if you feel really adventurour we respect CFLAGS env variable | 05:38 |
| fijal | Arach: we postprocess assembler produced by gcc to find stack roots | 05:39 |
| fijal | it only work with certain gcc options | 05:39 |
| fijal | if you don't want to do that and play with GCC options, for whatever reasons, you need to specify --gcrootfinder=shadowstack | 05:39 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/675 | 05:39 |
| kvda (~kvda@124-169-134-221.dyn.iinet.net.au) joined #pypy. | 05:39 | |
| fijal | Arach: also I must warn you those are not arbitrary gcc flags | 05:40 |
| fijal | those are carefuly chosen ones | 05:41 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1192 | 05:41 |
| Arach | fijal, but O3 is compiler-dependent set of options including ones that weren't reliably tested. Didn't you ever experience build/test failures because of compiler version switch? | 05:42 |
| fijal | Arach: -O4 is that | 05:42 |
| fijal | -O3 is not | 05:42 |
| fijal | and no, never experienced a single problem | 05:43 |
| fijal | at least not for C | 05:43 |
| fijal | maybe C++ is worse | 05:43 |
| fijal | in fact, gcc is the one project we never found bugs in | 05:43 |
| fijal | unlike pretty much everything else we used | 05:43 |
| fijal | but we generate pretty regular C on the other hand | 05:43 |
| Alex_Gaynor | fijal: uh, no we've had GCC bugs | 05:44 |
| Alex_Gaynor | fijal: there was one in 4.2 that made memory explode | 05:44 |
| fijal | yes ok | 05:44 |
| Alex_Gaynor | fijal: there's the optimization for labels one | 05:44 |
| fijal | maybe one | 05:44 |
| fijal | it's not a "bug" really | 05:45 |
| fijal | it's a missing optimization | 05:45 |
| Alex_Gaynor | missed optimization, bug same thing | 05:45 |
| fijal | :) | 05:45 |
| fijal | anyway, I should really sleep | 05:45 |
| fijal | went on a surfing mission at 4 am | 05:45 |
| Alex_Gaynor | nice | 05:45 |
| fijal | Alex_Gaynor: I understood why it's hard to do nice axis :) | 05:48 |
| fijal | at least | 05:48 |
| fijal | I'll finish tomorrow/today | 05:48 |
| Alex_Gaynor | cool | 05:49 |
| Alex_Gaynor | I'll make progress on tracebin client | 05:49 |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Ping timeout: 240 seconds | 05:54 | |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) joined #pypy. | 05:54 | |
| mattip | fijal: can you push the binfun and the nextvalue into the iter.next() | 05:55 |
| mattip | getting rid of an if statement on each tight iteration? | 05:55 |
| Action: mattip hoping he is in bed and not slleeping on his keyboard | 06:03 | |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Quit: Page closed | 06:04 | |
| htoothrot (~mux@unaffiliated/htoothrot) left irc: Ping timeout: 240 seconds | 06:09 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy. | 06:10 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host | 06:10 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 06:10 | |
| htoothrot (~mux@unaffiliated/htoothrot) joined #pypy. | 06:16 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Ping timeout: 240 seconds | 06:29 | |
| mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) left irc: Quit: This computer has gone to sleep | 06:32 | |
| Arach | fijal, GCC docs and google says there's no -O4. Though good to know you hadn't problems with -O3. Guess I'll keep changing it to -O2 and verify whether CFLAGS are indeed honored (not sure, as I've -O2 in mine but saw -O3 all the time during pypy builds). | 06:33 |
| zain (~textual@66.175.91.194) joined #pypy. | 06:36 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy. | 06:36 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host | 06:36 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 06:36 | |
| Arach | http://dpaste.com/686418/ - O3 and O4 are the same, as expected. | 06:38 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/786 | 06:39 |
| gehho2 (~gehho2@ZJ040192.ppp.dion.ne.jp) joined #pypy. | 06:40 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Ping timeout: 248 seconds | 06:51 | |
| mat^2 (~mathias@212.130.113.35) left irc: Ping timeout: 268 seconds | 06:53 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy. | 06:56 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host | 06:56 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 06:56 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Quit: To the analog world! | 07:04 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 07:05 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/335 | 07:12 |
| stakkars_ (~tismer@p5DDB7A14.dip.t-dialin.net) left irc: Quit: schnarch | 07:19 | |
| craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) joined #pypy. | 07:20 | |
| zain (~textual@66.175.91.194) left irc: Quit: Computer has gone to sleep. | 07:29 | |
| htoothrot (~mux@unaffiliated/htoothrot) left irc: Ping timeout: 240 seconds | 07:31 | |
| mvt (~mvantelli@87.213.45.85) joined #pypy. | 07:36 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/325 | 07:39 |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds | 07:44 | |
| zain (~textual@66.175.91.194) joined #pypy. | 07:46 | |
| lambacck (~chris@d24-150-124-118.home.cgocable.net) left irc: Ping timeout: 252 seconds | 07:50 | |
| mikefc_ (9665bcc5@gateway/web/freenode/ip.150.101.188.197) left irc: Quit: Page closed | 07:53 | |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 08:00 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 08:01 | |
| Guest89149 (~sa@mail.heartinternet.co.uk) left irc: Quit: Leaving. | 08:02 | |
| zain (~textual@66.175.91.194) left irc: Quit: Computer has gone to sleep. | 08:08 | |
| whyking (~quassel@p5B3DC9AC.dip.t-dialin.net) joined #pypy. | 08:10 | |
| dmitrey (~quassel@77.121.195.200) joined #pypy. | 08:11 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 08:16 | |
| dmitrey (~quassel@77.121.195.200) left irc: Remote host closed the connection | 08:19 | |
| jimbaker (jbaker@canonical/jimbaker) joined #pypy. | 08:19 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Quit: Leaving | 08:20 | |
| bivab (~david@134.99.38.190) joined #pypy. | 08:25 | |
| Garen (garen@69.76.18.3) left irc: Read error: Connection reset by peer | 08:27 | |
| Garen (garen@69.76.18.3) joined #pypy. | 08:27 | |
| dmitrey (~quassel@77.121.195.200) joined #pypy. | 08:28 | |
| papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep. | 08:47 | |
| dmitrey | hi all, | 08:51 |
| dmitrey | I would like to make some propositions wrt NumPy port development | 08:51 |
| dmitrey | * it would be nice to have a build and/or install parameter to available usage of numpypy as numpy, e.g. "setup.py build --numpypy_as_numpy". I know it can be done via some tricks, but explicit parameter would be better, especially for unexperienced users. | 08:51 |
| dmitrey | * many soft packages have some basic functionality without full numpy port, but due to importing issues they cannot yield even it. For example: | 08:51 |
| dmitrey | from numpy import some_func, a_rare_func_unimplemented_in_pypy_yet | 08:51 |
| dmitrey | ... | 08:51 |
| dmitrey | if user_want_this: | 08:51 |
| dmitrey | some_func() | 08:51 |
| dmitrey | elif user_want_some_rare_possibility: | 08:51 |
| dmitrey | a_rare_func_unimplemented_in_pypy_yet() | 08:51 |
| dmitrey | It would be nice to have possibility to install PyPy NumPy port with all unimplemented yet functions as stubs, e.g. | 08:51 |
| dmitrey | def flipud(*args,**kw): | 08:51 |
| dmitrey | raise numpy_absent_exception('flipud is unimplemented yet') | 08:51 |
| dmitrey | (and similar stubs for ndarray and matrix methods) | 08:51 |
| dmitrey | * last but not least. I'm author and developer of openopt suite (openopt.org with ~ 200 visitors daily, that is about 10% of scipy.org) and of course both openopt and PyPy will essentially increase their users when openopt will be capable of running with PyPy; yet I see some weeks or months till this still remain. I would be glad to make some contributions toward this, but my current financial situation cannot allow me to work for free. If at least basic | 08:51 |
| dmitrey | financial support could be obtained, I guess I could port some missing numpy functions / array methods, maybe futhermore some functions from scipy.optimize or scipy.sparse. My CV and contacts here: http://openopt.org/Dmitrey . | 08:51 |
| dmitrey | Regards, D. | 08:51 |
| fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) left irc: Ping timeout: 240 seconds | 08:51 | |
| Arfrever (~Arfrever@apache/committer/Arfrever) left irc: Quit: Ex+re | 08:59 | |
| squiddy (~squiddy@g224196144.adsl.alicedsl.de) joined #pypy. | 09:09 | |
| Fluxid | dmitrey: why did you send this to IRC instead of mailing lists? | 09:12 |
| dmitrey | I suppose IRC is more progressive communication tool than mail lists | 09:13 |
| dmitrey | Yet I'm not familiar enough with this one. Does color highline mean this message is visible for me only? | 09:14 |
| antocuni (~antocuni@host157-123-dynamic.2-87-r.retail.telecomitalia.it) joined #pypy. | 09:14 | |
| antocuni | hi | 09:14 |
| dmitrey | Fluxid, do you recommend me to send it to mail list instead? | 09:19 |
| arigato (~arigo@adsl-89-217-33-163.adslplus.ch) joined #pypy. | 09:21 | |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 09:21 | |
| witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy. | 09:22 | |
| htoothrot (~mux@unaffiliated/htoothrot) joined #pypy. | 09:22 | |
| whyking (~quassel@p5B3DC9AC.dip.t-dialin.net) left irc: Ping timeout: 240 seconds | 09:24 | |
| Fluxid | dmitrey: yes | 09:29 |
| witulski1 (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 09:32 | |
| witulski1 (~stupsi@fwstups.cs.uni-duesseldorf.de) left irc: Client Quit | 09:33 | |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 09:33 | |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) left irc: Client Quit | 09:34 | |
| witulski1 (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 09:34 | |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 09:34 | |
| witulski1 (~stupsi@fwstups.cs.uni-duesseldorf.de) left irc: Read error: Connection reset by peer | 09:34 | |
| htoothrot (~mux@unaffiliated/htoothrot) left irc: Ping timeout: 240 seconds | 09:35 | |
| htoothrot (~mux@unaffiliated/htoothrot) joined #pypy. | 09:43 | |
| arigato | hi | 09:48 |
| G2P (~G2P@fw-asn1.ornis.com) joined #pypy. | 09:50 | |
| timotimo | dmitrey: color highlighting (usually referred to as just "highlighting") just means, that your name appeared in the line and was meant to grab your attention. everyone sees it. messages to you only will usually be separated from the other messages in another tab or something | 09:50 |
| arigato | dmitrey: also, IRC only works if you first have the attention of whoever you want to talk to. if nobody is around, then a mail is better | 09:54 |
| timotimo | that's true - not every irc channel is publically logged, so if you're not on-line at the very moment someone says something, you'll likely miss it | 09:55 |
| arigato | (although #pypy is logged) | 09:56 |
| timotimo | yes, see also the topic message for the URL | 09:56 |
| amaury_ (amaury_@nat/google/x-hsujgcmajkxolaho) joined #pypy. | 09:57 | |
| tumbleweed | people don't read everything they missed on IRC, though. And people tend to at least skim mailing list subjects | 09:57 |
| timotimo | that's true as well | 09:57 |
| Action: arigato got an interesting variant of spam: "I found your webpage https://bitbucket.org and blah blah" | 09:57 | |
| dmitrey | thanks for the explanations. I've sent it to mail list | 09:59 |
| htoothrot (~mux@unaffiliated/htoothrot) left irc: Ping timeout: 240 seconds | 09:59 | |
| timotimo | hehe, didn't know you own bitbucket, that's really cool! | 09:59 |
| timotimo | are you going to migrate the web service to pypy? ;) | 09:59 |
| bivab (~david@134.99.38.190) left irc: Ping timeout: 240 seconds | 09:59 | |
| arigato | :-) | 10:00 |
| anish_ (anish@nat/redhat/x-dplnihsfngnzjack) left irc: Quit: Leaving | 10:03 | |
| htoothrot (~mux@unaffiliated/htoothrot) joined #pypy. | 10:04 | |
| timotimo | http://wiki.python.org/moin/TimeComplexity � would it be interesting to write a page on the pypy documentation tthat can be compared 1:1 to this one? or does pypy use mostly the same algorithms? | 10:06 |
| arigato | it's basically the same algorithms | 10:11 |
| arigato | plus tons of tweaks that don't change the amortised complexity | 10:11 |
| timotimo | mind if i quote you on that? | 10:12 |
| arigato | sure | 10:12 |
| Action: arigato tries to find one counter-example and fails | 10:12 | |
| arigato | ah, there are some with strings | 10:13 |
| timotimo | yay, i has did something helpful on the reddits! | 10:13 |
| arigato | the infamous hack in CPython to optimize "s += string" if the reference count of 's' is 1 | 10:13 |
| whyking (~quassel@p5B3DC9AC.dip.t-dialin.net) joined #pypy. | 10:13 | |
| arigato | we get a similar effect differently in pypy, so the exact cases where it's optimized or not are slightly different | 10:14 |
| dmitrey (~quassel@77.121.195.200) left irc: Remote host closed the connection | 10:16 | |
| timotimo | you're talking about the not-enabled-by-default strbuf or strjoin objspace tweaks? | 10:19 |
| lesshaste (~lesshaste@ikaris.cs.bris.ac.uk) joined #pypy. | 10:26 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 10:27 | |
| stakkars_ (~tismer@i59F710A2.versanet.de) joined #pypy. | 10:28 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 10:30 | |
| kennethreitz (~kennethre@173-13-176-158-sfba.hfc.comcastbusiness.net) joined #pypy. | 10:31 | |
| asmeurer (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) joined #pypy. | 10:32 | |
| lesshaste | hi | 10:33 |
| arigato | hum | 10:33 |
| arigato | timotimo: yes, argh, I forgot it's still not enabled by default | 10:33 |
| arigato | hi | 10:34 |
| timotimo | i should add that to the comments, then, along with some insightful text | 10:41 |
| sunoano (~sa@mail.heartinternet.co.uk) joined #pypy. | 10:42 | |
| sunoano (~sa@mail.heartinternet.co.uk) left irc: Changing host | 10:42 | |
| sunoano (~sa@unaffiliated/sunoano) joined #pypy. | 10:42 | |
| anish_ (anish@nat/redhat/x-njandsvoittfvdns) joined #pypy. | 10:49 | |
| cwillu (~cwillu@cwillu.com) left irc: Ping timeout: 240 seconds | 10:53 | |
| cwillu (~cwillu@cwillu.com) joined #pypy. | 10:54 | |
| lizardo (~lizardo@189.2.128.130) joined #pypy. | 10:57 | |
| k_bx (~k_bx@195.20.130.1) joined #pypy. | 10:57 | |
| k_bx (~k_bx@195.20.130.1) left irc: Remote host closed the connection | 10:57 | |
| k_bx (~k_bx@195.20.130.1) joined #pypy. | 10:58 | |
| voidspace (~voidspace@python/psf/voidspace) joined #pypy. | 10:58 | |
| k_bx (~k_bx@195.20.130.1) left irc: Remote host closed the connection | 10:59 | |
| lucian_ (NB8QM3MWVF@irc-2.usealice.org) left irc: Quit: alice. | 10:59 | |
| k_bx (~k_bx@195.20.130.1) joined #pypy. | 10:59 | |
| fijal | hi | 11:00 |
| arigato | hi | 11:01 |
| Nick change: ojii -> ojii|omnomnomnom | 11:02 | |
| fijal | arigato: is someone solicting his work on numpy on pypy-dev or am I missing something? | 11:04 |
| witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy. | 11:07 | |
| arigato | that's dmitrey, who was here earlier | 11:07 |
| fijal | ah ok | 11:07 |
| arigato | it doesn't really answer your question though | 11:08 |
| arigato | but look in the logs too | 11:08 |
| fijal | yes, /me does | 11:08 |
| fijal | arigato: I just walk up, went on a sunrise surf mission | 11:08 |
| arigato | :-) | 11:09 |
| fijal | so I might be not completely there ;-) | 11:10 |
| anish_ (anish@nat/redhat/x-njandsvoittfvdns) left irc: Ping timeout: 252 seconds | 11:11 | |
| fijal | arigato: have you seen a person earlier that complained about us using -O3 to compile C, because - | 11:14 |
| fijal | O3 is known to produce bogus results? | 11:14 |
| fijal | these romans are crazy | 11:14 |
| amaury_ (amaury_@nat/google/x-hsujgcmajkxolaho) left irc: Read error: Operation timed out | 11:15 | |
| arigato | :-/ | 11:16 |
| kenaan | 12arigo concurrent-marksweep 112ae56d12bba9 15/pypy/rpython/memory/gc/concurrentgen.py: Weakrefs. | 11:17 |
| timotimo | oooh, you're continuing that branch! | 11:18 |
| arigato | yes :-) | 11:18 |
| arigato | slowly | 11:18 |
| fijal | arigato: ok, so logs are the exact copy of the mailing list post | 11:18 |
| arigato | yes, I guessed so :-( | 11:18 |
| fijal | arigato: do you know pypy-issues admin password? | 11:20 |
| fijal | I get a notifier daily about something waiting in the queue | 11:20 |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 11:33 | |
| stakkars__ (~tismer@i59F74E7B.versanet.de) joined #pypy. | 11:34 | |
| voidspace (~voidspace@python/psf/voidspace) left irc: Ping timeout: 240 seconds | 11:34 | |
| voidspace (~anonymous@python/psf/voidspace) joined #pypy. | 11:36 | |
| stakkars_ (~tismer@i59F710A2.versanet.de) left irc: Ping timeout: 276 seconds | 11:36 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 11:37 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 11:38 | |
| fijal | arigato: do you have any idea what to reply to him? | 11:44 |
| fijal | other than we're not especially swamped in money | 11:45 |
| fijal | ah I've been to openopt website | 11:56 |
| jimbaker (jbaker@canonical/jimbaker) left irc: Ping timeout: 252 seconds | 12:07 | |
| Nick change: ojii|omnomnomnom -> ojii | 12:12 | |
| mikefc | dmitrey's website is a tad stuck in the 90s | 12:19 |
| mikefc | "my current financial situation cannot allow me to work for free. If at least basic financial support could be obtained, I guess I could port some missing numpy functions" - dmitrey | 12:20 |
| kvda (~kvda@124-169-134-221.dyn.iinet.net.au) left irc: Quit: x___x | 12:20 | |
| fijal | mikefc: I love the building :) | 12:21 |
| mikefc | tell him he's welcome to help with code in his spare time like most of us :) | 12:21 |
| Action: mikefc did all his coding (for today) during breakfast. At work. While running other stuff. | 12:22 | |
| mikefc | although 'coding' might be too strong a term for what i accomplished | 12:22 |
| mikefc | at least i sort of understand where the tests go now. | 12:23 |
| mikefc | i do like his idea for a swtich to make numpypy => numpy. | 12:24 |
| fijal | mikefc: I think all numpy contributions so far were done on volunteer time | 12:24 |
| mikefc | mainly you and alex and ? | 12:24 |
| Action: mikefc looks at a log | 12:25 | |
| fijal | mikefc: mattip and justinpeel | 12:25 |
| fijal | mikefc: although note that a junior researcher in ukraine would earn probably something like $200 per month or so | 12:26 |
| fijal | so while I sympatize with him, I doubt we can help | 12:27 |
| fijal | mikefc: alex is getting uni credit though | 12:27 |
| mher (~Adium@tethras5.ucd.ie) joined #pypy. | 12:27 | |
| fijal | and I'm officially selected as the person doing work on the numpy funding | 12:28 |
| fijal | if/when it works out | 12:28 |
| kennethreitz (~kennethre@173-13-176-158-sfba.hfc.comcastbusiness.net) left irc: Quit: Computer has gone to sleep. | 12:28 | |
| mikefc | kennethreitz was here? | 12:28 |
| Action: arigato mumbles something along the lines of "import numpypy doesn't make sense, revert to import numpy at some point soon" | 12:29 | |
| setmeaway (~setmeaway@119.201.52.190) left irc: Quit: Leaving | 12:29 | |
| antocuni | fijal: congrats :-) | 12:29 |
| fijal | antocuni: on what? | 12:34 |
| antocuni | for having being selected to do numpy work | 12:34 |
| antocuni | what a surprise :-) | 12:34 |
| Action: arigato looks at the logs produced by http://paste.pocoo.org/show/533745/ and doesn't really understand them | 12:35 | |
| fijal | arigato: yes "when we're done" | 12:35 |
| fijal | arigato: did you read my comment? | 12:35 |
| arigato | fijal: when what is done? | 12:35 |
| fijal | on the http://paste.pocoo.org/show/533745/ on the issue tracker | 12:35 |
| fijal | arigato: ah sorry, never mind I misread | 12:36 |
| fijal | I said we might want to rename numpypy back to numpy when it's done | 12:36 |
| arigato | ah | 12:37 |
| arigato | it keeps getting "compile_new_loop: got an InvalidLoop. cancelled, tracing more..." | 12:38 |
| arigato | so, two questions | 12:38 |
| arigato | 1. why does it get InvalidLoop? | 12:38 |
| arigato | 2. shouldn't we do something like limit the number of times we trace more? | 12:38 |
| fijal | re 2: yes | 12:39 |
| fijal | we have the same issue with trace too long | 12:39 |
| fijal | trace_too_long -> trace from start -> trace_too_long -> trace_from_start | 12:39 |
| fijal | the latter can be probably | 12:40 |
| fijal | trace_too_long -> trace from start -> trace_too_long -> trace from start with inlining off -> trace too long -> don't trace | 12:40 |
| fijal | or so | 12:40 |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 12:44 | |
| horieyui (~horieyui@113.106.212.37) left irc: Quit: http://www.cnblogs.com/crazyhack | 12:47 | |
| voidspace_ (~voidspace@python/psf/voidspace) joined #pypy. | 12:58 | |
| kenaan | 12arigo concurrent-marksweep 11142b814bf182 15/: hg merge default | 13:09 |
| legogris (~legogris@c80-217-207-157.bredband.comhem.se) left irc: Ping timeout: 252 seconds | 13:10 | |
| legogris (~legogris@c80-217-207-157.bredband.comhem.se) joined #pypy. | 13:12 | |
| arigato (~arigo@adsl-89-217-33-163.adslplus.ch) left irc: Ping timeout: 252 seconds | 13:16 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Ping timeout: 252 seconds | 13:18 | |
| kenaan | 12fijal numpypy-axisops 11d15dcd1e48b1 15/pypy/module/micronumpy/: in-progress. Now I understand what's exactly missing from making it nicely work with lazy evaluation. break... | 13:19 |
| kenaan | 12antocuni ffistruct 110429f19a7321 15/pypy/module/_ffi/test/test_type_converter.py: test conversion to unsigned long | 13:28 |
| kenaan | 12antocuni ffistruct 11b85af534959c 15/pypy/module/_ffi/test/test_type_converter.py: add test for chars and unichars | 13:28 |
| kenaan | 12antocuni ffistruct 11ff33c5e7f4a9 15/pypy/module/_ffi/test/test_type_converter.py: add tests for floats and doubles | 13:28 |
| kenaan | 12antocuni ffistruct 11000bd7710f81 15/pypy/module/_ffi/test/test_type_converter.py: add a test to convert signed long longs | 13:28 |
| kenaan | 12antocuni ffistruct 112a9dd9835199 15/pypy/module/_ffi/test/test_type_converter.py: add a test for converting unsigned long longs | 13:28 |
| kenaan | 12antocuni ffistruct 11c574cd6ef30c 15/pypy/module/_ffi/type_converter.py: this code belongs to the subclass of type_converter, kill it | 13:28 |
| kenaan | 12antocuni ffistruct 11fba591df5224 15/pypy/module/_ffi/type_converter.py: fix two NameErrors | 13:28 |
| kenaan | 12antocuni ffistruct 1136e31f50363c 15/pypy/module/_ffi/type_converter.py: fix for the case in which we return a ulonglong on 64 bit | 13:28 |
| kenaan | 12antocuni ffistruct 11e207f97ec151 15/pypy/module/_ffi/interp_struct.py: start to use ToAppLevel converter for getting the struct fields | 13:28 |
| kenaan | 12antocuni ffistruct 117a8280eed4bb 15/pypy/module/_ffi/interp_struct.py: migrate more cases to the GetFieldConverter | 13:28 |
| kenaan | 12antocuni ffistruct 1143112b2a9723 15/pypy/module/_ffi/interp_struct.py: migrate the char case to GetFieldConverter | 13:28 |
| kenaan | 12antocuni ffistruct 11260c4a371fea 15/pypy/module/_ffi/interp_struct.py: migrate the unichar case to GetFieldConverter | 13:28 |
| kenaan | 12antocuni ffistruct 111e4a336da3a3 15/pypy/module/_ffi/interp_struct.py: migrate the float and singlefloat cases to GetFieldConverter | 13:28 |
| kenaan | 12antocuni ffistruct 115cd049bf9f55 15/pypy/module/_ffi/: fully migrate the whole W__StructInstance.getfield to use GetFieldConverter | 13:28 |
| kenaan | 12antocuni ffistruct 119a7a19bfc660 15/pypy/module/_ffi/: use FromAppLevelConverter to handle the conversion for setfields | 13:28 |
| kenaan | 12antocuni ffistruct 11903365dd2b8f 15/pypy/module/_ffi/type_converter.py: use truncatedlonglong_w instead of manually converting to bigint and then call ulonglongmask | 13:30 |
| whyking (~quassel@p5B3DC9AC.dip.t-dialin.net) left irc: Ping timeout: 240 seconds | 13:36 | |
| jimbaker (jbaker@canonical/jimbaker) joined #pypy. | 13:40 | |
| fijal | antocuni: ping | 13:43 |
| antocuni | poing | 13:43 |
| fijal | I have ideas how to make ctypes faster | 13:43 |
| fijal | it's pretty bad right now - whatever you do, except having something very precise you end up with slowpaths | 13:44 |
| fijal | for example libc.sqrt(ctypes.c_float(3)) -> slow | 13:45 |
| fijal | the same with c_double, surprisingly enough | 13:45 |
| fijal | Alex_Gaynor: ping | 13:55 |
| jimbaker (jbaker@canonical/jimbaker) left irc: Ping timeout: 252 seconds | 13:57 | |
| antocuni | fijal: why is sqrt slow? | 14:02 |
| antocuni | because you pass a c_float? | 14:02 |
| fijal | yes | 14:02 |
| fijal | or c_double | 14:02 |
| fijal | it's >2x slower than cpython | 14:02 |
| antocuni | I think we can solve it by writing c_* at interp-level directly in the _ffi module | 14:02 |
| antocuni | this way, _ffi knows how to do the conversions, and take the fast path | 14:03 |
| fijal | that's fine by me | 14:03 |
| antocuni | do you have other ideas? | 14:04 |
| fijal | well, it's slightly more complex | 14:04 |
| fijal | it would be cool if calling stuff would create a fastpath for actually passed arguments | 14:04 |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) joined #pypy. | 14:04 | |
| antocuni | the hard part is that the number of arguments is variable | 14:05 |
| antocuni | so you need a loop at applevel | 14:05 |
| fijal | but you create the fast path in python anyway right? | 14:05 |
| fijal | or jit.unroll_safe | 14:05 |
| antocuni | yes, but your approach would require to exec() a different class for each number of arguments | 14:05 |
| antocuni | or to write it at interplevel and use unroll_safe | 14:06 |
| Nick change: Guest27617 -> oakdog8 | 14:06 | |
| fijal | I thought we have a compiled function per C-function no? | 14:08 |
| aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection | 14:08 | |
| antocuni | no | 14:08 |
| fijal | ok | 14:08 |
| antocuni | we have an applevel instance for each C function | 14:09 |
| antocuni | but the number of classes is small | 14:09 |
| fijal | ok | 14:09 |
| fijal | I don't see a particular problem with function-per-c-level-call | 14:09 |
| fijal | so you can store an auto-generated function per instance | 14:09 |
| fijal | which contains linear code | 14:10 |
| antocuni | yes, that would work | 14:10 |
| antocuni | however, it's overly complicated IMHO | 14:10 |
| fijal | ok | 14:10 |
| fijal | fine | 14:10 |
| fijal | feel free to find something simpler :) | 14:10 |
| fijal | I'm just saying that right now I fail at finding fast paths | 14:10 |
| fijal | it's difficult to use ctypes with full speed | 14:10 |
| antocuni | OTOH, making _ffi better and better has the advantage that people might use it directly instead of ctypes | 14:11 |
| fijal | yes | 14:11 |
| fijal | I'm fine with putting this on interp-level into _ffi | 14:12 |
| fijal | this makes sense IMO | 14:12 |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 14:12 | |
| fijal | because then you can store it efficiently as well | 14:12 |
| antocuni | right | 14:12 |
| fijal | I don't have a problem with moving more stuff from _ctypes to interp level, definitely :) | 14:12 |
| fijal | and if ctypes.c_double is a subclass of _ffi.double that adds the insanity | 14:12 |
| fijal | no issues from my side :) | 14:12 |
| jimbaker (~jbaker@canonical/jimbaker) joined #pypy. | 14:16 | |
| gtaylor (~gtaylor@68-115-251-182.static.gnvl.sc.charter.com) joined #pypy. | 14:18 | |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 14:30 | |
| kenaan | 12bivab arm-backend-2 1133e8a892e86f 15/pypy/jit/backend/arm/assembler.py: (stepahn, bivab): Fix decoding of guard description. Missed a cast before checking the bytecodes | 14:32 |
| kenaan | 12bivab arm-backend-2 117606d3ea9b4d 15/pypy/jit/backend/arm/test/test_runner.py: Import test from ppc backend | 14:32 |
| Rhy0lite (dje@nat/ibm/x-omgjjkauovgnvsqo) joined #pypy. | 14:42 | |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) left irc: Quit: Leaving. | 14:43 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 14:44 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds | 14:47 | |
| whitelynx|work (~whitelynx@63.241.75.144) joined #pypy. | 14:48 | |
| whyking (~quassel@p4FFB771E.dip.t-dialin.net) joined #pypy. | 14:48 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 14:59 | |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) joined #pypy. | 15:03 | |
| mattip | hi | 15:03 |
| mattip | Does anyone know what happened to math.round ? | 15:04 |
| k_bx (~k_bx@195.20.130.1) left irc: Ping timeout: 240 seconds | 15:04 | |
| ronny | mattip: there never was one, its a builtin? | 15:08 |
| mattip | pypy/module/math/interp_math.py has "import math" - where is that importing from? | 15:20 |
| mattip | where are the builtins built? :) | 15:21 |
| jimbaker (~jbaker@canonical/jimbaker) left irc: Ping timeout: 240 seconds | 15:26 | |
| fijal | mattip: pypy/rpython/module/ll_math I believe | 15:27 |
| mattip | thanks. I saw you committed to axisops. Getting closer? | 15:28 |
| fijal | sort of | 15:28 |
| fijal | refactoring stuff | 15:28 |
| fijal | mattip: slightly more complex than I thought | 15:29 |
| mattip | I didn't consider adding attributes to frame ( frame.value ). nice. That does simplify. | 15:32 |
| arigato (~arigo@adsl-89-217-33-163.adslplus.ch) joined #pypy. | 15:37 | |
| mattip | pypy/rpython/lltypesytsem/module/ll_math.py first line: import math | 15:39 |
| mattip | ? | 15:39 |
| fijal | yes | 15:39 |
| fijal | that's fine though | 15:39 |
| fijal | math module works in rpython | 15:39 |
| fijal | and this is *how* exactly it works | 15:39 |
| jimbaker (jbaker@canonical/jimbaker) joined #pypy. | 15:40 | |
| CIA-17 | 03cfbolz 07roundup * 10#999/rename virtualizable2 to virtualizable: [new] to make things slightly less confusing * 14https://bugs.pypy.org/issue999 | 15:43 |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Quit: Page closed | 15:44 | |
| kenaan | 12arigo default 11453df8a9c213 15/pypy/jit/tool/pypytrace.vim: Highlight the start and end of the sections. | 16:07 |
| kenaan | 12arigo default 11ddb13f0805a0 15/pypy/jit/metainterp/test/test_virtualstate.py: Some extra passing tests. | 16:07 |
| voidspace (~anonymous@python/psf/voidspace) left irc: Quit: voidspace | 16:09 | |
| Nick change: voidspace_ -> voidspace | 16:09 | |
| kenaan | 12cfbolz default 11769b1a02e211 15/pypy/rlib/jit.py: make docstring of elidable a bit more friendly | 16:13 |
| kenaan | 12cfbolz default 11080ab6106fc4 15/pypy/jit/: merge | 16:13 |
| kenaan | 12hager ppc-jit-backend 1131d52c590cbd 15/pypy/jit/backend/ppc/ppcgen/helper/assembler.py: (bivab, hager): do sign extension in decode32 | 16:16 |
| mvt (~mvantelli@87.213.45.85) left irc: Quit: This computer has gone to sleep | 16:17 | |
| craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) left irc: Quit: craigkerstiens | 16:18 | |
| fijal | arigato: still not convinced to jitviewer? :-/ | 16:21 |
| arigato | fijal: to view a huge log file looking for why all loops where ABORTed? | 16:22 |
| fijal | no :) | 16:22 |
| fijal | agreed | 16:22 |
| arigato | fijal: can you fix test_ztranslation? you broke it at f4129eca042d | 16:22 |
| arigato | and I'm trying to use it to know if I broke something else :-/ | 16:23 |
| fijal | yes, I can | 16:23 |
| arigato | thanks | 16:23 |
| icrazyhack (~horieyui@112.90.208.33) joined #pypy. | 16:24 | |
| fijal | arigato: like this? | 16:26 |
| kenaan | 12fijal default 1120ee6554e580 15/pypy/jit/metainterp/test/test_ztranslation.py: fix the test | 16:26 |
| arigato | thank you | 16:28 |
| kenaan | 12arigo default 11b09a9354d977 15/pypy/: TEMPORARY: put a limit (4 by default) on the number of "cancelled, tracing more" that can occur during one tracing.... | 16:29 |
| fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) joined #pypy. | 16:32 | |
| fijal (~fijal@196-215-5-11.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds | 16:33 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 16:33 | |
| fijal (~fijal@196-215-5-11.dynamic.isadsl.co.za) joined #pypy. | 16:34 | |
| fijal | meh :/ | 16:34 |
| fijal | arigato: found the cause of my shutdowns | 16:34 |
| fijal | Jan 12 18:29:15 helmut kernel: [81890.716216] Critical temperature reached (100 C), shutting down | 16:34 |
| arigato | ? :-) | 16:35 |
| arigato | argh | 16:35 |
| kenaan | 12hager ppc-jit-backend 110993530a85a0 15/pypy/jit/backend/ppc/ppcgen/: make sign extension more explicit | 16:36 |
| goodwill (~goodwill_@pdpc/supporter/active/goodwill) joined #pypy. | 16:36 | |
| goodwill (goodwill_@pdpc/supporter/active/goodwill) left #pypy ("In the five, five, five"). | 16:36 | |
| xorAxAx | fijal: x60/x61? | 16:37 |
| fijal | xorAxAx: x201s but yes | 16:38 |
| fijal | why? | 16:39 |
| xorAxAx | because my x61s became quite hot as well because the fan had been having problems every few months | 16:39 |
| fijal | what do you do with that? | 16:40 |
| fijal | I had to replace my fan once in my x60 | 16:40 |
| xorAxAx | you mean what i did, i let it replace and then i ignored it until i finally sold it | 16:40 |
| xorAxAx | s/replace/be &d/ | 16:40 |
| xorAxAx | so probably your fan/heat pipe needs a replacement as well | 16:41 |
| lambacck (~chris@d24-150-124-118.home.cgocable.net) joined #pypy. | 16:41 | |
| Rhy0lite | bivab: great progress! | 16:42 |
| bivab | Rhy0lite: Thanks, we had to fix some annoying bugs, but now the the tests are working again | 16:43 |
| Rhy0lite | I'm sort of surprised that the tests previously worked with these bugs | 16:43 |
| bivab | previously we did not have stack locations with a negative position | 16:44 |
| Rhy0lite | okay, and that affected decode32? | 16:45 |
| Rhy0lite | have you tried running the random testsuite? | 16:46 |
| bivab | yes, because we were encoded a 64 bit negative number using only 32 bit and when decoding it it was not sign extended | 16:46 |
| bivab | no, not yet | 16:46 |
| mfoord (~anonymous@python/psf/voidspace) joined #pypy. | 16:47 | |
| Rhy0lite | but really good to be back to all success with the runner tests | 16:47 |
| bivab | yes, that is nice and the code base is also more up to date | 16:49 |
| Rhy0lite | okay, found one bug :) | 16:53 |
| kenaan | 12edelsohn ppc-jit-backend 11d4f1f24ee998 15/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py: Set loc on STACK_LOC path of decode_inputargs. | 16:53 |
| kenaan | 12edelsohn ppc-jit-backend 11f104a6279600 15/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py: load_imm doesn't take a reg value. | 16:56 |
| Rhy0lite | two bugs | 16:56 |
| bivab | that was quick ;) | 16:56 |
| bivab | are you running the random tests? | 16:57 |
| Rhy0lite | yes | 16:57 |
| Rhy0lite | ah, the backend is missing setinteriorfield_gc | 16:58 |
| Rhy0lite | okay | 16:59 |
| Rhy0lite | that's looks pretty good | 16:59 |
| Rhy0lite | only hitting a small number of errors | 16:59 |
| Rhy0lite | _check_invariants assertion | 16:59 |
| Rhy0lite | and run_loop assertion | 16:59 |
| bivab | cool, random testing will surely expose several bugs | 16:59 |
| Rhy0lite | and the missing get/setinteriorfield | 16:59 |
| bivab | that is weird, because there is a test for it | 17:00 |
| Rhy0lite | oops? | 17:00 |
| Rhy0lite | :-) | 17:00 |
| bivab | maybe it has not yet been merged into the PPC branch | 17:00 |
| Rhy0lite | test_random seems to be cycling through a small number of errors | 17:01 |
| `fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy. | 17:01 | |
| Rhy0lite | which is good | 17:01 |
| bivab | from your description they mostly do not seem to be hard to fix issues | 17:02 |
| Action: Rhy0lite -> lunch | 17:02 | |
| Rhy0lite | bivab: right | 17:02 |
| jimbaker (jbaker@canonical/jimbaker) left irc: Ping timeout: 240 seconds | 17:07 | |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 17:09 | |
| fijal | Rhy0lite: test_ll_random only uses get/setinteriorfield | 17:09 |
| antocuni (~antocuni@host157-123-dynamic.2-87-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 17:14 | |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds | 17:17 | |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) left irc: Quit: bivab | 17:20 | |
| witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy. | 17:20 | |
| PiotrSikora (~none@nginx/adept/piotrsikora) left irc: Excess Flood | 17:20 | |
| G2P (~G2P@fw-asn1.ornis.com) left irc: Quit: Leaving. | 17:21 | |
| PiotrSikora (~none@nginx/adept/piotrsikora) joined #pypy. | 17:21 | |
| kenaan | 12l.diekmann set-strategies 1193d68d35cc81 15/pypy/objspace/std/: little changes to make the jit inline more stuff and optimize the trace | 17:23 |
| fijal | Alex_Gaynor: complain complain | 17:25 |
| jimbaker (jbaker@canonical/jimbaker) joined #pypy. | 17:27 | |
| kennethreitz (~kennethre@173-13-176-158-sfba.hfc.comcastbusiness.net) joined #pypy. | 17:27 | |
| Action: arigato writes a blog post | 17:29 | |
| fijal | arigato: about? | 17:29 |
| arigato | TM | 17:29 |
| kenaan | 12l.diekmann set-strategies 11a81b07b0d748 15/pypy/module/pypyjit/test_pypy_c/test_containers.py: added tests for optimized jit output with merged strategy implementations (lists, sets, strings) | 17:29 |
| kenaan | 12l.diekmann set-strategies 11a4bba3dd3493 15/pypy/objspace/std/: merge | 17:29 |
| arigato | some summary of the pypy-dev mails | 17:29 |
| Alex_Gaynor | fijal: pong :) | 17:29 |
| craigkerstiens (~craigkers@204.14.152.118) joined #pypy. | 17:30 | |
| fijal | arigato: STM-related? | 17:30 |
| arigato | yes, TM | 17:30 |
| fijal | Alex_Gaynor: jit.look_inside_iff does not preserve the function name | 17:30 |
| Alex_Gaynor | hmm | 17:30 |
| __name__ (~name@sburn/devel/name) left irc: Quit: ZNC - http://znc.sourceforge.net | 17:31 | |
| Action: fijal is busy not adding feature | 17:34 | |
| fijal | s | 17:34 |
| CIA-17 | 03dripton 07roundup * 10#996/sqlite3 CREATE TABLE always fails: (log message trimmed) | 17:36 |
| CIA-17 | [chatting] Confirmed with PyPy 1.7. | 17:36 |
| CIA-17 | If I change ':memory:' to '/tmp/foo.db', I still get the "table already exists" | 17:36 |
| CIA-17 | error. | 17:36 |
| CIA-17 | But then: * 14https://bugs.pypy.org/issue996 | 17:36 |
| fijal | Alex_Gaynor: I'm reorganizing broadcasting and virtual views so they can be described as transformations | 17:37 |
| Alex_Gaynor | fijal: neat | 17:38 |
| fijal | more precisely, (a + b)[::2] | 17:38 |
| fijal | can be described as a transformation over iterator of a + the same for b | 17:38 |
| Alex_Gaynor | fun | 17:39 |
| Action: Alex_Gaynor upgrades his text editor | 17:39 | |
| fijal | Alex_Gaynor: so say "sum over axis" can also be described that way | 17:40 |
| Alex_Gaynor | clever | 17:40 |
| fijal | sum(a + b, axis=0) | 17:40 |
| fijal | for example | 17:40 |
| fijal | same goes for say transpose | 17:40 |
| fijal | well, transpose is easier I guess | 17:40 |
| fijal | because you just swap strides | 17:40 |
| fijal | Alex_Gaynor: it's more code, but it's way cleaner (I think) | 17:41 |
| Alex_Gaynor | :) | 17:42 |
| fijal | because now for example you'll have a different signature if something is broadcasted | 17:42 |
| kenaan | 12fijal numpypy-axisops 118b23d6076d33 15/pypy/module/micronumpy/: progress on transformations | 17:42 |
| fijal | hm | 17:42 |
| fijal | do we need that? | 17:42 |
| fijal | ah yes | 17:42 |
| fijal | it fixes bugs with reusing iterators over broadcasted arrays :) | 17:42 |
| fijal | that were not there, but we would surely introduce them | 17:43 |
| kenaan | 12fijal numpypy-axisops 1103714deedfa4 15/pypy/module/micronumpy/: oops, fix a test, I'm glad I wrote it :) | 17:48 |
| Alex_Gaynor | fijal: for abort hook, there's no info about precisely where the abort occured, if you have inlined functions or whatever, is that possible? | 17:48 |
| Alex_Gaynor | not important at this exact second, just wondering | 17:48 |
| fijal | no | 17:49 |
| fijal | you only have where is started | 17:49 |
| fijal | you can call sys._getframe() though | 17:49 |
| rekamso (~textual@216.190.27.14) joined #pypy. | 17:53 | |
| Alex_Gaynor | fijal: oh, yeah that's good enough :) | 17:53 |
| Alex_Gaynor | fijal: btw, where do I get the hg version of hte pyyp? | 17:53 |
| fijal | sys.hg_info | 17:54 |
| fijal | or something | 17:54 |
| mattip (4fb67440@gateway/web/freenode/ip.79.182.116.64) joined #pypy. | 17:54 | |
| fox_ (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy. | 17:55 | |
| `fox` (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 17:55 | |
| fijal | Alex_Gaynor: do you feel like having a look at few previous checkins? | 17:56 |
| fijal | 2 | 17:56 |
| fijal | on numpyaxisops | 17:56 |
| fijal | and see whether you like the new layout | 17:56 |
| Alex_Gaynor | fijal: not ATM, working on tracebin-client | 17:56 |
| Alex_Gaynor | maybe in a little bit | 17:56 |
| fijal | ok | 17:56 |
| mattip | pypy has no math.round()? cpython has no math round(). It's weird I never noticed that before. | 17:58 |
| mher (~Adium@tethras5.ucd.ie) left irc: Quit: Leaving. | 18:00 | |
| Alex_Gaynor | fijal: working on tracebin-cleitn is tons of fun :) | 18:05 |
| Alex_Gaynor | next step is finding source code, I suspect I'll need to improve pypyjit hooks for this | 18:05 |
| Alex_Gaynor | fijal: ah, silly thing I need actually, the [p0, p1] thing for the entry | 18:06 |
| Alex_Gaynor | input args should be in the hook, somewhere | 18:07 |
| fijal | isn't it on looptoken.inputargs or so? | 18:07 |
| fijal | source code - you can find it from code objects | 18:07 |
| Alex_Gaynor | yes I think so, I'll expose it in python | 18:07 |
| fijal | but you actually want to do something with debug_merge_points | 18:07 |
| Alex_Gaynor | fijal: exactly, I can do that myself though | 18:08 |
| fijal | cool | 18:08 |
| kenaan | 12arigo extradoc 114d0db926ef79 15/blog/draft/tm.rst: Draft | 18:08 |
| fijal | arigato: want some reviews? | 18:09 |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 18:09 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Read error: Connection reset by peer | 18:09 | |
| arigato | fijal: yes please | 18:10 |
| arigato | (it's not finished) | 18:11 |
| arigato | (but yes) | 18:11 |
| fijal | ok | 18:11 |
| fijal | so now or in some time? | 18:11 |
| arigato | now is fine | 18:12 |
| arigato | it's just missing some conclusion | 18:12 |
| fijal | ok | 18:12 |
| lesshaste (~lesshaste@ikaris.cs.bris.ac.uk) left irc: Quit: Leaving | 18:13 | |
| fijal | arigato: also makes sense to point out to existing solutions (like erlang) maybe | 18:15 |
| fijal | and refer at least that the same model drives node.js and really any JS program using AJAX | 18:16 |
| fijal | also, twisted and stackless has one very crucial difference | 18:16 |
| fijal | this code | 18:16 |
| fijal | f() | 18:16 |
| fijal | will return either Deferred or a value in twisted | 18:16 |
| fijal | and you can reason about it | 18:16 |
| fijal | because you have to account for Deferred | 18:17 |
| fijal | in stackless the function can change context and you don't know it | 18:17 |
| aboudreault (~alanb@199.91.205.186) joined #pypy. | 18:17 | |
| aboudreault (~alanb@199.91.205.186) left irc: Changing host | 18:17 | |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 18:17 | |
| Alex_Gaynor | fijal: fun: tracebin-client is by definition 2.7 only so I can use whatever I like :) | 18:19 |
| fijal | yes :) | 18:19 |
| fijal | http://vimeo.com/34941680 | 18:19 |
| fijal | ^^^ really crazy waves | 18:19 |
| papercrane (~papercran@75.101.111.82) joined #pypy. | 18:21 | |
| rekamso (~textual@216.190.27.14) left irc: Ping timeout: 252 seconds | 18:33 | |
| fox_ (~fox@host130-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 248 seconds | 18:43 | |
| ericflo (~ericflo@75.103.8.110) joined #pypy. | 18:49 | |
| arigato | fijal: indeed, twisted and stackless are crucially different on some other points, | 19:03 |
| mattip (4fb67440@gateway/web/freenode/ip.79.182.116.64) left irc: Ping timeout: 258 seconds | 19:03 | |
| arigato | but I think they are not different on the point I make | 19:03 |
| arigato | my point is that you should be able to tweak both Twisted's event loops and Stackless's | 19:04 |
| arigato | to get TM benefits | 19:05 |
| arigato | without changing neither the Twisted model nor the Stackless model | 19:05 |
| rekamso (~textual@63-228-127-70.dia.static.qwest.net) joined #pypy. | 19:06 | |
| fijal | ok | 19:09 |
| fijal | how heavy are TM promises? | 19:10 |
| fijal | the state looks like I were doing some serial code? | 19:10 |
| fijal | I'm trying to understand at which point it breaks | 19:11 |
| fijal | http://paste.pocoo.org/show/533919/ | 19:13 |
| fijal | arigato: say in this example | 19:13 |
| DanKluev (~root@109-109-211-093-xdsl.vntc.ru) left irc: Ping timeout: 248 seconds | 19:16 | |
| arigato | fijal: what are you asking? how TM would work in this case? | 19:18 |
| thrain42 (~durin@adium/durin42) joined #pypy. | 19:19 | |
| durin42 (~durin@adium/durin42) left irc: Disconnected by services | 19:19 | |
| Nick change: thrain42 -> durin42 | 19:19 | |
| fijal | arigato: yes | 19:20 |
| fijal | if f and other_f are functions in a dispatch loop | 19:20 |
| fijal | would that work or potentially explode? | 19:20 |
| arigato | that would work | 19:20 |
| fijal | or am I missing something, like an explicit context switch? | 19:20 |
| arigato | in depends on details, but in the basic model "events in a dispatch loop" there are only "context switches" between events | 19:21 |
| fijal | ok | 19:21 |
| fijal | so the transaction would span basically from the start till the end of a single "task"? | 19:22 |
| arigato | yes | 19:22 |
| fijal | would that work with IO? | 19:22 |
| fijal | presumably every single task would do some network | 19:22 |
| arigato | in your example what is likely to occur is that f_other generates a conflict and prevent f from finishing | 19:22 |
| arigato | but even that is not necessarily true | 19:23 |
| fijal | ok | 19:23 |
| fijal | yes, I get the example :) | 19:23 |
| arigato | ah no | 19:23 |
| fijal | how about the IO? | 19:23 |
| arigato | if both functions start with "someclass.c = newvalue", then they never conflict with each other | 19:23 |
| arigato | about IO: I don't know exactly | 19:23 |
| mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord | 19:24 | |
| antocuni (~antocuni@host157-123-dynamic.2-87-r.retail.telecomitalia.it) joined #pypy. | 19:24 | |
| arigato | as a first approximation, if a transaction does I/O, then all other transactions are suspended | 19:24 |
| fijal | ok | 19:24 |
| fijal | so the model does not work for twisted at all | 19:25 |
| fijal | at first approximation | 19:25 |
| arigato | it's possible to improve, but maybe on a case-by-case work | 19:25 |
| fijal | which is I guess ok, because if every single task does IO then indeed, CPU is not the problem | 19:25 |
| Action: Da_Blitz assumes you could save the output of the IO and just keep playing that value back for every retry | 19:25 | |
| fijal | by "it's suspended" you mean the entire transaction has to be replayed? | 19:25 |
| fijal | or just that IO is sequential? | 19:25 |
| arigato | e.g. doing I/O on different sockets might be completely parallelizable | 19:25 |
| arigato | but you have to tweak it a bit | 19:26 |
| fijal | ok | 19:26 |
| arigato | e.g. remember what was already recv()ed in case the transaction is restarted | 19:26 |
| arigato | and delay the send()s | 19:26 |
| arigato | Da_Blitz: precisely | 19:27 |
| fijal | ok, good | 19:27 |
| fijal | I suppose this model is completely unsuitable when you need some close-to-hardware access | 19:27 |
| arigato | but you need a bit of care, e.g. maybe the restarted transaction will perform something different and end up not recv()ing from the socket at all | 19:27 |
| fijal | like say timings | 19:27 |
| whyking_ (~quassel@p4FFB764C.dip.t-dialin.net) joined #pypy. | 19:27 | |
| fijal | but on the other hand, a lot of things are not | 19:27 |
| arigato | I suppose not, indeed, but that's exactly the same argument for saying "you can't have automatic garbage collection" :-) | 19:28 |
| fijal | yes yes | 19:28 |
| arigato | it's clear that it's not the best solution in all cases | 19:28 |
| whyking (~quassel@p4FFB771E.dip.t-dialin.net) left irc: Read error: Operation timed out | 19:29 | |
| arigato | e.g. multiple web server processes on a big server are likely to stay as independent processes | 19:29 |
| fijal | right | 19:29 |
| fijal | but say translation toolchain is a very likely candidate | 19:29 |
| arigato | absolutely | 19:30 |
| arigato | it would even be easy | 19:30 |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum | 19:30 | |
| fijal | "easy" | 19:30 |
| arigato | add tweaks on the various dispatch loops | 19:30 |
| arigato | one for the annotator, one for the rtyper, etc. | 19:30 |
| zain (~textual@66.175.91.194) joined #pypy. | 19:33 | |
| fijal | Alex_Gaynor: there is disasssembler module coming with pypy | 19:34 |
| fijal | that gives you objects | 19:35 |
| Da_Blitz | do you have any idea what the optimal transaction size may be? eg 5-8 lines of python? | 19:36 |
| Da_Blitz | or are you looking at more like 200 lines for aduquet performance | 19:36 |
| Alex_Gaynor | fijal: yeah I know, just ranting a bit | 19:36 |
| fijal | :) | 19:36 |
| Action: Da_Blitz relises this is a unit of mesure | 19:36 | |
| Alex_Gaynor | AQUADUCT PERFORMANCE | 19:37 |
| Alex_Gaynor | (sorry, that's all I can see) | 19:37 |
| Action: Da_Blitz has no idea how i did that | 19:37 | |
| arigato | Da_Blitz: a priori it depends completely on the TM implementation | 19:38 |
| arigato | e.g. HTM might initially be happier with smaller transactions | 19:38 |
| arigato | however, what I'm thinking about is huge transactions | 19:38 |
| arigato | or potentially huge | 19:39 |
| arigato | it would contain everything that you do in a Twisted program before returning a result (possibly Deferred) | 19:39 |
| Da_Blitz | i was thinking you could limit the transaction to the code in a branch to help avoid the recv() on one branch but not the other problem | 19:39 |
| arigato | no, I don't think it's a worthwhile limitation | 19:40 |
| arigato | instead, we would need to solve the issue by adding an in-process read buffer | 19:40 |
| arigato | which needs e.g. tweaks to select() | 19:40 |
| Da_Blitz | would writes still be inside the transaction or would you move them outside the transaction? | 19:42 |
| Da_Blitz | i suppose you would have to in case you log a packet as sent to an in mem buffer before a packet is actually sent | 19:43 |
| arigato | they would be moved outside the transaction | 19:43 |
| arigato | yes | 19:43 |
| arigato | they need to be done only if the transaction is successfully committed | 19:43 |
| arigato | it's all work, but interestingly, it can be done progressively | 19:44 |
| arigato | an external call to a random un-STM-supported function can always still be done | 19:45 |
| arigato | but performance improves if we add custom logics here and there | 19:45 |
| Da_Blitz (~Da_Blitz@203.56.250.63) left irc: Read error: Connection reset by peer | 19:46 | |
| arigato | (you do the unsupported case by suspending the other threads to make sure that the current thread will succeed) | 19:47 |
| Da_Blitz (~Da_Blitz@203.56.250.63) joined #pypy. | 19:47 | |
| antocuni (~antocuni@host157-123-dynamic.2-87-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 19:55 | |
| kennethreitz (~kennethre@173-13-176-158-sfba.hfc.comcastbusiness.net) left irc: Quit: Computer has gone to sleep. | 19:57 | |
| Shanita (~John@osbk-4db147f6.pool.mediaWays.net) left irc: Read error: Connection reset by peer | 19:59 | |
| Kaskuka (~John@osbk-4db147f6.pool.mediaWays.net) joined #pypy. | 20:05 | |
| fijal | meh | 20:05 |
| fijal | Alex_Gaynor: ok, so I think I have a first interesting tradeoff | 20:05 |
| Alex_Gaynor | fijal: for axisops? | 20:05 |
| fijal | yeah | 20:06 |
| fijal | either you want to make them lazy | 20:06 |
| fijal | or you want to walk the array in correct order to avoid cache issues | 20:06 |
| stakkars__ (~tismer@i59F74E7B.versanet.de) left irc: Quit: schnarch | 20:06 | |
| Alex_Gaynor | I'm not sure it makes sense for sum(a, 0) to be lazy | 20:06 |
| fijal | ok | 20:07 |
| dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) joined #pypy. | 20:16 | |
| Action: fijal does shift once again | 20:18 | |
| fijal | Alex_Gaynor: however we care in which order we walk over data | 20:18 |
| fijal | Alex_Gaynor: ah, there is one more interesting thing to be looked at | 20:19 |
| mattip (4fb67440@gateway/web/freenode/ip.79.182.116.64) joined #pypy. | 20:38 | |
| whyking (~quassel@p4FFB764F.dip.t-dialin.net) joined #pypy. | 20:50 | |
| mattip | Advice needed: | 20:52 |
| mattip | I want to add a round() ufunc to numpypy | 20:52 |
| mattip | There is no round() in python. | 20:53 |
| mattip | python math module* | 20:53 |
| mattip | There is a rint in math.h that does round() | 20:53 |
| mattip | choices I can think of: | 20:53 |
| mattip | - don't do anything | 20:54 |
| whyking_ (~quassel@p4FFB764C.dip.t-dialin.net) left irc: Ping timeout: 240 seconds | 20:54 | |
| mattip | - add the whole hog rint function from glibc to math to numpypy | 20:54 |
| mattip | - just implement it as floor(x+0.5) | 20:55 |
| mattip | anyone want to suggest a proper course of action? | 20:55 |
| umgeher (~umgeher@unaffiliated/umgeher) left irc: Ping timeout: 260 seconds | 20:55 | |
| Rhy0lite (dje@nat/ibm/x-omgjjkauovgnvsqo) left irc: Quit: Leaving | 20:56 | |
| lizardo (~lizardo@189.2.128.130) left irc: Quit: Leaving | 20:57 | |
| bgola (~bgola@189.100.41.65) left irc: Ping timeout: 248 seconds | 20:59 | |
| mattip | I vote for floor(x+0.5) | 21:01 |
| etrepum (~bob@accessnat4.mochimedia.net) joined #pypy. | 21:02 | |
| ronny | mattip: there is a global round function | 21:02 |
| mattip | ? | 21:03 |
| ronny | mattip: in python round is not in math, but a global function | 21:04 |
| arigato | floor(x+0.5) is subtly wrong, too | 21:04 |
| mattip | ahh. Well, that solves it then. Thanks ronny. | 21:04 |
| arigato | mattip: you should check what the round() ufunc does for values 0.5 and 1.5 | 21:06 |
| mattip | arigato: But the bad proposal drew a response, didn't it :) | 21:06 |
| kennethreitz (~kennethre@204.14.152.118) joined #pypy. | 21:06 | |
| arigato | and compare that result with the global round() function | 21:06 |
| mattip | I read the numpy documentation of round(). Is that really what we want? | 21:06 |
| arigato | (e.g. rint() from C gives a different answer for 0.5) | 21:07 |
| arigato | mattip: usually, you need to read the numpy docs, then think about corner cases that may be undocumented, | 21:07 |
| arigato | and for them, try it out on a real numpy implementation | 21:07 |
| fijal | *cough* | 21:08 |
| arigato | then be sure to put them in numpypy's tests | 21:08 |
| fijal | arigato: are we sure we want to check errno for pow in numpy? | 21:08 |
| arigato | fijal: I'm not sure of anything | 21:08 |
| fijal | teaching JIT about errno would save quite a bit of effort :/ | 21:08 |
| arigato | I don't know how pow() behaves in numpy | 21:08 |
| fijal | right | 21:08 |
| fijal | arigato: I think there is an option, but by default it does just call pow | 21:10 |
| arigato | then do the same, call the C-level pow by writing your own llexternal (and don't rely on **) | 21:11 |
| fijal | yes | 21:12 |
| fijal | I think we rely on math.pow | 21:12 |
| fijal | arigato: doesn't using ** in RPython complain "use math.pow"? | 21:12 |
| arigato | that's wrong I suppose | 21:12 |
| arigato | yes, I meant above, "don't use any RPython mechanism like ** or math.pow()" | 21:12 |
| arigato | that's not what you want, you want to call the C-level pow() | 21:13 |
| fijal | for the arguments sake I claim there is no PRython ** :) | 21:13 |
| fijal | but yes | 21:13 |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy. | 21:14 | |
| Alex_Gaynor | fijal: s/for the arguments sake/for the sake of arguing/ ;) | 21:14 |
| mattip | can of worms I opened | 21:15 |
| fijal | Alex_Gaynor: anyway, numpy's pow is broken | 21:17 |
| fijal | (our implementation) | 21:17 |
| Alex_Gaynor | numpypy you mean | 21:17 |
| Alex_Gaynor | I guess it raises exception? | 21:17 |
| mattip | I would try to claim that for alot of the corner cases: there is no real good answer. We should document our choices and move on. | 21:18 |
| fijal | mattip: no, we should write tests and fix corner cases | 21:19 |
| fijal | mattip: besides, your tests are not satisfactory for axisops | 21:19 |
| fijal | they're "somehow works" | 21:19 |
| fijal | there is not even a test for empty sequence, 1-elem sequence in that dim, no-identity ufunc | 21:19 |
| fijal | etc. | 21:19 |
| fijal | and I'm not even talking about combinations, like axisops on a view | 21:20 |
| mattip | One at a time, and I will add what is missing. | 21:20 |
| mattip | empty sequence: granted. | 21:20 |
| fijal | you kind of need all of them all the time | 21:21 |
| mattip | 1-elem sequence in that dim: ? OK, I can do that too. | 21:21 |
| fijal | mattip: feel free to commit those tests to numpypy-axisops | 21:22 |
| mattip | no-identity func: I did test for both sum() which has and identity | 21:22 |
| mattip | and max which does not. | 21:22 |
| fijal | ok, that's true | 21:22 |
| mattip | s/and/an/ | 21:22 |
| elipsion (~elipsion@81-232-141-35-no217.tbcn.telia.com) left irc: Ping timeout: 260 seconds | 21:24 | |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving | 21:24 | |
| Action: fijal sleep | 21:24 | |
| mikefc_ (9665bcc5@gateway/web/freenode/ip.150.101.188.197) joined #pypy. | 21:29 | |
| elipsion (~elipsion@81-232-141-35-no217.tbcn.telia.com) joined #pypy. | 21:29 | |
| [Arfrever] (~Arfrever@apache/committer/Arfrever) left irc: Ping timeout: 244 seconds | 21:30 | |
| rekamso (~textual@63-228-127-70.dia.static.qwest.net) left irc: Ping timeout: 244 seconds | 21:31 | |
| [Arfrever] (~Arfrever@apache/committer/Arfrever) joined #pypy. | 21:34 | |
| Nick change: oakdog8 -> Guest95869 | 21:35 | |
| henning_ (~henning@unicorn.gnubo.de) left irc: Remote host closed the connection | 21:44 | |
| mattip | in my own defense, I will claim that: | 21:59 |
| mattip | - I did test views, in test_ufunc, but I will add more | 22:00 |
| mattip | - Empty sequence should have been tested by the orignal reduce 1d implementors | 22:01 |
| mattip | court adjourned. | 22:01 |
| htoothrot | anyone followed this at all: https://github.com/shoaibkamil/asp/wiki | 22:03 |
| fijal | mattip: hey, this is not personal | 22:05 |
| fijal | there is absolutely no point in defending yourself | 22:05 |
| kenaan | 12mattip numpypy-axisops 115c5db1df52eb 15/pypy/module/micronumpy/test/test_numarray.py: add tests | 22:05 |
| fijal | I'm completely indifferent whether it should be tested by the original 1d seq or not, I'm just saying it should be tested :) | 22:05 |
| fijal | and this is the entire message really | 22:05 |
| fijal | htoothrot: this is some sort of "compile something with python syntax to something else" no? | 22:07 |
| Action: arigato vaguely remembers when fijal was on the receiving side of the "write more tests!" argument :-) | 22:08 | |
| fijal | arigato: :) | 22:08 |
| fijal | arigato: I still am sometimes | 22:08 |
| fijal | but yeah | 22:08 |
| arigato | :-) | 22:08 |
| fijal | people learn | 22:08 |
| fijal | arigato: btw, we're doing pretty good with numpy, there is 100% or near-100% line coverage all the time | 22:09 |
| arigato | good :-) | 22:10 |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) left irc: Quit: http://www.fprimex.com | 22:10 | |
| mattip_ (~chatzilla@bzq-79-182-116-64.red.bezeqint.net) joined #pypy. | 22:16 | |
| mattip_ (~chatzilla@bzq-79-182-116-64.red.bezeqint.net) left irc: Client Quit | 22:20 | |
| Action: arigato sleep | 22:20 | |
| mattip (4fb67440@gateway/web/freenode/ip.79.182.116.64) left irc: Quit: Page closed | 22:20 | |
| arigato (~arigo@adsl-89-217-33-163.adslplus.ch) left irc: Quit: See you | 22:20 | |
| mikefc_ | fijal: is there a coverage report produced automatically onto the net? | 22:23 |
| Alex_Gaynor | fijal: please fix: http://paste.pocoo.org/show/533991/ | 22:24 |
| mikefc_ | also, i need to quiz someone about how pypy/hg dev process works (branch or fork? patch queue or pull request? beer or wine). but I have to read the docs first. | 22:25 |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy. | 22:25 | |
| k_bx (~k_bx@unstuck-evidence.volia.net) joined #pypy. | 22:32 | |
| whyking (~quassel@p4FFB764F.dip.t-dialin.net) left irc: Ping timeout: 240 seconds | 22:37 | |
| DanKluev (~root@74-240-adsl.vntc.ru) joined #pypy. | 22:37 | |
| WildChild (~wildchild@modemcable123.12-202-24.mc.videotron.ca) left irc: Ping timeout: 252 seconds | 22:41 | |
| WildChild (~wildchild@modemcable123.12-202-24.mc.videotron.ca) joined #pypy. | 22:51 | |
| gtaylor (~gtaylor@68-115-251-182.static.gnvl.sc.charter.com) left irc: Quit: Konversation terminated! | 22:52 | |
| stakkars_ (~tismer@p5DDB7A14.dip.t-dialin.net) joined #pypy. | 22:56 | |
| stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) left irc: Read error: Connection reset by peer | 22:56 | |
| Nick change: stakkars_ -> stakkars | 22:56 | |
| rekamso (~textual@216.190.27.14) joined #pypy. | 22:57 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/774 | 23:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/202 | 23:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/1011 | 23:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/30 | 23:00 |
| stakkars_ (~tismer@p5DDB7A14.dip.t-dialin.net) joined #pypy. | 23:04 | |
| stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) left irc: Read error: Connection reset by peer | 23:04 | |
| Nick change: stakkars_ -> stakkars | 23:04 | |
| whitelynx|work (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat | 23:22 | |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 255 seconds | 23:38 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds | 23:49 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 23:54 | |
| k_bx (~k_bx@unstuck-evidence.volia.net) left irc: Ping timeout: 240 seconds | 23:56 | |
| --- Fri Jan 13 2012 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!