18.10.2017 16:37, ikod пишет:

I ran this under linux perf, and here is top from 'perf report'

# Overhead  Command  Shared Object       Symbol
# ........  .......  .................. ...........................................................................................
#
      7.34%  t        [kernel.kallsyms]   [k] clear_page
      6.80%  t        [kernel.kallsyms]   [k] __do_page_fault
      5.39%  t        [kernel.kallsyms]   [k] __lock_text_start
     3.90%  t        t                   [.] nothrow core.thread.Fiber core.thread.Fiber.__ctor(void delegate(), ulong)
      3.73%  t        [kernel.kallsyms]   [k] unmap_page_range
      3.32%  t        [kernel.kallsyms]   [k] flush_tlb_mm_range
      2.70%  t        [kernel.kallsyms]   [k] _raw_spin_lock
      2.57%  t        libpthread-2.23.so  [.] pthread_mutex_unlock
     2.53%  t        t                   [.] nothrow void core.thread.Fiber.__dtor()

So looks like memory management, even not GC, take most of the time (if I interpret these numbers correctly)

It depends on how much time test took. If it was small then of course creating the fibers took too much percents. Ideally we need to find the duration of the test when percents of memory management stop changing - it will be more reliable numbers.

Reply via email to