Ubuntu Developers Discuss Using Mono AOT

Posted by Michael Larabel on May 12, 2012

Ubuntu developers are currently exploring the possibility of using Mono AOT to reduce start-up time, allow for better memory sharing, and for greater performance optimizations.

Mono AOT is the ahead-of-time compiler for Mono. Besides Mono's JIT (Just-In-Time) compiler, they also have an AOT compiler in the Mono run-time code generator. Using the AOT compiler will generate the native code in advance with several benefits. Without having to do the compilation at run-time, the start-up time of Mono-based applications could be reduced. There's potentially increased memory sharing with the AOT method because the compiled code is all PIC, Position Independent Code, and will be shared across multiple Mono instances. The better performance can be done since the AOT compiler can squeeze out more extra CPU-specific optimizations that are not enabled by default with Mono's JIT compiler.

Ubuntu developers are looking at using the Mono AOT on Debian package installation. This idea is still early-on as they will also need to develop the infrastructure to invalidate Mono AOT caches upon any CPU changes and does come at a cost of a slightly larger disk foot-print. They're also investigating Mono AOT for ARM.

Those wishing to learn more about Mono's AOT compiler capabilities can do so at Mono-Project.com.

On this page are the "AOT compile mono libraries at install time" notes. This is a possible feature for Ubuntu 12.10, although there's plenty of people out there that would rather just see Mono code be outright abandoned.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Linux Desktop Security Could Be A Whole Lot Better
  2. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  3. New NVIDIA Linux Driver Supports The GeForce GTX 780
  4. Chrome 28 To Offer More Speed Improvements
  5. Digia Announces "Boot To Qt" Project
  6. X.Org Libraries Hit By Round Of Security Issues
  7. Wayland's Weston Gets Output Scaling Support
  8. Raspberry Pi Gets New Wayland Weston Renderer
  9. Debian GNU/Hurd 2013 Release Brings New Packages
  10. Intel Ultrabook Performance Is Faster With Mesa 9.2
  11. Hot Relocation HDD To SSD Support For Btrfs
Latest Forum Talk
  1. Openbenchmarking.org main page is damaged
  2. Xserver 1.14 support will arrive with Catalyst...
  3. Microsoft Releases Skype For Linux 4.2, Has...
  4. X.Org Libraries Hit By Round Of Security Issues
  5. New NVIDIA Linux Driver Supports The GeForce GTX...
  6. Wayland's Weston Gets Output Scaling Support
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite