Am 16.11.2018 um 20:22 schrieb Simon Kissel: > Hi guys, > > turns out that in our real-life scenario there sadly aren't big > improvements yet. Might be due to the exception handling, but > we haven't profiled it yet. As said we have seen better improvements > in simpler benchmark code - but this benchmark here is what > really matters for us. > > Please find the benchmark here - the ZIP includes a Kylix-built > binary. > > https://share.nerdherrschaft.net/f/2ac772f0327e4840a533/?dl=1 > > Here are some results from a Dualcore i7 with 2 cores and 4 HT, > 32 bit: > > Kylix: > Time: 5015ms = 9770688 pkts/s = 14610 MB/s > ./vipribenchmemcache_nodeps_kylix 5.06s user 0.01s system 99% cpu 5.119 total > > FPC 3.0.4: > Time: 5052ms = 8016627 pkts/s = 11987 MB/s > ./vipribenchmemcache 5.07s user 0.01s system 97% cpu 5.206 total > > FPC 3.3.1 trunk (SVN Rev 40300): > Time: 5040ms = 8035714 pkts/s = 12016 MB/s > ./vipribenchmemcache_nodeps 5.07s user 0.02s system 97% cpu 5.207 total > > Benchmark results for ARM will follow.
With some compiler tuning and a few tricks (two changes to the code and hand-simulated peephole optimizations, but I think these tricks can also the compiler do): florian@ubuntu32:~$ ./vipribench VipriBenchThreaded - RunningTimeSeconds=5, TestCount=100, StartSeq=0, NumberOfChannels=6, BufferPackets=5000, NumberOfSynchroThreads=4 .............................................................................................. Time: 5005ms = 9390609 pkts/s = 14042 MB/s florian@ubuntu32:~$ ./vipribenchmemcache_nodeps_kylix VipriBenchThreaded - RunningTimeSeconds=5, TestCount=100, StartSeq=0, NumberOfChannels=6, BufferPackets=5000, NumberOfSynchroThreads=4 ............................................................................................. Time: 5018ms = 9266640 pkts/s = 13856 MB/s ;) _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel