
Mono 5.0 Ships with Concurrent Garbage Collector - minxomat
http://www.mono-project.com/news/2017/05/17/concurrent-gc-news/
======
gok
“Long GC latency can cause typing delays that are noticeable and lead to a bad
typing experience. Pauses over 100-150ms are noticeable by most of us”

Pauses over 16ms are very noticeable on your phone’s 60 Hz display; it will
cause dropped frames. So according to the graph, the large majority of pauses
will still cause dropped frames.

~~~
migueldeicaza
Android and iOS both use separate rendering processes/threads for UI and
animation to eliminate a range of issues that would otherwise be observable.

The code thread might hang, it scheduled rendering and animations will
continue.

There are scenarios not covered by this hack, but largely these systems are
responsible for masking many issues- in this case GC introduced pauses, but
can happen in things as common as close()

~~~
webkike
I would not call this a hack. A lot of systems are structured this way.

~~~
romwell
Indeed, separating out UI, IO and process threads should be the prevailing
design principle.

~~~
yellowapple
And, in fact, is the definition of "view", "model" (kinda), and "controller",
respectively.

------
romanovcode
Can someone explain what is the purpose of Mono after .NET Core?

Is the sole purpose of Mono now is to run .NET on mobile?

~~~
StevePerkins
It's purpose is for people who need to do professional cross-platform .NET
work, today. As opposed to tinkering with hello-world examples, and keeping an
eye on what might be the big thing down the road.

Mono actually works, today. It's hype is not ~5 years ahead of an actual
implementation. It's not continuously waiting for one more generation of
tooling to settle down, or one more standard to be decided or API to be
implemented. Its "Getting Started" examples actually _compile_ and _run_ ,
consistently.

There are two types of languages/frameworks... the ones that people are
excited about, and the ones people currently use. Mono's purpose is to serve
the latter.

~~~
romanovcode
Personally I had much more problems with mono 1 year ago then .NET core today.

Also, I run multiple website with databases, gb of record processing in queues
etc. Also I'm building CI runner on .NET core and so far I've got 0 problems.
so I would not call it "hello world".

I have 99 problems but .NET Core ain't one.

~~~
devwastaken
What are you writing? .NET Core doesn't even impliment many things that Mono
and .net framework do yet.

------
jackmott
another development is the Mono now supports System.Nunerics which means it
has the same SIMD support as tegular .NET, and a few more SIMD intrinsics are
coming to System.Nunerics soon as well. it will be usable quite a bit more
often when those drop.

------
scott00
Anybody have any idea how this profile compares to MS .NET?

~~~
ympostor
"Compares" in what way?

~~~
scott00
The ideal comparison would be to run the exact same experiment on the exact
same hardware on .net and see how it compares (ie, run Xamarin Studio on .net,
open and build Xamarin Studio). But I would be interested in any quantitative
comparison of Mono and .NET GC performance.

Basically it's not obvious to me if this GC improvement widens Mono's lead
over .net GC performance, brings Mono close to matching .net's lead, or brings
Mono from terrible to merely bad in comparison to .net.

