These are chat archives for dropbox/pyston

15th
Nov 2015
AlphaStream
@AlphaStream
Nov 15 2015 01:49
Hi, I want to try and and dig into cpython/test_global.py .
1) Does it seem to be too hard for the first test to take on?
2) Is there something one needs to know about warnings beforehand? Such as any command like args that turn warnings on/off.
3) How to make the test framework run this test only? The manual says "Remove the #expected: fail flag and run make check_TESTNAME (without .py) to compare the result to CPython's". So I tried running
make check_test_global
, no luck.
*command line args
Rudi Chen
@rudi-c
Nov 15 2015 04:34
You can execute the test file directly: ./pyston_dbg test/cypthon/test_global.py
lesshaste
@lesshaste
Nov 15 2015 06:37
I tried to install pyston for the first time on ubuntu using https://github.com/dropbox/pyston/blob/master/docs/INSTALLING.md
but it doesn't seem to work... are these still the right instructions?
Rudi Chen
@rudi-c
Nov 15 2015 06:49
What problem are you running into? It worked for me quite recently.
lesshaste
@lesshaste
Nov 15 2015 06:52
I have just started the whole things from scratch.. I am sure it is just that I am doing it wrong
but before I get to that.. the git clone --global user.email "you@example.com" line and the one below shouldn't be need just to clone should they?
this seems more for devs
Rudi Chen
@rudi-c
Nov 15 2015 06:55
Yeah, in theory if you don't make any commits you shouldn't need to git config.
Rudi Chen
@rudi-c
Nov 15 2015 07:00
Btw if you run into any specific error message, feel free to post it here, we may be able to help.
lesshaste
@lesshaste
Nov 15 2015 07:00
make llvm_up is now running...
which is further than I got last time
lesshaste
@lesshaste
Nov 15 2015 07:07
I am impressed by the amount of cpu power needed to do this! All 8 cores are running clang at full tilt and it is only half way through
Rudi Chen
@rudi-c
Nov 15 2015 07:08
Yeah llvm takes forever to compile x-x
lesshaste
@lesshaste
Nov 15 2015 07:18
seems to have compiled this time!
lesshaste
@lesshaste
Nov 15 2015 07:39
now make check is taking forever :)
lesshaste
@lesshaste
Nov 15 2015 08:04
compiled! Now I just need to find a script that doesn't use numpy....
tested a simple piece of short code.. 22 seconds in cpython, 18 in pyston, 6 in pypy
lesshaste
@lesshaste
Nov 15 2015 08:09
any interest in analysing this?
lesshaste
@lesshaste
Nov 15 2015 08:29
I have some relatively simple code that is much slower in pyston than cpython.. any interest?
Rudi Chen
@rudi-c
Nov 15 2015 08:34
If it's no trouble to make a gist, sure, why not.
I have never made a gist
2 minutes in pyston
Rudi Chen
@rudi-c
Nov 15 2015 08:41
It's basically the same thing but it's on github and has syntax highlighting.
lesshaste
@lesshaste
Nov 15 2015 08:41
27 seconds in cpython
to be clear.. it's about 120 seconds in pyston and 27 seconds in cpython currently
Rudi Chen
@rudi-c
Nov 15 2015 08:42
Using the -s command line option for pyston displays timing stats by the way.
lesshaste
@lesshaste
Nov 15 2015 08:46
Rudi Chen
@rudi-c
Nov 15 2015 08:49
Yeah I get something like that too. Looks like a lot of time is spent in GC.
lesshaste
@lesshaste
Nov 15 2015 08:49
interestingly it's very bad for pypy too
although I have no idea if pyston and pypy have anything relevant in common
Rudi Chen
@rudi-c
Nov 15 2015 08:50
They both having tracing garbage collectors.
lesshaste
@lesshaste
Nov 15 2015 08:50
ah ok
cpython 27 seconds, pypy 74, pyston 120
Rudi Chen
@rudi-c
Nov 15 2015 08:52
When a lot of short-lived objects are created, Pyston and PyPy are often slower because CPython can often reuse the same area in memory over and over. Not sure if that's what's happening here, but that's my guess.
I guess the question is, why is it not JITed.
lesshaste
@lesshaste
Nov 15 2015 08:55
right
Kevin Modzelewski
@kmod
Nov 15 2015 10:24
oh interesting
yeah 85 seconds out of 120 in the gc seems pretty significant...
maybe it's all of those short-lived tuples?
we probably don't do very well at that
Kevin Modzelewski
@kmod
Nov 15 2015 10:32
it looks like we also don't do particularly well at handling the defaultdict
since we treat it as an "unknown C type" and scan it conservatively
not sure how much we can do about these issues right now; hopefully refcounting will work and will help :P
but regardless, thanks for reporting it!
and I'm also surprised the pypy has a hard time with it
@AlphaStream what issue are you having with make check_test_global?
it seems to work ok for me
the docs are a little bit off (do you remember where that was? I can update it) -- we won't actually compare the result of this test against cpython, we'll just run the test and see if it passed or not
Kevin Modzelewski
@kmod
Nov 15 2015 10:37
you can also try make run_test_global
lesshaste
@lesshaste
Nov 15 2015 11:42
thanks kmod
AlphaStream
@AlphaStream
Nov 15 2015 16:35
@kmod now that I tried make check_test_global again, it worked. Could've done something wrong earlier.
I read it in CONTRIBUTING.md - "... run make check_TESTNAME (without .py) to compare the result to CPython's"
Thanks!
Kevin Modzelewski
@kmod
Nov 15 2015 23:35
awesome! glad it's working
let us know if there's anything we can do to help you get started hacking on it