Re: JIT status: how to introspect
Michael Truog <[email protected]>
| Newsgroups | gmane.comp.lang.erlang.general |
|---|---|
| Message-ID | <[email protected]> |
On 2/27/21 8:52 AM, Max Lapshin wrote: > I've read this article: > https://www.erlang-solutions.com/blog/performance-testing-the-jit-compiler-for-the-beam-vm/ > > and I see that perf top shows functions that are looking like $gen_server2_loop > > When I launch my flussonic with erl 24, I do not see any functions > with this pattern, only functions from C. > > So this is why I want to understand: is JIT working or I haven't > launched it at all? If erlang:system_info(emu_flavor) returns jit it should be working. You should be able to see a difference if you profile the execution with and without to determine how the jit execution changes performance. Best Regards, Michael > On Wed, Feb 24, 2021 at 10:43 PM Max Lapshin <[email protected]> wrote: >> 23.77% beam.smp [.] ac_find_all_non_overlapping >> 13.11% libc-2.27.so [.] __memmove_avx_unaligned_erms >> >> I think that it is rather clear that we need to do something with >> binary:split(..., [global]) >> >> On Wed, Feb 24, 2021 at 8:57 PM Dan Gudmundsson <[email protected]> wrote: >>> All code is jit-compiled, so there is nothing to check. >>> >>> The jit helps sequentiell code only, if that is not your bottleneck you will not see any speedup. >>> as if your current code uses a lot of bif's/nif's and message passing. >>> And I guess there is still minor stuff that can be improved. >>> >>> On Wed, Feb 24, 2021 at 6:01 PM Max Lapshin <[email protected]> wrote: >>>> Hi. >>>> >>>> I've tried to launch our flussonic under jit. >>>> >>>> Thank you a lot for this work. We got zero speedup, but perf top have >>>> showed where we can achieve up to 20% of boost (or maybe more). >>>> >>>> >>>> Is it possible to introspect current jit status? Something like: >>>> >>>> >>>>> jit:info(). >>>> #{ >>>> calls => ... >>>> misses => ... >>>> ... >>>> } >>>> >>>> or what do you use to check it in runtime?