These are chat archives for ChaiScript/ChaiScript

21st
Jun 2015
Andreas Reischuck
@arBmind
Jun 21 2015 21:57
@lefticus Travis CI still defaults to gcc 4.6
Jason Turner
@lefticus
Jun 21 2015 22:08
Yes. I currently use travis for 4.6 and 4.8. If/when I drop 4.6 support (it's causing a few headaches for me) I might move that to 4.7 and 4.8
Andreas Reischuck
@arBmind
Jun 21 2015 22:09
I've just updated Twofold-ChaiScript to run gcc 4.9 and clang on Travis CI
Jason Turner
@lefticus
Jun 21 2015 22:10
@arBmind On develop now I have another ~15% performance improvement. If you have the time it could be interesting to see how the performance now compares for you
Andreas Reischuck
@arBmind
Jun 21 2015 22:10
Unfortunately it's still far too slow
Jason Turner
@lefticus
Jun 21 2015 22:10
oh I thought we were getting pretty close to Qt if we disabled threading
Andreas Reischuck
@arBmind
Jun 21 2015 22:10
500ms vs 200ms (QtScript)
It's better than ever, but still not really close
Jason Turner
@lefticus
Jun 21 2015 22:11
So that's Linux, g++4.9, threading disabled comparisons?
393ms vs 1186ms
Jason Turner
@lefticus
Jun 21 2015 22:15
I'm not very used to qmake, but some of our Twofold-Qt build looks odd
This line indicates -O2 with g++-4.9
g++-4.9 -c -pipe -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_TESTLIB_LIB -DQT_SCRIPT_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR=\"/home/travis/build/hicknhack-software/Twofold-Qt/test/TestIntegration\" -I. -I../../src -I/home/travis/build/hicknhack-software/Twofold-Qt/vendor/include -I/opt/qt54/include -I/opt/qt54/include/QtTest -I/opt/qt54/include/QtScript -I/opt/qt54/include/QtCore -I. -I/opt/qt54/mkspecs/linux-g++ -o TestIntegration.o TestIntegration.cpp
here's the other link
Andreas Reischuck
@arBmind
Jun 21 2015 22:17
-O1 is linking, -O2 is compiling
Jason Turner
@lefticus
Jun 21 2015 22:17
still strikes me as odd, like it's potentially using a different linker than compiler
Thank you for still following along with chaiscript and testing against it
Andreas Reischuck
@arBmind
Jun 21 2015 22:23
It's really strange... linker should use the same g++ as the compiler
@lefticus do you think -O3 makes a difference?
Jason Turner
@lefticus
Jun 21 2015 22:26
yes, chaiscript can benefit a lot from the more advanced optimizations. link time optimization helps too
I'm going to play with it for a few minutes over here to see what I see
Andreas Reischuck
@arBmind
Jun 21 2015 22:39
I've triggered an -O3 build... 882ms on Travis
Jason Turner
@lefticus
Jun 21 2015 22:41
With -O3 and -DCHAISCRIPT_NO_THREADS I get 489ms for ChaiScript, 274ms for Qt
for your TwoFold
Andreas Reischuck
@arBmind
Jun 21 2015 22:42
Still two times slower :(
Jason Turner
@lefticus
Jun 21 2015 22:44
just about
well, I'm 6.5x faster than I was 1 year ago. So, I guess in 1 more year, I'll be 3x faster than QtScript?
:)
Andreas Reischuck
@arBmind
Jun 21 2015 22:47
the bare execution time of an equivalent C++ code is around 30ms
Jason Turner
@lefticus
Jun 21 2015 22:48
well, I have this build on linux now, so I'm going to profile it and see if anything new pops up. It's been a while since I've profiled
Jason Turner
@lefticus
Jun 21 2015 22:54
It looks like your code is still having many internally handled exceptions. I'm not sure why, but I will investigate
Andreas Reischuck
@arBmind
Jun 21 2015 22:55
I have no throw in my code and Qt avoids exceptions entirely...
Jason Turner
@lefticus
Jun 21 2015 22:55
yes, I know it's coming from ChaiScript. Just not sure where/why
I thought I had sorted that out a few months ago
Andreas Reischuck
@arBmind
Jun 21 2015 22:56
From my glimpse over the code... the function resolutions are still nested exceptions
Jason Turner
@lefticus
Jun 21 2015 22:57
there are yes, but I try to intelligently filter as much as possible to avoid actually needing the exceptions
I actually was looking at that code this week and in my performance tests I'm never hitting those exceptions. So I need to see why your code is exercising them
Well I'll look and let you know if I find anything
Andreas Reischuck
@arBmind
Jun 21 2015 22:58
thank you for all your efforts... I still hope ChaiScript will be much faster than Javascript ;)
I will have to sleep now... Good luck!