> I'm sad to see folks still continuing this discussion of how such-and-such
> pause is okay in so-and-so situation. This might be okay for a
> whole-program Haskell compile, however, this doesn't fly in an industry
> wide modular systems runtime.
>
>
> I'm really happy with the CIL increments over JVM. structs are a really
> needed mechanism to get data-cache locality and avoid some
> heap-allocations.  Modular assemblies are a really necessary improvement
> over JVM style "string-name class loading". Type-instantiation is a really
> important performance and data-cache locatlity improvement over
> type-erasure.
>

I think CIL is a improvement  but to go further you are really talking
about re-use ( including team factors such as discovery)  , versioning and
contracts   and I ask is the problem of modularity at the lib / dll/code
 level inherently flawed especially in a 8+ core world  ?  Consider
Browsers - is the current plugin  solution good ? The problem is so bad
that some browsers are going as far as having no plugins Apple and IE11
Metro for example ..   SOA   services are the right idea if a bit heavy and
some advocates like Juval Lowey are even going as far as 1 class = 1
service ( which i disagree with)  , however SOA  is constrained by cross
machine limitations . I also note  Multi processing is moving to message
parsing "agent"  libraries .

To me you want to break a program  ( or OS / runtime) downs into as many
services  as practical  (and a run time that facilitates this in
an asynchronous , resilient and  highly parallel way . These services can
use different allocation methods  including manual / static / ref counting
or even be scheduled to not receive   messages ( like the browser example
you gave )  and hence solve the GC problem.






>
> I'm thrilled to (as a result of this thread) to see the work by the Azul
> folks to make a no-world-stop compacting GC in their C4 collector. If it
> works as well as they claim, it could really help us move the industry
> forward. I'll gladly take a 15% single-threaded performance hit to end the
> world-stop -- in every one of my applications.
>

If you can deal with 15%  what is wrong with a ref counting collector ?
There are advanced ones but even primitives ones can run a mark /sweep to
remove cycles when the programmer wants  - eg levels loads , when there is
a dialog  etc .

These are probably of interest

http://www.managedruntime.org/webfm_send/4 C4

http://www.managedruntime.org <http://www.managedruntime.org/webfm_send/4> a
run time based on C4

Is interesting that C4 does incur significant  pauses for small ( 4G) heaps
(obviously  for the current thread)




>
> These pieces seem so close. Whether it's in an industry wide CIL+C4,
> JVM2+C4, or something else entirely, we need to bring these pieces together
> and make something that can really move modular systems programming and
> shared libraries past the "era of C".  It's hard to say when it will occur,
> but I predict it can only occur once we privide a typesafe environment with
> no world-stop, modular compilation, and modular forward upgradability --
> just like C-shlibs have had for decades.
>

There needs to be something done buts its difficult  , the problem has been
around for a long time.. many solutions and attempts have been made , many
 languages were written to address the modularity concept  but they dont
really get there.,

Ben
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to