These are chat archives for dropbox/pyston

25th
Jun 2015
Chris Toshok
@toshok
Jun 25 2015 00:01 UTC
man, switching between branches that have different CMakeLlists.txt ….
Travis Hance
@tjhance
Jun 25 2015 00:03 UTC
D:
Chris Toshok
@toshok
Jun 25 2015 01:04 UTC
weird, why is there such a disparity between the output of time and pyston-perf’s investigate.py?
investigate.py: django_template.py 5.6s (2) 5.4s (2) -2.2%
cd’ing into the pyston directory, and running time ./pyston_release minibenchmarks/django_template.py twice gives this for the second run:
real    0m4.904s
user    0m4.718s
sys    0m0.179s
Kevin Modzelewski
@kmod
Jun 25 2015 01:37 UTC
investigate always runs things under perf
it annoying because it makes the raw times uncomparable with other tools
but it's nice because it means the perf results are always available :)
Chris Toshok
@toshok
Jun 25 2015 01:40 UTC
ah right, you’d mentioned perf.
Travis Hance
@tjhance
Jun 25 2015 02:34 UTC
argh, some llvm header file triggers warnings

Chris Toshok
@toshok
Jun 25 2015 04:38 UTC
oh interesting. a reraise from an osr frame
#10 0x00000000007c48b6 in pyston::throwReraise (e=...) at ../../src/codegen/unwinding.cpp:654
#11 0x00000000008bfdcd in raise3 (arg0=0x1de39a0 <_PyExc_ImportError>, arg1=0x1273527cf8, arg2=0x1273483d08) at ../../src/runtime/stacktrace.cpp:257
#12 0x00007ffff3fab066 in compile_e3_osr161_from_compile_e2_421_545 () at /mnt/toshok/pyston/test/extra/cheetah_test_env_pyston_dbg/site-packages/Cheetah/Template.py:805
#13 0x00007ffff444a059 in compile_e2_421 () at /mnt/toshok/pyston/test/extra/cheetah_test_env_pyston_dbg/site-packages/Cheetah/Template.py:-1
a confluence of edge cases
Chris Toshok
@toshok
Jun 25 2015 17:31 UTC
sweet. have the thread-local run allocator working. assembly for the fast path is tiny.
Chris Toshok
@toshok
Jun 25 2015 17:54 UTC
half the size, and should be faster. I think I can probably get it to half again as large just by making it a static method + getting rid of the TLS initialization code and extra branching
overall my pathological loop.py (for i in xrange(100000): pass) is slower because we don’t regenerate Runs during the sweep phase, and the slowpath for _getRun is “allocate a new block from the arena"
Marius Wachtler
@undingen
Jun 25 2015 20:54 UTC
does anything speak against using the BoxedModule::getIntConstant() etc functions inside the ast itnerpreter + new jit tier?
Kevin Modzelewski
@kmod
Jun 25 2015 20:56 UTC
oh hmm that probably makes sense
I guess I assumed that it would be more expensive to constantly do the hashtable lookups
but that's probably faster than reallocating
Marius Wachtler
@undingen
Jun 25 2015 20:57 UTC
ok, I could also just use it for the jit tier and leave the interpreter as is
Kevin Modzelewski
@kmod
Jun 25 2015 21:01 UTC
eh now that I think about it, I'd guess it's probably good to use it for the interpreter too, but I don't know
Marius Wachtler
@undingen
Jun 25 2015 21:03 UTC
I thin with the jit tier in place it should not get hit to often to make a difference. but if something goes wrong may be easier to figure out whats wrong if there is no difference between the tiers.
Chris Toshok
@toshok
Jun 25 2015 21:43 UTC
evidence you didn’t sleep enough last night: for (int b = 0; b < meta->num_obj; i ++) {
Marius Wachtler
@undingen
Jun 25 2015 21:45 UTC
just add a #define i b inside the one of the header files :-P
Marius Wachtler
@undingen
Jun 25 2015 21:58 UTC
I know I keep postponing the jit: but now all tests pass (with OSR) so I'm confident that I can submit it before monday (hopefully already tomorrow but not sure)...
Chris Toshok
@toshok
Jun 25 2015 21:58 UTC
awesome
Kevin Modzelewski
@kmod
Jun 25 2015 22:26 UTC
hey marius, any theories why I might be failing fewer cheetah tests than on travis-ci?
Marius Wachtler
@undingen
Jun 25 2015 22:30 UTC
mmh without any change to pyston or cheetah? (thinking about: https://bitbucket.org/pypy/compatibility/wiki/cheetah)
Kevin Modzelewski
@kmod
Jun 25 2015 22:31 UTC
yeah this is just running make run_release_cheetah_test on master
Marius Wachtler
@undingen
Jun 25 2015 22:38 UTC
do you know the number of failures/errors you are getting?
Kevin Modzelewski
@kmod
Jun 25 2015 22:41 UTC
hmm I think it's because I have the cheetah binary available
Marius Wachtler
@undingen
Jun 25 2015 22:44 UTC
oh yeah that could be the problem, had a similar one once
Kevin Modzelewski
@kmod
Jun 25 2015 22:45 UTC
doh, yeah
I have a system 'cheetah' available
somehow
Marius Wachtler
@undingen
Jun 25 2015 22:47 UTC
I too had the dist package installed...