[Mono-dev] Mono on Embedded Platform

Chris Morgan chmorgan at gmail.com
Fri Nov 21 12:12:20 UTC 2014


On Fri, Nov 21, 2014 at 2:05 AM, techi eth <techieth at gmail.com> wrote:
> Hey,
>
>
>
> I am very new to mono. I am looking forward to use this great platform over
> Linux on ARM target.
>
>
>
> I have following point to check before start.
>
> 1)      1) How can I achieve small footprint from mono. I have followed the
> below link but it produces install directory which is more than 100 MB with
> mono 3.10.0.
>
> http://www.mono-project.com/docs/compiling-mono/small-footprint/
>
>
>
> I would like to know below listed things are manual way of doing or I can do
> this by using any of the configure option.
>
> ·         Removing unneeded features
>
> ·         Removing unneeded data
>
> ·         Compilation hints
>
> ·         Reducing code in assemblies
>
>
>
> 2)      2) I will going to write application which is
> multitasking/multithreading, accessing some device port, talking to
> Ethernet, running WEB service. Can anyone suggest with mono over Linux what
> is Flash & RAM size I should use.
>
>
>
> Techi
>
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>


Hi Techi.

Wanted to share my experience.

We aren't storage constrained, so 100MB+ for us was ok. System with an
arm cortex a8 processor, the beaglebone black actually.

Found out that for every instance of mono we had running that there
was some 17MB of ram overhead. In addition, there is a little bit of a
startup time delay, a second or so, before the the runtime is running
our code. I had asked here about the ram overhead but there wasn't any
response about how to shrink it down or what might be contributing to
it a bit. We would have been ok with maybe 5MB per process. Keep in
mind that I was testing with a pretty trivial application, it wasn't
doing lots of memory allocations, so nothing in the application could
explain why 50k of memory allocations translated to 17MB of overhead.

We ended up rewriting four or five smallish utility applications from
c# into c++ and leaving a single application of high complexity as our
sole c# application that will run on the system. This dropped off 17MB
* 4 of ram and reduced startup time for these applications to
fractions of a second.

Chris


More information about the Mono-devel-list mailing list