cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://quodlibet.duckdns.org/irc/pypy/latest.log.html#irc-end ) | use cffi for calling C | if a pep adds a mere 25-30 [C-API] functions or so, it's a drop in the ocean (cough) - Armin
dddddd has quit [Ping timeout: 246 seconds]
speeder39_ has quit [Quit: Connection closed for inactivity]
dddddd has joined #pypy
tsaka__ has quit [Ping timeout: 240 seconds]
speeder39_ has joined #pypy
_whitelogger has joined #pypy
tsaka__ has joined #pypy
tsaka__ has quit [Ping timeout: 276 seconds]
dustinm has quit [Quit: Leaving]
jcea has quit [Quit: jcea]
dustinm has joined #pypy
jkbbwr has joined #pypy
<jkbbwr> cfbolz: Hey, are you Carl Bolz-Tereick ?
<jkbbwr> Only asking because im trying to track them down, I read their paper on implementing Prolog in Python an was wondering if they had the code available anywhere to go thru.
<jkbbwr> s/read/skimmed
dustinm- has joined #pypy
<simpson> jkbbwr: https://bitbucket.org/cfbolz/pyrolog/src/default/ is a copy, but it might not be the newest.
dustinm has quit [Ping timeout: 240 seconds]
<jkbbwr> Ahh thanks. Didnt realise they were a bitbucket user. (I checked github/lab)
dddddd has quit [Remote host closed the connection]
speeder39_ has quit [Quit: Connection closed for inactivity]
<cfbolz> jkbbwr: hey
<cfbolz> Yep, sure am
<cfbolz> Bit bucket is the right place
<cfbolz> Let me know if you have any questions
<jkbbwr> cfbolz: I have so many questions. I am working thru the WAM book at the moment and its *hard*
<cfbolz> jkbbwr: hah, the wam is terrible
<jkbbwr> Any other suggestions?
<cfbolz> What's your goal?
<jkbbwr> Damn close to swi prolog for embedding in a compiler
<jkbbwr> (this is a really weird rabbit hole. don't judge me)
<cfbolz> jkbbwr: is speed an issue?
<cfbolz> (also, can't swi be embedded?)
<jkbbwr> The compiler I was working on is in Java
<jkbbwr> or at least JVM
<cfbolz> Right
<cfbolz> If speed isn't so much of an issue, there are small prolog engines in Java that you can use
wallet42 has quit [Ping timeout: 252 seconds]
<jkbbwr> None I found that quite fit the bill or had a decent api for constructing rules.
<jkbbwr> happy to be proven wrong.
<cfbolz> jkbbwr: well, going from this to 'I need to understand the wam' is a big leap, honestly ;-)
<jkbbwr> I am nothing but a fool for diving in too deep and over complicating things
<cfbolz> Have you tried jinni prolog?
<jkbbwr> Looking now
<jkbbwr> 5 years old and I fear for the quality but its a start
wallet42 has joined #pypy
<cfbolz> jkbbwr: OK, but picking up an existing one would still much easier than starting a new implementation
<cfbolz> There's also tuprolog but it's really rather slow
<jkbbwr> Id be okay with JPL (swi java bindings) or projog if it didnt require rules to be defined in a file up front
<simpson> jkbbwr: http://www.t3x.org/bits/prolog-6-slides.pdf is a recent exposition of the Prolog control core. You'd bring your own unification and outer control flow.
<jkbbwr> simpson: what is this magic. _reading_
<simpson> jkbbwr: http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf is a similar parallel construction. The main insight is that unification and control flow can be teased apart, and each piece is relatively simple in isolation.
<jkbbwr> Im reading it now and this is mind blowing.
<jkbbwr> damn I wish I knew lisp
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
oberstet has joined #pypy
tsaka__ has joined #pypy
tsaka__ has quit [Ping timeout: 240 seconds]
* mattip merged openssl-for-macos even though it fails two tests more than before
<mattip> but libressl was really old
mattip_ has joined #pypy
mattip has quit [Ping timeout: 245 seconds]
<cfbolz> mattip: ouch, seems my hypothesis is really old
<mattip_> :)
<cfbolz> Yay, test_marshal now passes
mattip_ is now known as mattip
xcm has quit [Remote host closed the connection]
glyph has quit [Quit: End of line.]
glyph has joined #pypy
xcm has joined #pypy
tsaka__ has joined #pypy
<mattip> only 42 more test fails (35 in lib-python which aggregate 74 "FAIL:" and 29 "ERROR:" test failures) till the buildbot is green
<cfbolz> Will try to do another one today
<cfbolz> (but I am also hunting a performance problem in utf-8 strings)
<mattip> cool, thanks. I guess we should implement some of the stupid datetime c interfaces, which would fix much of test_time
<mattip> since it changes the c-api so would be nice to do before the release
<mattip> cfbolz: we need to add some unicode benchmark tests. Your rutf8 speedups aren't really visible https://speed.pypy.org/changes/
<cfbolz> mattip: no, but I confirmed with a microbenchmark
<mattip> any thoughts about this stdin/stdout microbenchmark? https://bitbucket.org/pypy/pypy/issues/3071/pypy3-slows-down-simple-reading-from-stdin
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
<cfbolz> mattip: I'll look into it
<cfbolz> mattip: it's W_TextIOWrapper._readline that needs to be improved
<cfbolz> will try to make it faster
antocuni has joined #pypy
<mattip> that was a quick triage
<Dejan> what is the reason why some nightly builds do not have tests stats?
<Dejan> for an example none of the aarch64 builds have "own tests" and "applevel tests"
<cfbolz> mattip: the profiler immediately showed the problem
<mattip> Dejan: some interaction with the builder name and the upload name, probably somewhere here (summary.py)
<mattip> cfbolz: cprofile or vmprof?
<cfbolz> neither, valgrind
<mattip> heh
<cfbolz> it's useful if it's not a JIT problem
dddddd has joined #pypy
andi- has quit [Quit: WeeChat 2.6]
andi- has joined #pypy
BPL has joined #pypy
BPL has quit [Remote host closed the connection]
antocuni has quit [Ping timeout: 245 seconds]
andi- has quit [Quit: WeeChat 2.6]
andi- has joined #pypy
<ronan> own-tests' test_recompiler takes forever and ever, could we just get rid of it?
<cfbolz> that's cffi, right?
<cfbolz> it's a question for arigato then
<mattip> cfbolz: sad that it so quickly becomes a shouting match
<cfbolz> yeah :-(
antocuni has joined #pypy
<cfbolz> mattip: those commits help, but not enough
<cfbolz> still 2x slower than pypy2
<cfbolz> (down from 4x slower)
<mattip> "than pypy2"? aren't the commits _on_ pypy2?
<mattip> (thanks for looking at it)
<cfbolz> mattip: yes, but on pypy2 sys.stdout doesn't use the _io module
<cfbolz> (the commits are on both, actually, I backported the pypy3 changes to pypy2)
<antocuni> if pypy3 is now 2x slower instead of 4x after you made commits on pypy2, maybe it's because you slowed down pypy2 by 2x :)
<cfbolz> antocuni: no, sys.stdout is not using _io on pypy2
<antocuni> sure, I was just joking
<mattip> maybe you merged default to py3.6 before testing this and I just am not seeing the merge yet
<mattip> otherwise I don't understand what got faster
<cfbolz> pypy3 got 2x faster
<cfbolz> compared to before
<cfbolz> but we need another factor of 2
<cfbolz> on the benchmark in the issue
<mattip> cool
<cfbolz> (the performance of pypy2 on that benchmark is unchanged. however, you can write an equivalent benchmark that uses the _io module explicitly, that was also slow on pypy2, but is now 2x faster, with 2x more needed)
<mattip> I wonder how many other x2 speedups are easy changes :(
<cfbolz> many
<cfbolz> ;-)
<cfbolz> the hard part isn't the change, it's to find the problem though
antocuni has quit [Ping timeout: 240 seconds]
<cfbolz> mattip: I think that's why our policy of "we take performance bugs seriously" is good: we find those places that way
<mattip> +1
<cfbolz> mattip: I probably found the next big improvement, but need to run now
<Dejan> IMHO CPython can benefit of some PyPy refactors
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/4808 [mattip: force build, py3.6]
astronavt has joined #pypy
jkbbwr has quit [Quit: WeeChat 2.5]
antocuni has joined #pypy
<cfbolz> arigato: wow, that was a very thorough bug report
BPL has joined #pypy
Dejan has quit [Quit: Leaving]
antocuni has quit [Ping timeout: 246 seconds]
oberstet has quit [Quit: Leaving]
<mattip> ronan: the test_capi on py3.6 now only has memory allocation and refcount failures. I think we should skip them. What do you think?
xorAxAx has quit [Quit: Idle timeout reached: 172800s]
<ronan> mattip: we should check each test carefully to see if it can make sense on pypy, but yes, they can probably all be skipped
dustinm has joined #pypy
dustinm- has quit [Ping timeout: 268 seconds]
marky1991 has joined #pypy
speeder39_ has joined #pypy
kipras has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/4808 [mattip: force build, py3.6]
kipras has quit [Ping timeout: 245 seconds]
marky1991 has quit [Ping timeout: 276 seconds]
marky1991 has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
speeder39_ has quit [Quit: Connection closed for inactivity]
gutworth has quit [Remote host closed the connection]
danilonc has quit [Quit: WeeChat 1.9.1]
BPL has quit [Ping timeout: 276 seconds]
BPL has joined #pypy
BPL has quit [Client Quit]
gutworth has joined #pypy
speeder39_ has joined #pypy