Atque_ has quit [Remote host closed the connection]
Atque has joined #pypy
<cfbolz>
I found a bad performance bug in our biginteger implementation in the whole int(<str>) discussion :-(
Dejan has joined #pypy
Atque has quit [Remote host closed the connection]
Atque has joined #pypy
<cfbolz>
basically it seems we use gradeschool O(n**2) multiplication if the sizes of the two ints are huge, but one is more than 2x larger than the other. this case was intentionally removed in 2007 with the comment "helps less than 1%", but that seems extremely untrue in my benchmarks, where I can basically get arbitrary slowdowns due to the different complexity
fotis has quit [Ping timeout: 264 seconds]
<antocuni>
what is the commit which removed it, out of curiousity?
<cfbolz>
antocuni: it's lost in some SVN merge mess
<cfbolz>
I didn't track it down
<antocuni>
ah right, in 2007 we were still on SVN
<cfbolz>
maybe it was "only" removed in 2012
<nimaje>
maybe the benchmark for that change didn't test with big enought numbers for it to help more
<cfbolz>
yes, I think it's f71817a5bdc9
<cfbolz>
look for _k_lopsided_mul
<antocuni>
digging more, the commit which removed in the branch was this: 398e2b212e8b
<cfbolz>
antocuni: ah, that branch contains the benchmark that stian used ;-)
<antocuni>
git people, please note why we like so much our named branches :)
<cfbolz>
yeah, looks like his numbers were indeed too small to show the complexity problem
<Dejan>
antocuni, i always thought git branches are always "named"
<antocuni>
AFAIK they aren't. The name of the branch is not part of the commit metadata
<Dejan>
can you create "unnamed" branch?
<Dejan>
i never tried...
<antocuni>
git branches are equivalent to hg bookmarks
<antocuni>
hg named branches are a different thing, for which git has no equivalent AFAIK
fotis has joined #pypy
fotis has quit [Ping timeout: 268 seconds]
Atque has quit [Read error: Connection reset by peer]
<phlebas>
do you run the pypy benchmarks with a python2 as runner? because I'm getting errors in the runner parsing output:
<phlebas>
```
<phlebas>
number = float(line.split(b" ")[0])
<phlebas>
benchmarks.py", line 28, in parser
<phlebas>
TypeError: must be str or None, not bytes
<phlebas>
```
<phlebas>
since `line` is a `str` that comes from subprocess.Popen, this sounds to me like it would only work if the runner is python2?
<phlebas>
i guess the question is, why is that even there? shouldn't `number = float(line.split()[0])` be the same in pretty much all cases that we care about (since it's passed to `float()` anyway)
<phlebas>
i opened an issue, maybe someone thinks that change should happen :)
<lesshaste>
tumbleweed, it is 22.04 indeed. Ah if I need pypy3-dev to install matplotlib that does cause a problem
<lesshaste>
Dejan, yes I got that to work.It's matplotlib that is the problem
<tumbleweed>
lesshaste: matplotlib doesn't have a whl for you, you have to built it from source