Slashdot Mirror


A Bare-Bones Linux+Mono+GUI Distro?

nimble99 writes "I am a computer software engineer, focused mainly on the Windows platform — but most of my development time is spent in .NET. I would like to move my .NET development to Linux in the form of Mono, in an attempt at building a media-center type of device. All I require, is a base operating system with simple hardware support, Mono, and a window manager that (preferably) does nothing but act as a host for mono applications. Is this available? I dont know a lot about Linux, so I thought I would ask if there is already something like this available. Obviously a 'Mono Operating System' would be the cleanest solution, but a similar thing could be achieved with the barest minimum of Linux distros right?"

1 of 158 comments (clear)

  1. Re:Don't. by Actually,+I+do+RTFA · · Score: -1, Redundant

    If there is a virtual method and only one implementation, it can be inlined entirely with no 'if' in all of the same cases as if it were marked 'final'.

    What you are trying to say is that the compiler will automatically treat non-overwritten 'virtual' functions as non-virtual. I agree. This has to do with how the compiler works, not whether you can make virtual functions inline.

    But more to the point, inlining a function is more than just about changing a jump into a compare. It is also about the code matching up with the caller so that registers are not shuffled around and whatnot. It's about determining that the object allocated by the caller and then passed down three levels of function calls never has a reference taken so it can be allocated on the stack.

    I agree that inlining a function can also optimize how variables are kept in the registers. However, that involves changing the code of a function (inlining it), and creating a new version for that call. Hence, if it is virtual, you need either a) a giant block of code with switches or b) an if that jumps to a non-inlined version of the function. Avoiding a jump is something many people try to do. It helps keep the code you will be using in the cache. And lastly, variables passed to functions are always declared on the stack.

    This is your design hero?

    No. You're just in a position where you are wronger than he is.

    My design hero is a specific programmer I know who is brilliant. I doubt you know him, so a name would be useless.

    --
    Your ad here. Ask me how!