antocuni has quit [Ping timeout: 240 seconds]
vkirilichev has joined #pypy
kipras is now known as kipras`away
marr has quit [Ping timeout: 240 seconds]
yuyichao has quit [Ping timeout: 240 seconds]
stevi3 has quit [Quit: Connection closed for inactivity]
yuyichao has joined #pypy
<kenaan> rlamy PyBuffer-backport d5640fcd6769 /pypy/: Restore py2 semantics for memoryview.__getitem__ and .__setitem__
vkirilichev has quit [Ping timeout: 260 seconds]
demonimin has quit [Ping timeout: 240 seconds]
jamesaxl has joined #pypy
vkirilichev has joined #pypy
jamadden has quit [Quit: Leaving.]
<kenaan> rlamy PyBuffer-backport 393498f6a662 /pypy/objspace/std/bufferobject.py: Ensure that buffer() returns read-only buffers
<kenaan> rlamy PyBuffer-backport 9257dbd0c043 /pypy/module/cpyext/slotdefs.py: cpyext fix
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/4602 [ronan: force build, PyBuffer-backport]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/5926 [ronan: force build, PyBuffer-backport]
ArneBab has joined #pypy
ArneBab_ has quit [Ping timeout: 245 seconds]
lritter has joined #pypy
pilne has quit [Quit: Quitting!]
vkirilichev has quit [Ping timeout: 260 seconds]
jcea has quit [Read error: Connection reset by peer]
jcea1 has joined #pypy
jcea1 is now known as jcea
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/4602 [ronan: force build, PyBuffer-backport]
fotis_ has quit [Quit: No Ping reply in 180 seconds.]
fotis2 has joined #pypy
vkirilichev has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/5926 [ronan: force build, PyBuffer-backport]
ArchDebian has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
stryngs has quit [Quit: Lost terminal]
vkirilichev has joined #pypy
kipras`away is now known as kipras
<sthalik> PyPy: sys.maxint == sys.maxsize == 2**64-1
<sthalik> the real value is 2**63 - 1, same for 2**31 - 1
amaury has quit [Ping timeout: 260 seconds]
kipras is now known as kipras`away
ArchDebian has quit [Ping timeout: 240 seconds]
vkirilichev has quit [Remote host closed the connection]
vkirilichev has joined #pypy
ArchDebian has joined #pypy
vkirilichev has quit [Remote host closed the connection]
stevi3 has joined #pypy
<njs> I am dubious about the idea that you can make sys.maxint == 2 ** 63 - 1 on win64
<njs> I suspect there is a lot of code out there (esp. C extensions) that knows that python int = C long... e.g. numpy certainly assumes this in various places
<njs> it doesn't matter as much as python 2 disappears, but that is still a bit off :-)
<o11c> seriously people, intptr_t is a thing
<njs> it is, but it kind of wasn't when CPython was first written, soooo
realitix has joined #pypy
Tsundere_cloud has joined #pypy
marr has joined #pypy
jcea has quit [Quit: jcea]
oberstet2 has joined #pypy
arigato has joined #pypy
ArchDebian has quit [Ping timeout: 272 seconds]
<arigato> gives a different result on pypy and cpython
* arigato needs to first remember what groupby() does
antocuni has joined #pypy
vkirilichev has joined #pypy
<sthalik> why would it say "no module named cffi"?
<arigato> you need to install cffi?
<sthalik> no, during translation
<arigato> well, yes
ArchDebian has joined #pypy
<o11c> arigato: yeah, pypy is clearly wrong there
<o11c> arigato: the fact that you had a random useless generator thrown in was confusing at first
amaury has joined #pypy
<arigato> honestly, I don't even try to understand it
<arigato> I just look at the pypy implementation of groupby(), which looks very different, and throw it away
cstratak has joined #pypy
<sthalik> what's the modern command-line to skip doing modules?
<sthalik> the one on the wiki doesn't work (anymore?)
<arigato> which one doesn't work?
<sthalik> i haven't specified them in the environment
<sthalik> would rather do a module-free build first
<sthalik> on the wiki, says "sys.maxint == 2**32-1", rather than 2**31. are you fine with me editing the wiki?
<arigato> I don't know what page you're talking about
<arigato> yes, 2**32-1 => 2**31-1 is right of course
<arigato> that's not a wiki, you can't edit
<sthalik> ok
<arigato> ah, that page is from the main repo
<arigato> you can edit it by changing pypy/doc/windows.rst
<sthalik> so i found one more weirdness, was checking if something's an int32 but meant a word size, rbigint wanted the int32 so made it its own checker
<kenaan> antocuni faster-rstruct-2 beae5a5ccb0b /: I don't know why this popped out now as it seems unrelated with my recent changes: scoped_nonmovingbuff...
girish946 has joined #pypy
<kenaan> arigo default 6093ff1a44e6 /pypy/module/itertools/: Rewrite itertools.groupby(), following CPython instead of having many flags to get a result that differs subtly
Tsundere_cloud has quit [Quit: Connection closed for inactivity]
stevi3 has quit [Quit: Connection closed for inactivity]
<njs> arigato: btw, just before you came in: https://botbot.me/freenode/pypy/2017-05-11/?msg=85462495&page=1
<kenaan> arigo py3.5 cd0822695fae /pypy/module/itertools/: Manual merge of 6093ff1a44e6, plus reduce/setstate
<arigato> njs: that's really the first question about the plan outlined in http://doc.pypy.org/en/latest/windows.html#what-is-missing-for-a-full-64-bit-translation
<arigato> I did write this plan but I have zero experience about Win64
<arigato> also, it was written before I got to know cpyext well
<arigato> indeed, what should PyInt_FromLong() be implemented as?
<arigato> user code don't expect it to fail when the input is a Python int
<arigato> ("user" code == code in C extensions)
<arigato> (and the PyInt_FROM_LONG() macro is even worse, because you can't fail)
<arigato> on the other hand we can't reasonably say that RPython integers should be 32 bits only
<njs> arigato: PyInt_AsLong is the nasty one I think
<arigato> njs: ah yes, sorry, that's what I meant
<arigato> and PyInt_AS_LONG
<arigato> it's maybe possible (if plainly counterproductive) to limit our W_IntObject to 32 bits, if we review all usages of space.newint()
<arigato> "space.newint(number) => W_IntObject": this would, in this world, mean that a 64-bit RPython integer needs to be turned into a W_IntObject or a W_LongObject
<njs> ah, that's whatI was about to ask about :-)
<kenaan> antocuni faster-rstruct-2 582e284508de /: we cannot malloc(STR, zero=True) because the GC does not support it. So, simplify a bit the code, remov...
<kenaan> antocuni faster-rstruct-2 a12006f0de48 /rpython/jit/backend/x86/test/test_strstorage.py: remove the last remainder of the killed strstorage
<njs> anyway, /me -> sleep now
<arigato> thanks
<antocuni> arigato: in this world, we can probably have a specialized W_Int64Object whose applevel type is long, but which is as efficient as ints
<njs> <wife> "Hey, Nathaniel? What's 'pie pie'?" <njs> "It's umm. A Python interpreter, written in Python." <wife> "Is that... allowed?" <njs> "The weird thing is that it's faster than the regular Python interpreter." <shweta> "--Somebody sold someone's soul to *something*."
<antocuni> (if we care about performance of ints > 2**32)
<njs> err, shweta = wife
<arigato> njs: :-)
<arigato> antocuni: yes, but the annoying part is that the JIT traces would look very different and we need to optimize this case manually
<arigato> e.g. for integer addition you need to check that the result fits a 32-bit int
<antocuni> ah, I see
cstratak has quit [Quit: Leaving]
<arigato> I agree that the plan to have "sys.maxint==2**63-1" might be doomed particularly by cpyext
<arigato> we could in theory make obscure hacks in cpyext itself, to pretend that this int of value 2**40 has the type "PyLong_Type"
<arigato> even though you get 'int' by saying 'type(x)' in Python
<arigato> but that's probably not a good idea
cstratak has joined #pypy
ssbr has quit [Ping timeout: 258 seconds]
amaury has quit [Ping timeout: 268 seconds]
<arigato> oh well, it would be an exercice in making rpython.rlib.rarithmetic.ovfcheck_int32_add/sub/mul() more tested and complete
Tiberium has joined #pypy
<arigato> too bad that it looks like a rewrite of intobject.py
<kenaan> arigo default 5ebcb8f995fd /pypy/objspace/std/intobject.py: in theory, this is a fix
antocuni has quit [Ping timeout: 240 seconds]
ssbr has joined #pypy
ArchDebian has quit [Ping timeout: 240 seconds]
ArchDebian has joined #pypy
<kenaan> sthalik sthalik/fix-signed-integer-sizes-1494493539409 cb8ca968878f /pypy/doc/windows.rst: fix signed integer sizes
<kenaan> arigo default 400ffc527c25 /pypy/doc/windows.rst: Merged in sthalik/pypy-1/sthalik/fix-signed-integer-sizes-1494493539409 (pull request #543) fix signed integer sizes
girish946 has quit [Quit: Leaving]
adamholmberg has quit [Remote host closed the connection]
jamadden has joined #pypy
antocuni has joined #pypy
Tiberium has quit [Remote host closed the connection]
Tiberium has joined #pypy
arigato has quit [Quit: Leaving]
Tiberium has quit [Remote host closed the connection]
Tiberium has joined #pypy
Tiberium_ has joined #pypy
realitix has quit [Read error: Connection reset by peer]
realitix has joined #pypy
MarkMangoba has quit []
MarkMangoba has joined #pypy
cstratak_ has joined #pypy
cstratak has quit [Ping timeout: 240 seconds]
Taggnostr has quit [Remote host closed the connection]
Tiberium_ has quit [Quit: Leaving]
Taggnostr has joined #pypy
stevi3 has joined #pypy
Tiberium has quit [Remote host closed the connection]
Tiberium has joined #pypy
Tiberium_ has joined #pypy
Tiberium has quit [Remote host closed the connection]
Tiberium_ has quit [Remote host closed the connection]
32NAAKZLC has joined #pypy
18VAA5IDG has joined #pypy
Tiberium_ has joined #pypy
ArchDebian has quit [Ping timeout: 260 seconds]
32NAAKZLC has quit [Remote host closed the connection]
18VAA5IDG has quit [Remote host closed the connection]
Tiberium_ has quit [Remote host closed the connection]
Tiberium has joined #pypy
Tiberium has quit [Remote host closed the connection]
Tiberium has joined #pypy
Tiberium has quit [Remote host closed the connection]
Tiberium has joined #pypy
ArchDebian has joined #pypy
adamholmberg has joined #pypy
Tiberium has quit [Quit: Leaving]
Tiberium has joined #pypy
altendky has quit []
altendky has joined #pypy
Tiberium has quit [Remote host closed the connection]
Tiberium has joined #pypy
jcea has joined #pypy
lritter has quit [Remote host closed the connection]
yuyichao has quit [Ping timeout: 246 seconds]
vkirilichev has quit [Ping timeout: 258 seconds]
vkirilichev has joined #pypy
ArchDebian has quit [Ping timeout: 246 seconds]
yuyichao has joined #pypy
wallet42 has quit []
wallet42 has joined #pypy
ArchDebian has joined #pypy
stevi3 has quit [Quit: Connection closed for inactivity]
arigato has joined #pypy
<kenaan> antocuni faster-rstruct-2 22c587e1da2b /rpython/: deleting strstorage tests was a mistake, because they were the only ones to test llop.gc_load_indexed. ...
<kenaan> antocuni faster-rstruct-2 be9e1d6fe67b /rpython/: reduce code duplication
<kenaan> antocuni faster-rstruct-2 892ab4160ec6 /rpython/jit/: add the JIT version of test_llop
Niedar has quit []
yuyichao_ has joined #pypy
Niedar has joined #pypy
yuyichao has quit [Ping timeout: 272 seconds]
cstratak_ has quit [Ping timeout: 240 seconds]
adamholm_ has joined #pypy
arigato has quit [Read error: Connection reset by peer]
sbauman has quit []
sbauman has joined #pypy
adamholmberg has quit [Ping timeout: 258 seconds]
<kenaan> rlamy PyBuffer-backport 3ebd85b5b58e /pypy/objspace/std/memoryobject.py: Fix memoryview.__setitem__, again
<kenaan> rlamy PyBuffer-backport 4574a68bea35 /pypy/module/_rawffi/interp_rawffi.py: fix _rawffi
<kenaan> rlamy PyBuffer-backport 2372a325f694 /pypy/module/micronumpy/: fix micronumpy
adamholmberg has joined #pypy
adamholm_ has quit [Ping timeout: 246 seconds]
cstratak has joined #pypy
vkirilichev has quit [Remote host closed the connection]
<kenaan> rlamy PyBuffer-backport 647b63731eca /pypy/objspace/std/marshal_impl.py: Restrict marshalling to old-style buffers
<kenaan> rlamy PyBuffer-backport 89ffc4931b4b /pypy/module/micronumpy/test/test_ndarray.py: Don't bother preventing _numpypy.frombuffer() from working on memoryviews
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/4603 [ronan: force build, PyBuffer-backport]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/5927 [ronan: force build, PyBuffer-backport]
kipras`away is now known as kipras
<kenaan> fijal str-measure 92c947349352 /pypy/objspace/std/unicodeobject.py: improve the wrapper
realitix has quit [Ping timeout: 240 seconds]
oberstet2 has quit [Ping timeout: 245 seconds]
ArchDebian has quit [Ping timeout: 272 seconds]
ArchDebian has joined #pypy
pilne has joined #pypy
mattip has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/4603 [ronan: force build, PyBuffer-backport]
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/5927 [ronan: force build, PyBuffer-backport]
<simpson> o11c: So, before it slips away: What concretely were you thinking that PyPy could do to cache information so that warmup is cheaper?
<simpson> It's a perennial topic and PyCon is around the door.
<fijal> simpson: I have *some* ideas
<fijal> but they all seem expensive
<simpson> fijal: The central problem to me is designation; how do you point at a spot in the bytecode and say that you know the local context and assumptions? After that, it seems like it's a matter of encoding and indexing.
<simpson> I guess that that indexing step is gonna be tough too.
ArchDebian has quit [Ping timeout: 255 seconds]
ArchDebian has joined #pypy
antocuni has quit [Ping timeout: 260 seconds]
kolko_ has quit [Ping timeout: 260 seconds]
Tiberium has quit [Quit: Leaving]
<o11c> simpson: even just simple stuff like: what types exist, what types are used as the argument of each function (__module__.__qualname__)
<o11c> if multiple functions are dynamically created with the same __module__.__qualname__, pypy isn't under any obligations
<o11c> simpson: since pypy *already* needs to do the fallback if assumptions fail (though I really wish it *didn't* have to), it shouldn't cost much to optimize for the assumptions first
<o11c> simpson: the more complex level is: for each __module__.__qualname__, record the series of micropasses that are used to optimize the code
<o11c> simpson: you have to ensure that each micropass is always *correct*, even if not optimal
<o11c> (this is how "trusted compilation" works)
<o11c> ("correct" often means: check the cheap precondition, and skip the pass if it fails)
ArchDebian has quit [Ping timeout: 255 seconds]
<fijal> o11c: the problem is usually "what does it mean that you load the same module/class/function"
<o11c> < o11c> if multiple functions are dynamically created with the same __module__.__qualname__, pypy isn't under any obligations
<o11c> although I suppose something should be done if __qualname__ is assigned right after creation
<Alex_Gaynor> under any obligations to what, to optimize or to be correct?
kolko has joined #pypy
<Alex_Gaynor> Given the structure of the JIT, I think trying to make optimizations based on what __qualname__ is doesn't make any sense
<o11c> to optimize I mean
<o11c> Alex_Gaynor: most code isn't very dynamic
<o11c> it's why I love static type systems
<o11c> they express what the programmer actually *means*
<o11c> the only edge cases are for traits
ArchDebian has joined #pypy
amaury has joined #pypy
amaury has quit [Ping timeout: 268 seconds]
<kenaan> arigo default e300fd927c59 /pypy/module/itertools/interp_itertools.py: Disable an assert that fails also on CPython, where failure is better just ignored at least on PyPy
cstratak has quit [Quit: Leaving]
amaury has joined #pypy
nimaje has joined #pypy
jamesaxl has quit [Quit: WeeChat 1.7.1]
zware has quit [Remote host closed the connection]
tormoz has quit [Remote host closed the connection]
tormoz has joined #pypy
antocuni has joined #pypy
ArchDebian has quit [Ping timeout: 268 seconds]
ArchDebian has joined #pypy
vkirilichev has joined #pypy
antocuni has quit [Ping timeout: 240 seconds]
adamholmberg has quit [Remote host closed the connection]
vkirilichev has quit [Remote host closed the connection]
amaury has quit [Ping timeout: 260 seconds]