[Mono-list] APR musings

Jeffrey Stedfast fejj@ximian.com
19 Feb 2002 22:09:34 -0500

On Tue, 2002-02-19 at 20:56, John Barnette wrote:
> Guys,
> This may have been discussed before, but I've been on the lists for 
> quite a while and haven't seen it come up.  After the initial push 
> to get a runtime working is ebbing (way to go guys, btw), would it 
> be a good idea to consider reworking the runtime and interpreter 
> to use the Apache Portable Runtime?  It seems that it would provide 
> a pretty significant boost with some of the thread portability issues,
> etc, that've been hitting the list.

I see a few problems with this:

1. it forces more dependencies on Mono, which I think we are trying to
eliminate more than add-on if we can.

2. the thread issues have already been fixed by me ;-)

3. generic Portable Runtimes, in my experience, tend to bloat things out
a lot and often become fairly inefficient because of all the abstraction
(and this will be a very Bad Thing for mono if we want it to run any
sizable application in the future). I haven't seen APR so I could be
wrong here, my experience mostly lies with NSPR.

4. abstractions tend to eliminate "rarely used" stuff and there seems to
be a fair bit of rarely-used stuff in the io-layer in mono (stuff that I
had never even known existed in ioctl calls).

5. Other than the io-layer and threads stuff, there hasn't been too much
a problem with anything else afaik. Since these issues have been solved
(at least for the time being), it's not a huge issue I don't think.

IMHO, a very thin low-level abstraction layer is ideal in the case of
mono, which is what we've currently got (io-layer, mono-mutex, etc). Too
much abstraction and it becomes more of a drawback than a help.


Jeffrey Stedfast
Evolution Hacker - Ximian, Inc.
fejj@ximian.com  - www.ximian.com