Mono (.NET for Linux) 0.25 released and its horizontal evaluation

zhaozj2021-02-17  75

Mono Project (http://www.go-mono.org/) is a Open Source project transplanting Microsoft .NET Framework to Linux platform, Beijing time (June 27) released 0.25 version, except for source code, There is a binary installation package that for Redhat Linux x86 9.x / 8.x / 7.x, Mandrake 9.1 / x86, Debian and Windows (XP, 2000, NT) can be downloaded directly. The completion is already relatively high, although there is no complete class library, but only 8M volume, already contains all execution environments and Microsoft .NET Framework in 20 megabits, even more than 100 megabytes There is no C # compiler that Framework SDK is included. Even with respect to Java SDK is very small, the volume is also small. It is a very good entry tool for learning C # and .net. However, it does not contain the development document, must be installed .NET Framework SDK can obtain documentation such as class library reference.

If you have Windows and Linux environments and all install MONO, you will surprise in the trial process. Exe files compiled with the MONO C # compiler on the Windows or Linux platform can do not need to recompile by two operating systems The Mono execution environment is executed. What does this mean? Isn't it the famous "Compile ONCE, RUN EVERYWHERE"? Although Mono only supports Windows and Linux X86 versions, it is difficult to transplant to other platforms. Does this exe file have any difference with Java's Class file? How does Java face?

Here I list the simple lateral performance comparison of Java, Mono, MS .NET Framework, using Mono 0.24.

The test task is relatively simple, taking into account the time-consuming general floating point operation, and most of the time consumption in the Java application is found in the class's creation process, so the following simple tasks are designed: the big loop creates floating point and Integer array, the internal cycle repeats the values ​​within the array. Two tasks are implemented with Java, C #, execute in the following environments:

Linux: Red Hat Linux 7.3 2.96-110, Kernel 2.4.18-3, Intel (R) Pentium (R) 4 CPU 1.60GHz, 256M RAM

Win2k: Windows 2000 Professional SP3, Intel Celeron 800MHz, 384M RAM

Java: Win2k: Java (TM) 2 Runtime Environment, Standard Edition (Build 1.4.0-B92) Java Hotspot (TM) Client VM (Build 1.4.0-B92, Mixed Mode); Linux: Java (TM) 2 Runtime Environment STANDARD Edition (Build 1.4.1_01-B01) Java Hotspot (TM) Client VM (Build 1.4.1_01-B01, Mixed Mode)

Mono: Mono Jit Compiler Version 0.24 http://www.go-mono.org/download.html

Microsoft Framework: Microsoft .NET Framework 1.1

(Note: Results picture)

Result picture

/Develop/ArticleImages/19/19612/9cbs_dev_image_2003-7-122052231.gif

Digitally display is the number of milliseconds that complete the task consumption.

From test results, we can roughly see that MONO's JIT compiler and virtual machine compared to Java compared to efficiency, although the gap on fast CPU is significantly reduced, especially floating point operations. Taking into account the HOTSPOT JVM of JDK1.4.0 has passed the optimization of huge money invested in nearly ten years, MONO is just that amateur is developed in less than a year, and the increase in space should be large. Plus the same "once compiled, run everywhere" characteristics. Java, you have to go. Java is the latter domain for MS .NET Framework. The Simple test of Mono 0.25 was carried out, and there was a small increase in 0.24 version. It can be seen that mono is still in progress. Let us hope that this new cross-platform development environment will continue to make a new choice.

Publisher: bruise

Source: Blog China - Lu Wei

转载请注明原文地址:https://www.9cbs.com/read-31291.html

New Post(0)