That's a good point Scott.  It still strikes me as probably pointless since
as far as I know the GC is not something which can be overridden. So
knowing the performance bottleneck is in GC doesn't seem to help much.

On Mon, May 30, 2016, 5:48 PM Gleb Arshinov <[email protected]> wrote:

> That's a good analogy.  And it's describes the reason why being able
> to turn off GC is useful for performance optimization.
>
> It's more obvious when you are profiling.   If you don't turn off GC
> when profiling, the full cost of GC will be attributed to the last
> function that triggered GC, not functions that allocated memory
> before.  The straw that broke camel's back, e.g. "left leg step at
> kilometer 5" in your analogy.   While in reality it needs to allocated
> over left and right steps over the previous 5 kilometers.
>
> When doing performance work in a GC language the cost of a piece of
> code is a pair of:
> * CPU/clock time it take to run (in seconds)
> * and GC pressure it generates (in # of allocations, total size of
> allocations, etc.)
>
> You can convert GC pressure to seconds. But the conversion rate may
> differ greatly between a micro-benchmark and production environment.
> E.g. 10-100ms in Ruby <2.1.   So you need to keep GC pressure
> separate, and have a good understanding of how GC works to compare
> these pairs.
>
> High level, comparing a benchmark w/ GC on and off is a good way to
> see if GC time is a significant portion of runtime.
>
> Having said this I have no idea how BEAM GC works and how significant
> it is for performance.
>
> Best regards,
>
> Gleb
>
> On Mon, May 30, 2016 at 9:44 AM, Greg Young <[email protected]>
> wrote:
> > Wouldn't this be a very bad idea for any kind of benchmarking?
> >
> > I imagine a runner in a race. He has special shoes that make him go a
> > bit faster but for every step he takes a piece of the shoe falls off,
> > occasionally (every 5km) he has to change his shoes. So for our test
> > of his speed we measure a 3km measurement. Unfortunately in the actual
> > race he has to run 25km.
> >
> > Cheers,
> >
> > Greg
> >
> > On Mon, May 30, 2016 at 8:34 AM, Tobias Pfeiffer <[email protected]>
> wrote:
> >> Hi everyone,
> >>
> >> is there a way in Elixir/Erlang to turn off the Garbage collection? I've
> >> searched and what I found so far is :erlang.garbage_collect to force
> >> garbage collection.
> http://erlang.org/doc/man/erlang.html#garbage_collect-0
> >>
> >> Is there any way to turn it off completely?
> >>
> >> Why would I want to do that? I'm working on a benchmarking tool and I
> >> don't want garbage collection to mess with my measured execution times.
> >>
> >> Any hints welcome :)
> >> Tobi
> >> --
> >> http://www.pragtob.info/
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups "elixir-lang-talk" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected].
> >> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elixir-lang-talk/574BECF6.1060309%40gmail.com
> .
> >> For more options, visit https://groups.google.com/d/optout.
> >
> >
> >
> > --
> > Studying for the Turing test
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "elixir-lang-talk" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected].
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/elixir-lang-talk/CAC9RQthoVqFCjYunRX7eMr9nF7tybB5tyMKP43GkOT9WoaPSBQ%40mail.gmail.com
> .
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "elixir-lang-talk" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/elixir-lang-talk/lX0ve2YNi64/unsubscribe
> .
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elixir-lang-talk/CACZNi59evCGuyTcs25QLb%3DScA%3DpabrX%2Bh__NqMf%3D%3DFHJNt_ydA%40mail.gmail.com
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-talk/CAP%3DvNq-5AFajMeByyuhHSqrZHY329RM_qN-bLk1p6jB%2BQBq%3DTw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to