Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

RE: Speed up SimH by using C++ exceptions instead of setjmp/longjmp



On Friday, April 1, 2016 at 1:33 PM, Jake Hamby wrote:
[,,,]
> Preliminary tests were that it took about 40 clock cycles for a "nop" (on a 3.3
> GHz Xeon E3-1230), for the C version (compiled for 64-bit FreeBSD with GCC
> 4.8.5 and GCC 5.3.0), the equivalent of an 82.5 MHz VAX, which decreased to
> about 38 cycles when compiled as C++ (with no other changes!), and down to
> about 34 clock cycles when setjmp()/longjmp() is changed to
> try/catch/throw, the equivalent of a 96.5 MHz VAX. So, a fairly nice speedup
> for a few hours of work.

Sounds quite interesting.

> I'll try to get at least the two VAX emulators and PDP-11 compiling as C or C++
> and then send some diffs to the list and to the SimH maintainer this evening.

I am the simh maintainer.

Since you've mentioned "two VAX emulators", this suggests that you're not 
using the latest codebase from https://github.com/simh/simh

Please submit any patches (or better yet a pull request) against that codebase.

Thanks.

- Mark Pizzolato



Home | Main Index | Thread Index | Old Index