On Mon, 1 Jan 2001, Kevin Lawton wrote:
> > I would estimate the impact of the write-cache performance
> > to be less than 0,001% on the total plex86 performance based on
> > the following reasoning:
>
> Good 4 points above. I like when people do some thinkings on
> performance impact before they chose tools. Obviously you've
> done much of this. Based on your estimates of total performance
> impact, you have a good argument for using the C++ class to
> yield better coding productivity.
Well, as far as performance goes, it probably wouldn't matter all that
much anyway, as the C++ overhead would be neglidgible compared to context
switching times. All of the performance-critical stuff at low level (as
opposed to algorithmically) would have to be in the monitor before it
would make any sense to optimize it.
However, I do think we should stick to a common language, and I am very
much against the use of C++. It is not so much an issue of performance
but of clean architecture. The plex86 user program is written in C and
though the only requirement for plugins is that they obey the C calling
convention, it doesn't seem like a clean design to write "basic" plex
plugins in a completely different way. The bochs plugin is basically a
hack --- io.cc deals with all of the conversions, and it is VERY
ugly. We should convert it to C when we split it (which shouldn't be too
difficult because though the bochs plugin is written in C++, it doesn't
actually use any serious OO.)
So I suggest we all stick to C, also when writing the plugins, not because
of performance but in order to keep the codebase clean. An exception
would be the GUI plugin, which would on some systems be impossible to
write in C..
-- Ramon