These are chat archives for dropbox/pyston

4th
May 2015
Marius Wachtler
@undingen
May 04 2015 19:11
@toshok protbuf needs weakref.proxy I added back the commented out getattr callback. And it works somewhat but I get a lot of crashes when the gc runs and tries to clean up the weakref.
Chris Toshok
@toshok
May 04 2015 19:12
:+1:
Marius Wachtler
@undingen
May 04 2015 19:14
Do you have an idea what the issue could be? Sorry writing from my phone but will soon be back.
Chris Toshok
@toshok
May 04 2015 19:14
oh, sorry I didn’t see your second sentence there
hm, not offhand
I can take a look but nothing’s coming to mind
Marius Wachtler
@undingen
May 04 2015 19:27
Ok I will look into it. You don't have to I was just asking because I thought you may know whats missing.
Michael Arntzenius
@rntz
May 04 2015 20:04
ok, my plan to compile things only with gcc-4.8.2 by using make pyston_gcc has failed, because apparently it uses clang to build things also?
and depending on which magic constant I use for the filler in object.h and dictobject.h, either gcc or clang trips a static assert
Chris Toshok
@toshok
May 04 2015 20:06
hm, that’s strange - that should only happen if clang is picking up a different version of gcc
do you have 4.9 installed alongside 4.8.2?
Michael Arntzenius
@rntz
May 04 2015 20:06
my system gcc is 4.9
Chris Toshok
@toshok
May 04 2015 20:06
yeah, clang autodetects the newest gcc includes to use (which include c++ headers)
not sure how do disable that behavior
clang -v will show you the one it selected
Michael Arntzenius
@rntz
May 04 2015 20:07
ah, that's helpful
the underlying problem is that master was exhibiting test failures when I compiled under gcc 4.9 or under clang-linking-vs-gcc-4.9
and I want to merge master into the unwinder branch, because I'm lagging pretty far behind
scroll down to slides about code alignment
granted, it’s all about hot loops, but I didn’t realize the branch predictor is so granular (32 bytes)
that was in 2010 though. no telling where things are now
Marius Wachtler
@undingen
May 04 2015 21:09
wow sounds bad
Kevin Modzelewski
@kmod
May 04 2015 22:04
@rntz yeah we compile some things with clang so that we can embed the bitcode into the executable
it might be easier to just move all of that code into the non-specially-compiled section than it would be to change the build system for it
you could try just moving all the files/code in src/runtime/inline into src/runtime
Chris Toshok
@toshok
May 04 2015 22:10
./test-timers.sh test/tests/list.py
sums      = 150248545
main time = 150248545
Michael Arntzenius
@rntz
May 04 2015 22:10
@kmod I went to master again and everything was passing OK, so I've just rebased onto master.
and it looks like exactly the tests I was expecting to fail with the new unwinder are failing, so everything seems OK so far
Chris Toshok
@toshok
May 04 2015 23:16
weird, i’m getting ImportError: No module named django.template.base when I try to run my django-template test now
ugh.. the cmake build does that. the makefile build seems to work
are we not searching lib_pyston in the cmake build?
oh I bet we search lib_pyston inside the cmake build dir

ew, so I have this in my lib_pyston directory:

lrwxrwxrwx  1 toshok toshok   13 Apr 27 15:45 django -> django-normal
drwxrwxr-x 17 toshok toshok 4096 Apr 29 20:04 django-normal
drwxrwxr-x 18 toshok toshok 4096 Apr 25 00:38 django-verbose

and cmake turns that into this (in ../pyston-build-release/lib_pyston):

-rwxrwxr-x  1 toshok toshok    0 Apr 29 23:45 django
drwxrwxr-x 17 toshok toshok 4096 Apr 29 15:20 django-normal
drwxrwxr-x 18 toshok toshok 4096 Apr 27 15:14 django-verbose
Kevin Modzelewski
@kmod
May 04 2015 23:22
yeah I regret having put django in lib_pyston
it works at first but it causes no end of issues :/
Chris Toshok
@toshok
May 04 2015 23:52
hm, the error seems pretty significant using clock_gettime() + __rdtsc() to compute MHz
we end up calculating 2500 MHz, and cpu MHz in /proc/cpuinfo is 2800.098
Chris Toshok
@toshok
May 04 2015 23:58
nevermind. rounding error. we calculate 2800.038 MHz, which is close enough