These are chat archives for dropbox/pyston

31st
Mar 2015
Chris Toshok
@toshok
Mar 31 2015 00:28
man, wrapping that llvm::DenseMap<> + std::vector<> into another data structure is … painful
kinda wishing I hadn’t made the initial PR :)
Michael Arntzenius
@rntz
Mar 31 2015 01:03
@kmod Hey, do you know why there's a RELEASE_ASSERT(0) in compvars.cpp, TupleType::getitem()? It's getting tripped by, for example, (1,2,3)['foo'] with the -n flag on.
Kevin Modzelewski
@kmod
Mar 31 2015 01:06
I assume it's just unimplemented
Michael Arntzenius
@rntz
Mar 31 2015 01:06
ok, great
Kevin Modzelewski
@kmod
Mar 31 2015 01:07
hopefully it should just be a matter of doing the converted=var->makeConverted(); converted->getitem() thing
@toshok if it's too gnarly we don't have to do it now
Michael Arntzenius
@rntz
Mar 31 2015 01:08
what does makeConverted() do?
Kevin Modzelewski
@kmod
Mar 31 2015 01:09
it will let you create a "concrete" object (aka an actual tuple)
err, in general it lets you create a version of the variable with a new type
in this case we would go from unboxed-tuple to boxed-tuple
Chris Toshok
@toshok
Mar 31 2015 01:10
@kmod oh I went ahead and did it. I spent a while trying to create something that still functioned as a map<key,val> without the intervening int and it was a giant mess. the PR currently has a ContiguousMap type that requires a second call (with iterator->second) to get the actual value
@kmod i think it’s a good idea to make the change, since switching to a new type found like 3 or 4 more places I’d forgotten to convert entirely
calls to sym_table.erase(), e.g.
Kevin Modzelewski
@kmod
Mar 31 2015 01:11
ok cool :)
Chris Toshok
@toshok
Mar 31 2015 01:11
I’d like to figure out a way to get rid of that extra call and just have the map hide all of it. but it took ~an hour staring at template errors to get it to compile, then it crashed :)
Kevin Modzelewski
@kmod
Mar 31 2015 21:57
@tjhance fun exec feature:
t = ("a = 1", {})
exec t
print t
Travis Hance
@tjhance
Mar 31 2015 22:23
oh yeah i saw that in the cpython exec implementation
Chris Toshok
@toshok
Mar 31 2015 22:24
pyston::String is dead. long live llvm::StringRef
Chris Toshok
@toshok
Mar 31 2015 22:52
@kmod going to split out the generator gc fix from the rest of the fixes since it’s the ContiguousMap changes that are causing the test failures
and the generator fix is likely to be a bigger help to everyone :)
like:
pyston django_migrate.py                  :    5.9s baseline: 10.7 (-45.0%)
heh
Kevin Modzelewski
@kmod
Mar 31 2015 23:19
nice!
Travis Hance
@tjhance
Mar 31 2015 23:20
only what, like 5.6 seconds left to go?
(how fast is cpython on this again?)
Chris Toshok
@toshok
Mar 31 2015 23:21
well, with -I and the str colocation stuff it drops to 1.9s, iirc
cpython was like .1 seconds?
Travis Hance
@tjhance
Mar 31 2015 23:21
what’s -l?
Chris Toshok
@toshok
Mar 31 2015 23:21
interpreter only
with just the generator gc fix it’s:
              pyston django_migrate.py                  :    5.9s
   pyston_interponly django_migrate.py                  :    2.3s
Michael Arntzenius
@rntz
Mar 31 2015 23:29
hm, Python's test_argparse.py segfaults us
CPython's, rather