antocuni changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | "PyPy: the Gradual Reduction of Magic (tm)"
antocuni has quit [Ping timeout: 260 seconds]
asmeurer__ has joined #pypy
pilne has joined #pypy
tbodt has joined #pypy
tbodt has quit [Client Quit]
tbodt has joined #pypy
marr has quit [Ping timeout: 240 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
kipras is now known as kipras`away
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
tbodt has joined #pypy
yuyichao has quit [Ping timeout: 260 seconds]
c01nwarr10r[HD] has joined #pypy
<c01nwarr10r[HD]> VOISE, the largest music exchange on the planet in the next few years, based on the latest ethereum smart contract technolgy, VOISE offers a free decentralized market for artists to promote and sell 100% of their work on their own terms
<c01nwarr10r[HD]> going to be a huge market, has all the right ingredients to get there
<c01nwarr10r[HD]> anyone and everyone can participate, even the transactions are processed by anyone and everyone as it's decentralized
<c01nwarr10r[HD]> a free market
<c01nwarr10r[HD]> it's not going to look like what it will look like in the next few years when it's the largest music exchange on the planet now early on
<c01nwarr10r[HD]> it's going to look like what VOISE looks like now
<c01nwarr10r[HD]> unkown
<c01nwarr10r[HD]> just starting
<c01nwarr10r[HD]> in it's early stages of development
<c01nwarr10r[HD]> best to get some shares and show your support, you know the old saying you don't get something for nothing, helps support the project, and those shares allow you to get something back later on down the road, as you where part of making it get there
c01nwarr10r[HD] was kicked from #pypy by Alex_Gaynor [c01nwarr10r[HD]]
ArneBab_ has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ArneBab has quit [Ping timeout: 252 seconds]
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 240 seconds]
marky1991 has quit [Read error: Connection reset by peer]
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 255 seconds]
lritter_ has joined #pypy
lritter has quit [Ping timeout: 260 seconds]
adamholmberg has joined #pypy
jcea has quit [Quit: jcea]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 240 seconds]
Hodgestar has quit [Ping timeout: 258 seconds]
yuyichao has joined #pypy
Hodgestar has joined #pypy
jimbaker has quit [Ping timeout: 240 seconds]
jimbaker_ has joined #pypy
pilne has quit [Quit: Quitting!]
drolando has quit [Remote host closed the connection]
drolando has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
jimbaker_ has quit [Ping timeout: 240 seconds]
forgottenone has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
aboudreault has quit [Excess Flood]
aboudreault has joined #pypy
jimbaker_ has joined #pypy
tnorth has joined #pypy
ronny has quit [Ping timeout: 255 seconds]
ronny has joined #pypy
AndrewBC has quit [Ping timeout: 240 seconds]
tnorth has quit [Ping timeout: 246 seconds]
marky1991 has joined #pypy
AndrewBC has joined #pypy
lritter_ has quit [Remote host closed the connection]
Guest23817 has quit [Ping timeout: 255 seconds]
aboudreault has quit [Excess Flood]
aboudreault has joined #pypy
marvin has joined #pypy
marvin is now known as Guest43463
marky1991 has quit [Ping timeout: 240 seconds]
realitix has joined #pypy
blachance has quit [Ping timeout: 260 seconds]
blachance has joined #pypy
inhahe_ has quit [Read error: Connection reset by peer]
drolando has quit [Read error: Connection reset by peer]
aboudreault has quit [Excess Flood]
drolando has joined #pypy
inhahe_ has joined #pypy
aboudreault has joined #pypy
cstratak has joined #pypy
cstratak has quit [Client Quit]
cstratak has joined #pypy
bgola_ has joined #pypy
john51 has quit [Remote host closed the connection]
bgola has quit [Ping timeout: 248 seconds]
gclawes has quit [Ping timeout: 248 seconds]
john51 has joined #pypy
pedronis has quit [Ping timeout: 248 seconds]
pedronis has joined #pypy
gclawes has joined #pypy
asmeurer__ has quit [Quit: asmeurer__]
antocuni has joined #pypy
<fijal> arigato: ping
<antocuni> are we aware that cProfile is horribly slow on pypy?
<antocuni> like, running "richards.py 1000" goes from 3.71 secs to 17.37 secs on my machine
<fijal> yeah
<fijal> it's a bit hard to do better
<fijal> cfbolz put some effort at some stage
<antocuni> yes I know, but I didn't know we were so bad
<antocuni> I propose to issue a warning when you try to use cProfile
drolando has quit [Remote host closed the connection]
drolando has joined #pypy
<cfbolz> antocuni: the problem is not that the trace hook is slow. The 'problem' is that the jit makes Richards really fast
<antocuni> yes sure
<antocuni> but for example, I just found a real-world example in which they automatically turn cProfile on when the system is under load
<cfbolz> antocuni: yes, the cprofile results are definitely not very relevant
<antocuni> yes, but in this precise case it has also the effect of making the already-overloaded system much worse
<antocuni> that's why I think a warning is a good idea
<fijal> it also provides bad data
<antocuni> something like "don't use cProfile, use vmprof; see http://... for details"
<cfbolz> sounds good to me
<njs> are there any cases where cProfile produces even somewhat useful data on pypy? if not then it might even make sense to *only* print the warning and not actually collect data at all
<antocuni> feel free to review
<antocuni> arigato, ronan: ^^^
<cfbolz> njs: yes, it gives a very very rough idea
<cfbolz> antocuni: I think a warning is a good idea. we have one for timeit too
<fijal> antocuni: should I add my UTF8 work?
<antocuni> fijal: I already wrote something about it, but feel free to edit/expand
<cfbolz> antocuni: can I fix some typos?
<cfbolz> fijal: or are you editing atm?
<cfbolz> antocuni: the draft looks great, btw
<arigato> fijal: pong
<arigato> antocuni: "in most cases, UTF-8 is a more compact repr. than UCS-4"
<arigato> no, it is so in all cases
<arigato> I think you meant to say that in many cases, it is more compact than Python 3's new latin1/ucs2/ucs4 mix
<xorAxAx> in some cases, it is equally big
<arigato> yes, but as soon as the data contains a lot of ascii characters, then utf-8 wins
<arigato> (e.g. a web page)
<arigato> of course, there are also counter-examples where utf-8 looses
<xorAxAx> are there?
<arigato> but arguably, Python 3's mix is bad because a single non-BMP character in a big string makes the whole string twice bigger
<fijal> cfbolz: I just got back, will edit in a bit, feel free to be done first
<xorAxAx> unichr(0x10000) is 4 bytes in utf-8
<arigato> xorAxAx: yes, typically pure texts written in some Asian languages
<fijal> xorAxAx: emoji only character
<fijal> emoji only text
<arigato> fijal: you mean, regular text containing only a few emoji's
<arigato> (the emoji alone is 4 bytes in all variants)
<antocuni> cfbolz: sure, I'm not editing the draft ATM, please proceed
bgola_ is now known as bgola
<cfbolz> done
* fijal looks now
aboudreault has quit [Excess Flood]
marr has joined #pypy
<mitsuhiko> fijal: is there a mode in cffi where i can change the allocator to be more crashy?
<mitsuhiko> i am doing something dodgy but i can't find it
<mitsuhiko> happens only once in a few hundred runs
antocuni has quit [Ping timeout: 252 seconds]
<fijal> mitsuhiko: it's probably not keeping stuff alive
<fijal> pypy or cpython?
aboudreault has joined #pypy
<mitsuhiko> cpython
<fijal> like, you create a reference using cffi.new, then another one using cffi.new
<fijal> and stick the first one into the second one
<fijal> and forget to keep alive the first one
<mitsuhiko> yeah. but i can't find any of those i think
<fijal> can I have a look?
<mitsuhiko> sre
<fijal> uh, anot just quite
<fijal> quit
<fijal> I'm done editing
<mitsuhiko> in the symbolic part is the entire thing
<mitsuhiko> it's misbehaving using symbolic/symcache most likely
<mitsuhiko> i narrowed it down to symcache or demangle or functions those two things call
<fijal> uh
<fijal> mitsuhiko: no, the logic in encode_str is faulty
<mitsuhiko> oh. really?
<fijal> you need to keep rv alive, not s
<mitsuhiko> why? from_buffer needs s to be alive
<mitsuhiko> and surely rv is kept alive in the calling site?
<fijal> is rv alive for long enough?
<fijal> always?
<mitsuhiko> oh. maybe not when i assign it to a struct
<mitsuhiko> there is one place where i do that
<mitsuhiko> this one might be bad
<fijal> The original object is kept alive (and, in case of memoryview, locked) as long as the cdata object returned by ffi.from_buffer() is alive.
<fijal> so the logic is at the very least unnecessary
<mitsuhiko> so that one call might need rv to be kept alive independently
<mitsuhiko> but that call is unlikely to cause the behavior is ee
<mitsuhiko> so there must be something else wrong
<fijal> you can kill the weakref logic for sure
<fijal> maybe it'll crash faster
<fijal> mitsuhiko: you can try running it under valgrind or something?
<mitsuhiko> fijal: when i do foo(encode_str(x)) does the rv of encode_str survive until foo finishes?
<mitsuhiko> because i made that assumption
<fijal> yes, I think so
<mitsuhiko> fijal: without weakref it crashes on other places :)
<fijal> well, but that means there are problems
<mitsuhiko> why?
<fijal> because the result of from_buffer will keep s alive, as documented
<mitsuhiko> encode_str cannot work without that behavior
<xorAxAx> mitsuhiko: not necessarily, you can kill the local in the function
<mitsuhiko> fijal: wat. really?
<xorAxAx> by doing foo(x): x = None
<mitsuhiko> how does that work?
<fijal> mitsuhiko: I just copy pasted you the docs
<fijal> read carefully
<fijal> ah no
<mitsuhiko> fijal: but i assign it to a struct
<fijal> mitsuhiko: sorry, yes you're right
<arigato> xorAxAx: I think that "foo(x): x=None" would keep alive the originally passed argument, too
<fijal> ii[0].arch = encode_str(arch)
<mitsuhiko> fijal: will try valgrind. had some issues getting anything out because there is so much garbage mentioned
<mitsuhiko> fijal: i fixed that case now
<fijal> mitsuhiko: that part is definitely wrong
<mitsuhiko> but that case cannot cause the behavior i see
<mitsuhiko> worst case it gets a slightly wrong return value :D
<mitsuhiko> but looking for all other ffi.new cases now
<mitsuhiko> there are not that many
<fijal> do you have output in gdb?
<xorAxAx> arigato: true
<kenaan> cfbolz regalloc-playground a98e7c269025 /rpython/jit/backend/x86/reghint.py: start preparing for 32bit support
<kenaan> cfbolz regalloc-playground e02007d88e4b /rpython/jit/backend/x86/: try to fix 32bit
AndrewBC has quit [Read error: Connection reset by peer]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/4275 [Carl Friedrich Bolz-Tereick: force build, regalloc-playground]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5005 [Carl Friedrich Bolz-Tereick: force build, regalloc-playground]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6305 [Carl Friedrich Bolz-Tereick: force build, regalloc-playground]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-32/builds/5513 [Carl Friedrich Bolz-Tereick: force build, regalloc-playground]
<mitsuhiko> fijal: the problem is that it does not crash
<mitsuhiko> it just misbehaves
<fijal> huh?
<fijal> like, some data is garbage?
<fijal> mitsuhiko: so are you sure none of the strings you pass to rust is ever stored anywhere for example?
<mitsuhiko> fijal: i have a few branches like "is this arch supported"
<mitsuhiko> where i pass a string and the return is False instead of True
<mitsuhiko> so my guess was that some of those operate on garbage data
<fijal> so if you do
<mitsuhiko> cases this can cause: garbage uuids or garbage return values from arch functions
<fijal> rust_func(encode_str("foo"))
<fijal> what does rust do with the string?
<fijal> makes a copy?
<mitsuhiko> in most cases nothing other than using it until the function returns
<mitsuhiko> other than the one where an object is created from bytes where we store the value
<fijal> are there cases where it's stored somewhere?
<mitsuhiko> sce
<fijal> sce?
<mitsuhiko> sec :)
<mitsuhiko> that's a case (not crashing atm) which needs the ref alive
<fijal> mitsuhiko: I would try by storing reference to everything somewhere and seeing if it crashes or not
<fijal> then removing some cases
<mitsuhiko> not my favorite feature :D
<arigato> you could actually compile cffi in debug mode for CPython, at some point in time
<arigato> try to compile with "-DCFFI_MEM_LEAK")
<arigato> and in "--debug" mode if you can, too
jcea has joined #pypy
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
antocuni has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6305 [Carl Friedrich Bolz-Tereick: force build, regalloc-playground]
OOPMan has joined #pypy
Rhy0lite has joined #pypy
<kenaan> cfbolz regalloc-playground c408f259eed1 /: merge default
adamholmberg has quit [Remote host closed the connection]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5005 [Carl Friedrich Bolz-Tereick: force build, regalloc-playground]
<cfbolz> will tweet
<tos9> antocuni: you ran away!
<antocuni> tos9: from cape town?
<tos9> antocuni: yes
<antocuni> I could argue that it's you who arrived too late :)
<tos9> :)
<antocuni> are you still there? How are things?
<tos9> I am still here yeah, few more days, till 22
<antocuni> enjoy. I really liked it
<tos9> things are good! other than fijal also running away
<tos9> typical pypy mentality -- finish quickly and exit
<tos9> y'all need to be more cpython-ish
<LarstiQ> " These are the results on CPython, on PyPy 5.9, and on our newest in-progress version:" but then in the quote it's pypy 5.8
<tos9> take your sweet time...
<antocuni> fijal ran away even from us, he left during the middle of the sprint :)
<tos9> terrible
<antocuni> LarstiQ: true enough, we released 5.9 during the sprint, so part of the speedups are already included in 5.9
* antocuni fixes
bendlas has quit [*.net *.split]
pilne has joined #pypy
bendlas has joined #pypy
ionelmc has quit [Ping timeout: 264 seconds]
raynold has joined #pypy
<mitsuhiko> fijal: i fixed that one case and could not see it fail since
<mitsuhiko> but
<mitsuhiko> not convinced that is it :D
syntaxman has quit [Remote host closed the connection]
adamholmberg has joined #pypy
Rotonen has joined #pypy
<Rotonen> pypy2.7-5.9.0 - importing a c exetension and getting a "AttributeError: 'module' object has no attribute 'CAPI2'" means one has to dive in and redo the c extension in a new form?
<Rotonen> for reference what i'm doing: https://github.com/zopefoundation/AccessControl/ - pypy bootstrap.py && bin/buildout && bin/test
<mattip> Rotonen: most likely a problem internal to AccessControl, where they (ab)use cpython headers
<mattip> instead of building the c extension with pypy c headers
<Rotonen> considering the project dates back to the 90s that's pretty much to be expected
<mattip> can you post the part of the log where it compiles to a pastebin?
OOPMan has quit [Quit: Konversation terminated!]
<Rotonen> trying to figure out how to make buildout and mr.developer to expose that to me, i'll just try to develop it manually
<Rotonen> pff
<Rotonen> nothing spectacular, there is one line and also just one c file
<Rotonen> there is a compat header for py3, the recent push-for-py3 made me curious as to what's the order of magnitude of also dragging the C extension bits to modern python
<Rotonen> there's the c extension in question, but cannot figure out what and how the python file for it gets generated in build_ext or where that process is defined
<arigato> I cannot find any mention of the name 'CAPI2' there...
<Rotonen> considering the heritage there is probably some jim fulton patent cleverness under the hood there
<arigato> is there supposed to be other parts not in this repo? e.g. a dependent module?
<Rotonen> buildout pulls those into the pythonpath of the interpreter
<Rotonen> you can assume everything defined in setup.py to be present
<arigato> yes, I was asking which of these modules is likely to contain "CAPI2"
<Rotonen> ExtensionClass would be the one
<Rotonen> hmm this'd be nice if one would only have to figure out how to (conditionally) port that to something pypy compatible
<arigato> zope is considered a big but largely deprecated project, I think
<Rotonen> dunno, pyramid is pretty much built on top of that and i work on plone - works for me
<arigato> if you want to port it to something modern I'd recommend cffi, but I don't know how large an effort that would be
<arigato> most probably, far too much work
<Rotonen> gotta have hobbies
<Rotonen> we already managed the jump to py3 and this is pretty much the next frontier
<arigato> anyway, this looks like a bug somewhere in cpyext, our CPython C API emulation
<Rotonen> the ExtensionClass tests pass with pypy so that's a decent start
<Rotonen> i'm currently eyeing PyCapsule_Import() and seeing about whether that is Zope or CPython
<arigato> src/ExtensionClass/tests.py only tests for hasattr(_ExtensionClass, 'CAPI2') if C_EXTENSION is true
<arigato> maybe ExtensionClass can be compiled without the C extension, in a pure Python mode? In this case it wouldn't have that name? and then AccessControl would fail, also on CPython
<Rotonen> it raises if it's not available, though
<Rotonen> hmm no, it asserts that it raises
<arigato> just guessing here
adamholm_ has joined #pypy
<arigato> maybe one module like ExtensionClass is compiled differently because of a test for "is it pypy?" inside setup.py
<arigato> and then we have this kind of issue
<arigato> ("capsules" are a C-extension-modules-only hack which is not available to pure Python code)
adamholmberg has quit [Ping timeout: 240 seconds]
<Rotonen> now that does explain the no CAPI thing
<Rotonen> and ExtensionClass cannot currently be compiled against pypy, so there's the hill to climb
<arigato> yes, and maybe AccessControl really requires the C version of ExtensionModule
<Rotonen> correct
<Rotonen> thank you
<arigato> you might try to compile ExtensionClass anyway, it's possible that the reasons for why it wasn't compiled are no longer valid
<Rotonen> does not compile for me, though
<arigato> ok
<arigato> how?
marky1991 has joined #pypy
<Rotonen> nvm. i mistook some rpython errors as c compilation errors
<Rotonen> https://pastebin.com/mj1NFzWw <- but actually finally got a c compilation error as well
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-32/builds/5513 [Carl Friedrich Bolz-Tereick: force build, regalloc-playground]
<arigato> ok, thanks
<arigato> it's probably fixable
<arigato> the next question is whether it is a good idea to fix it, given that the pure Python version is likely faster
<arigato> maybe someone should instead write a pure Python version of AccessControl
<arigato> (or at least one that can interact with the pure Python version of ExtensionClass)
<Rotonen> it'll most likely not be only AccessControl as i'm eventually trying to climb the uphill all the way to Plone and stuff having been built on top of Plone
<Rotonen> from my point of view currently to get ~anything going is better than going solo on fixing the guts of a lot of the ecosystem
<Rotonen> optimization can come later, ref. d. knuth
<arigato> I see that ExtensionClass is defining a whole header
<arigato> with #defines that peek into the guts
<arigato> I have no idea if the pure python version of ExtensionClass is of any use at all
<Rotonen> i suppose someone got lazy with extra requires and just hacked this together for something which does have a pure python implementation as well
<arigato> yes, I guess so
<arigato> additionally, the C version of ExtensionClass is likely harder than I suggested just above
<bbot2> Success: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/4275 [Carl Friedrich Bolz-Tereick: force build, regalloc-playground]
<arigato> the gut-peeking logic is really using several unsupported features
pilne has quit [Quit: Quitting!]
<Rotonen> https://github.com/zopefoundation/ExtensionClass/commit/f6ef36a78d36180876d46941948e0d054b376ccb <- the py3 work they did in january gives me some hope as to being able to start chipping at it for pypy over time
<Rotonen> but based on how that is tested, someone is using the pure python variant as well
<arigato> I'd guess you should try to use the pure Python variant; the alternative is a lot of work inside PyPy's C extension compatibility layer
<arigato> and the Zope ecosystem hasn't been on our radar so far
<Rotonen> i'm poking you as well on this just in case there happens to be some low hanging fruit in the mix for you on anything i encounter on the way
<arigato> ExtensionClass dates definitely to the 90's, before Python 2.2 introduced new-style classes
<Rotonen> that's an another thing currently slowly being ported over, the transition to new-style classes :-)
<arigato> so it's doing some kind of new-style class equivalent using old techniques
<Rotonen> i'm having weekly fun with the non-C3 resolution order those add to the mix
<arigato> "ah"
ionelmc has joined #pypy
<Rotonen> it's even worse if grok is in the mix as well instead of just declarative ZCML, but that's a different horror story all together :P
<arigato> names that throw me back to the first EuroPythons in the early 2000 :-)
yuyichao has quit [Ping timeout: 240 seconds]
drolando has quit [Remote host closed the connection]
yuyichao has joined #pypy
drolando has joined #pypy
tbodt has joined #pypy
forgottenone has quit [Quit: Konversation terminated!]
<kenaan> stian default d420391a020a /: Add missing int_floordiv, int_divmod. Improves pidigits by about 5%
forgottenone has joined #pypy
raynold has quit [Quit: Connection closed for inactivity]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
forgottenone has quit [Ping timeout: 252 seconds]
forgottenone has joined #pypy
drolando has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
realitix has quit [Ping timeout: 258 seconds]
drolando has joined #pypy
oberstet has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
raynold has joined #pypy
asmeurer__ has joined #pypy
drolando has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
asmeurer__ has quit [Quit: asmeurer__]
drolando has joined #pypy
antocuni has quit [Ping timeout: 260 seconds]
oberstet has quit [Ping timeout: 252 seconds]
tnorth has joined #pypy
forgottenone has quit [Ping timeout: 255 seconds]
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
tbodt has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
marky1991 has quit [Ping timeout: 240 seconds]
asmeurer_ has joined #pypy
realitix has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
realitix has quit [Ping timeout: 240 seconds]
<arigato> d420391a020a has a few problems
Rhy0lite has quit [Quit: Leaving]
<kenaan> arigo default bd1d07287bb4 /: Backed out changeset d420391a020a A few problems: 'b // 0' fails an internal asserts now; and 'n / int(-n)' gives ...
tbodt has joined #pypy
tbodt has quit [Client Quit]
cstratak has quit [Quit: Leaving]
adamholmberg has joined #pypy
adamholm_ has quit [Ping timeout: 260 seconds]
tnorth has quit [Remote host closed the connection]
tbodt has joined #pypy
_stian has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
asmeurer_ has quit [Quit: asmeurer_]
adamholm_ has joined #pypy
adamholmberg has quit [Ping timeout: 252 seconds]
asmeurer_ has joined #pypy
adamholm_ has quit [Remote host closed the connection]
<cfbolz> arigato: and there wasn't a single test in rlib?
<arigato> yes, that too
<cfbolz> :-/
adamholmberg has joined #pypy
<arigato> well, "tests are missing" was implicit in my backout message when I pointed out cases that fail
<arigato> but indeed I could have been explicit
holdsworth_ has joined #pypy
holdsworth has quit [Ping timeout: 240 seconds]
<arigato> do you know if "stian" is here on IRC? seems that his last commit was in 2015
lritter has joined #pypy
* arigato wonders what "cd .." *really* does in bash
<arigato> in the presence of symlinks in directories that have changed recently
<arigato> the answer "bash just removes the last element off $PWD" is wrong, because in some situations it detects the changes to the symlinks
Gabriel_8 has left #pypy ["WeeChat 1.0.1"]
<kenaan> stian math-improvements ec9abaebdc28 /: branch with some rbigint/longobject/intobject improvements
<kenaan> stian math-improvements 06129c0b5e0e /: Test + fix for bugs found by Armin Rigo
<kenaan> stian math-improvements b4e5817c17d8 /pypy/objspace/std/longobject.py: Missing from earlier
<kenaan> stian math-improvements c1d74e03b736 /pypy/objspace/std/intobject.py: Use long with int when overflowing
<kenaan> stian math-improvements 3a37e2483546 /rpython/rlib/test/test_rbigint.py: Add rlib test
<_stian> @arigato, hello
<arigato> hi!
<_stian> tests and fixes. Also put it in a separate branch
<arigato> thanks!
<arigato> if it's done, then please open a pull request and we'll review; I think it's the best approach
<arigato> these parts of pypy are pretty central to everything
<arigato> we really don't want a bug to show up there
<_stian> There are a few more things to improve before merge i think, like use of int_pow on int overflowing
<_stian> still pretty alright improvement, pidigits went from 5.8s to 5.3s locally.
<arigato> :-)
<_stian> might compensate for the slowdown of shadowstack, looking at speed.pypy.org it went from 9.45 to 10.84 on that :(
asmeurer_ has quit [Quit: asmeurer_]
adamholm_ has joined #pypy
adamholmberg has quit [Ping timeout: 255 seconds]
Ulfalizer has joined #pypy
marky1991 has joined #pypy
drolando has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
drolando has joined #pypy
<kenaan> stian math-improvements ab5af3aa60e3 /pypy/objspace/std/intobject.py: Make use of int_pow
antocuni has joined #pypy
asmeurer__ has joined #pypy
marky1991 has quit [Remote host closed the connection]
asmeurer__ has quit [Quit: asmeurer__]
asmeurer_ has joined #pypy
asmeurer_ has quit [Client Quit]
asmeurer__ has joined #pypy
kipras`away is now known as kipras
asmeurer__ has quit [Client Quit]
yuyichao has quit [Ping timeout: 248 seconds]
ssbr has quit [Read error: Connection reset by peer]
antocuni has quit [Ping timeout: 260 seconds]
WGH has quit [Quit: WeeChat 1.7]
WGH has joined #pypy
adamholm_ has quit [Remote host closed the connection]
adamholmberg has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
drolando has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
adamholmberg has quit [Ping timeout: 260 seconds]
tbodt has joined #pypy
yuyichao has joined #pypy
drolando has joined #pypy