It runs in less than 6 seconds on my desktop, and when running it with Cachegrind, I don't see any particular bottlenecks.
There is *16.01%* spent in Symbol::resolve(), where about half of that is in Value::clone() and a bit less than half on a function called copy_1() which I haven't looked at. Value::clone() is using a total of *11.81%*, so for this test case implementation of copy-on-write arrays would not buy you that much. Regards, Elias On 8 September 2015 at 19:30, Mike Duvos <[email protected]> wrote: > Hi, > > SVN 675 fixes the things that were preventing PI1000 from running > correctly, so I can now benchmark it in GNU APL. > > In order to be as fair as possible, I have built GNU APL on an Amazon > instance running 64 bit Ubuntu Server LTS, to eliminate any overhead due to > Cygwin, and turned off all the performance monitoring and instrumentation > in ./configure. > > So here goes... > > [GNU APL] > > TIME 'PI1000' > 31415 92653 58979 32384 62643 38327 95028 84197 16939 93751 > 05820 97494 45923 07816 40628 62089 98628 03482 53421 17067 > 98214 80865 13282 30664 70938 44609 55058 22317 25359 40812 > 84811 17450 28410 27019 38521 10555 96446 22948 95493 03819 > 64428 81097 56659 33446 12847 56482 33786 78316 52712 01909 > 14564 85669 23460 34861 04543 26648 21339 36072 60249 14127 > 37245 87006 60631 55881 74881 52092 09628 29254 09171 53643 > 67892 59036 00113 30530 54882 04665 21384 14695 19415 11609 > 43305 72703 65759 59195 30921 86117 38193 26117 93105 11854 > 80744 62379 96274 95673 51885 75272 48912 27938 18301 19491 > 29833 67336 24406 56643 08602 13949 46395 22473 71907 02179 > 86094 37027 70539 21717 62931 76752 38467 48184 67669 40513 > 20005 68127 14526 35608 27785 77134 27577 89609 17363 71787 > 21468 44090 12249 53430 14654 95853 71050 79227 96892 58923 > 54201 99561 12129 02196 08640 34418 15981 36297 74771 30996 > 05187 07211 34999 99983 72978 04995 10597 31732 81609 63185 > 95024 45945 53469 08302 64252 23082 53344 68503 52619 31188 > 17101 00031 37838 75288 65875 33208 38142 06171 77669 14730 > 35982 53490 42875 54687 31159 56286 38823 53787 59375 19577 > 81857 78053 21712 26806 61300 19278 76611 19590 92164 20198 > 8.244 Seconds. > > Pretty impressive! > > >
