.NET – Is the speed of mono enough to support Mac OS X?

I have to use .NET/C# for my next company project. When I was developing my project on Mac, I studied the mono development environment/tools.

Is the mono of Mac OS X fast enough? I mean, how does the performance of running the assembly compare to running the same code on .NET on a Windows machine?

In a practical sense, do I need to buy a PC laptop to develop C#/.NET?

Edit:
Thank you for your answer. I see that another thing I should consider is compatibility issues and development tools.
I want to ask how good mono is; If mono is 10 times slower than Windows .NET. I better not use it. But if mono is only 1.5 times slower, then why not?

For interactive applications, you usually don’t notice that Mono and .NET are on equivalent hardware Any performance differences on the above.

You will notice a few things:

> Mono’s current GC is conservative, not generational.
> Mono’s The codegen engine is not as advanced as .NET.
>For computationally intensive tasks (for example, image processing or video processing), expect Mono to reach 70% of the speed of .NET.
>Mono on OSX has some The known slow code paths are used for thread local storage and some other minor issues.

All of these are the focus areas of the team, so you will soon see changes in both situations. We are Develop a new generation of GC, just like .NET, the preview will debut in 2.8.

The codegen engine can now choose to use LLVM, it will be fine in 2.6, and in 2.8 it will have 99.8% code coverage (from the current 60 or 70). Unfortunately, LLVM makes JIT compilation time very slow, so we only use it for “ngen” scenarios or need to get more at the cost of startup speed Good performance program.

Using LLVM, we are able to match .NET and Java in most of the tests, with a few exceptions.

Finally, OSX specific restrictions are being developed, and also Will be in 2.8.

I have to use .NET/C# for my next company project. When I was developing my project on Mac, I studied mono Road development environment/tools.

Is the mono of Mac OS X fast enough? I mean, how does the performance of running the assembly compare to running the same code on .NET on a Windows machine?

In a practical sense, do I need to buy a PC laptop to develop C#/.NET?

Edit:
Thank you for your answer. I see that another thing I should consider is compatibility issues and development tools.
I want to ask how good mono is; If mono is 10 times slower than Windows .NET. I better not use it. But if mono is only 1.5 times slower, then why not?

For interactive applications, you usually won’t notice any performance difference between Mono and .NET on equivalent hardware.

You will notice some things:

> Mono’s current GC is conservative, not generational.
> Mono’s codegen engine is not as advanced as .NET.
> On computationally intensive tasks (for example, image processing or video processing), expect Mono to reach 70% of .NET speed.
> Mono on OSX has some known slow code paths for thread local storage And some other minor issues.

All of these are the focus areas of the team, so you will soon see the changes in both situations. We are developing a new generation of GC, just like .NET The same, the preview will debut in 2.8.

The codegen engine can now choose to use LLVM, which is fine in 2.6, and in 2.8 it will have 99.8% code coverage (from the current 60 or 70). Unfortunately, LLVM makes JIT compilation time very slow, so we only use it for “ngen” scenarios or programs that need better performance at the expense of startup speed.

Using LLVM, we were able to match .NET and Java in most tests, with a few exceptions.

Finally, OSX-specific restrictions are being developed and will also be in 2.8.

Leave a Comment

Your email address will not be published.