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
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/5314 [mattip: build release, release-pypy3.6-v7.x]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-s390x/builds/1446 [mattip: build release, release-pypy3.6-v7.x]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-aarch64/builds/745 [mattip: build release, release-pypy3.7-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-aarch64/builds/746 [mattip: build release, release-pypy3.6-v7.x]
<bbot2> Exception: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/5645 [mattip: build release, release-pypy3.7-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/5646 [mattip: build release, release-pypy3.6-v7.x]
jcea has quit [Read error: Connection reset by peer]
jcea has joined #pypy
jcea has quit [Ping timeout: 268 seconds]
cptpcrd2 has quit [Ping timeout: 244 seconds]
cptpcrd2 has joined #pypy
jiffe has quit [Ping timeout: 260 seconds]
jiffe has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/5646 [mattip: build release, release-pypy3.6-v7.x]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-aarch64/builds/746 [mattip: build release, release-pypy3.6-v7.x]
tsaka__ has quit [Read error: Connection reset by peer]
tsaka__ has joined #pypy
oberstet has joined #pypy
lazka has quit [Quit: Ping timeout (120 seconds)]
lazka has joined #pypy
<fijal> oberstet: hey, I'm around now
<oberstet> ah, hi!
<fijal> so vmprof.... I'm quite disappointed in myself and the state of vmprof tbh ;-)
<fijal> we thought if we make it a service, we can make it a business
<fijal> but turns out that pople don't care all that much
<oberstet> so, in my eyes, the service is one thing, the profiler itself another. are you disappointed rgd the former (only) or latter (also)?
<fijal> profiler mostly works and does a good job
<fijal> except when it doesn't and that needs fixing
<fijal> it's a bit tricky with pypy and the JIT though
<fijal> but fixable tricky, I think
<fijal> so mostly the service/presentation
<oberstet> right, I was hoping to hear that you still are convinced of vmprof! =) I am. it's super useful, and the ability to profile in production, and ..
<fijal> I have been doing a lot of non-IT stuff recently
<fijal> you might be glad to hear we are quite heavily using crossbar at the climbing gym
<oberstet> =) for realz? cool
<fijal> well, we don't *really* use it for anything too useful I guess
<fijal> but our internal system runs on crossbar, I find it quite a pleasant way to do web
<oberstet> some thoughts rgd the "service": in the context of profiling, the closest sw cat. I can see is big enterprise monitoring systems ... a plugin for sth that exists there and allows to deeply tap into any python VM running on any server in the enterprise does sound like a thing ..
<fijal> yes, I think that's the right idea
<fijal> have you found something where it would make sense to plug in?
<fijal> I *think* fixing it for arm64 would not be a massive task
<oberstet> ok, couple of thoughts .. sorry, multiple:
<oberstet> rgd a product around vmprof ("service" in above): my best idea is ^ plugin for existing big enterprise .. more classic sw licensing
<oberstet> rgd vmprof is embedded in crossbar, and we currently have a need to fix an issue on arm64 (startup time) in crossbar itself
<oberstet> rgd vmprof as an integral part of "something" ... visible to the users of the "something" rather than to implementors (eg us):
<oberstet> I think python in embedded could be a super interesting case
<oberstet> vmprof in such a context
<fijal> ok
<fijal> so I can help you with arm64 and startup time in crossbar itself, I think
<oberstet> great!!
<fijal> when do you need it for?
<fijal> for pypy I presume?
<oberstet> in general, do you have (coding) time to spend currently (I mean for money eg ..)
<fijal> I will have time from 1st December. In the meantime I can squeeze in a day or two
<LarstiQ> fwiw, I haven't really tried vmprof in our production setup, but being able to profile running containers would be quite useful
<fijal> we never got to the point of having a meaningful aggregation service
<fijal> oberstet: I think vmprof on aarch64 should work out of the box, it's a matter of updating a few tests and changing a few checks, I think?
<fijal> maybe not actually, needs a page of careful code I reckon
rjarry has quit [Quit: ZNC - https://znc.in]
rjarry has joined #pypy
xcm has quit [Remote host closed the connection]
mwhudson has quit [Remote host closed the connection]
mwhudson has joined #pypy
mwhudson has quit [Changing host]
mwhudson has joined #pypy
xcm has joined #pypy
mjacob has quit [Remote host closed the connection]
<fijal> ok, so for all I know the test seems to pass
<fijal> did we ever do vmprof on arm?
<mattip> we run it in the pypy buildbots for pypy arm, it has a few failing tests that might be related to the pypy backend
<fijal> ok, it does not work
<fijal> mattip: I think we never wrote vmprof support in the arm backend
<mattip> that would explain it
cfbolz has quit [Read error: Connection reset by peer]
EWDurbin has quit [Ping timeout: 260 seconds]
kristjansson has quit [Ping timeout: 272 seconds]
DRMacIver has quit [Read error: Connection reset by peer]
graingert has quit [Read error: Connection reset by peer]
michelp has quit [Read error: Connection reset by peer]
DRMacIver has joined #pypy
michelp has joined #pypy
kristjansson has joined #pypy
EWDurbin has joined #pypy
graingert has joined #pypy
cfbolz has joined #pypy
<fijal> tests fail if you actually enable them
<fijal> I did not investigate reasons
<mattip> have we ever benchmarked py3.7?
<mattip> , it times out when running the full numpy test suite
LordKalma has joined #pypy
<LordKalma> hey guys
<LordKalma> need a bit of help with cffi
<LordKalma> I have a header file, and a dll, and I'm on windows
<LordKalma> but linker.exe always wants the .lib
<LordKalma> how does one make cffi just expect the dll to be present
<LordKalma> instead of trying to link?
mjacob has joined #pypy
Dejan has joined #pypy
<Dejan> wow, only 9 failed tests (own) in 3.7 !
<Dejan> could it mean the stable release is not far away?
<mattip> LordKalma: something like this "ffi = cffi.FFI(); with open('header.h') as fid: ffi.cdef(fid.read()); lib = ffi.dlopen('lib.dll')"
<mattip> then you call functions via lib.funcname(arg1, arg2, ...)
<LordKalma> I need the ABI mode
<LordKalma> I'll just do this instead
<LordKalma> seems to be almost working, not I have some errors in my header file that I'll fix right away
<mattip> and is the easiest but slowest way to use cffi
<Dejan> So Python is now above Java on TIOBE index
<LordKalma> then I meant the other one, the API mode
<LordKalma> because I need complex math support
<LordKalma> and it's the only mode with it
jcea has joined #pypy
<LordKalma> Dejan, that index suxx, honestly
<mattip> then you need a compiler and with msvc the linker requires an import library
<LordKalma> that«s what I linked
<Dejan> LordKalma, yea, I know
<LordKalma> thanks for the tips
<LordKalma> I'll keep pushing to see if I can get this done
<LordKalma> btw
<LordKalma> if you can't have #includes in the file you pass to cdef
<LordKalma> how can I have complex types?
<LordKalma> now that's my current problem
<mattip> you find the definition of complex used in the included files and cdef that as text
<LordKalma> they are just structs
<LordKalma> what I dont understand is
<LordKalma> I've done this with mingw before, not msvw
<LordKalma> and I could cleate complex number, and they would print as complex numbers in python
<LordKalma> but if Ijust typedef here a struct
<LordKalma> it won't show as a complex number, I guess
<LordKalma> but oh well, numpy will eat it anyway
<LordKalma> >>> a = ffi.new("_FComplex *"); a[0] -> <cdata '_FComplex' owning 8 bytes>
<LordKalma> that's what I was expecting...
<LordKalma> I'll use numpy anyway, so it doesn't matter too much
<LordKalma> and 8 bytes seems right, so padding is ok
<EWDurbin> mattip: you didn't happen to be updating speed.pypy.org's database information?
<EWDurbin> mattip: looks like some bad data crashed the instance
<EWDurbin> "codespeed.models.Executable.MultipleObjectsReturned: get() returned more than one Executable -- it returned 2!"
<EWDurbin> since the DEF_EXECUTABLE is set to pypy3-jit-64 but there are two such records in the DB
<EWDurbin> one for the PyPy3.6 and one for the PyPy3.7 project
<EWDurbin> mattip: i'm not sure what to do with this situation, let me know if/how i can help beyond this triage
<mattip> EWDurbin: I ran a benchmark with a new exe
<mattip> thanks for the heads up
<mattip> ahh, it crashed the site too
<EWDurbin> yeah :)
<EWDurbin> 😹
<EWDurbin> that's why i mention it
<mattip> I guess I need to do some sql to back out the benchmark run
<mattip> I see how to acess psql, now I need to work out the table layout
<mattip> (first I will dump the data so I can recreate the problem)
<mattip> EWDurbin: thanks, the site is back up. Where did you see that notice (and how can I connect to recieve it as well)?
<EWDurbin> i have paging setup via pingdom
<EWDurbin> DM me your email address and i'll add you to down notifications if you don't want the full pagerDuty setup
om26er has joined #pypy
TheNewbie has joined #pypy
TheNewbie has quit [Quit: Leaving]
<mattip> EWDurbin: ahh, I see, pingdom is a site that gives notices. That is great, thanks
<mattip> EWDurbin: how do I see the error message from the codespeed site? Is there a log somewhere in the server?
jacob22 has quit [Read error: Connection reset by peer]
jacob22 has joined #pypy
<EWDurbin> mattip: /var/log/codespeed
<mattip> thnx
om26er has quit [Quit: Connection closed]
Kipras_ has joined #pypy
todda7 has joined #pypy
tsaka__ has quit [Ping timeout: 246 seconds]
lritter has joined #pypy
wilbowma has quit [Ping timeout: 260 seconds]
kipras has joined #pypy
Kipras_ has quit [Ping timeout: 260 seconds]
tumbleweed has quit [Quit: leaving]
tumbleweed has joined #pypy
tumbleweed has quit [Changing host]
tumbleweed has joined #pypy
oberstet has quit [Quit: Leaving]
tumbleweed has quit [Client Quit]
lritter has quit [Ping timeout: 246 seconds]
tumbleweed has joined #pypy
tumbleweed has joined #pypy
wilbowma has joined #pypy
jacob22 has quit [Read error: Connection reset by peer]
jacob22 has joined #pypy
tumbleweed has quit [Quit: leaving]
tumbleweed has joined #pypy
tumbleweed has quit [Changing host]
tumbleweed has joined #pypy
tumbleweed has quit [Quit: leaving]
tumbleweed has joined #pypy
tumbleweed has quit [Quit: leaving]