[haiku-bugs] Re: [Haiku] #1074: Identify and fix performance bottlenecks in our app_server

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Sun, 05 Feb 2023 08:47:23 -0000

#1074: Identify and fix performance bottlenecks in our app_server
---------------------------------+----------------------
  Reporter:  axeld               |      Owner:  jua
      Type:  enhancement         |     Status:  assigned
  Priority:  normal              |  Milestone:  R1.1
 Component:  Servers/app_server  |    Version:
Resolution:                      |   Keywords:
Blocked By:                      |   Blocking:
  Platform:  All                 |
---------------------------------+----------------------
Comment (by X512):

 It seems there are significant overhead in heap memory allocator when
 creating and destroying windows:
 {{{
 profiling results for summary "all" (1):
   tick interval:  1000 us
   total ticks:    140988 (140988000 us)
   unknown ticks:  0 (0 us,   0.00%)
   dropped ticks:  0 (0 us,   0.00%)

         hits     unknown    image
 ------------------------------------------------------------------------------
          852           0        5
 
/Haiku/data/packages/haiku2/generated.x86_64.native/tests/libbe_test/x86_64/apps/lib/libtestappserver.so
           34           0       10 /boot/system/lib/libfreetype.so.6.18.3
            2           0        3 /boot/system/runtime_loader
            8           0        8
 
/Haiku/data/packages/haiku2/generated.x86_64.native/tests/libbe_test/x86_64/apps/lib/libhwinterfaceimpl.so
           63           0       21 /boot/system/lib/libbe.so
       134642           0       12 /boot/system/lib/libroot.so
           17           0       11 /boot/system/lib/libstdc++.so.6.0.29
         4914           0        6
 
/Haiku/data/packages/haiku2/generated.x86_64.native/tests/libbe_test/x86_64/apps/lib/libbe_test.so
            1           0       27 /boot/system/lib/libcrypto.so.1.1
           21           0       22
 /boot/home/Tests/VideoStreams/build.x86_64/install/lib/libvideostreams.so
            4           0        7
 
/Haiku/data/packages/haiku2/generated.x86_64.native/tests/libbe_test/x86_64/apps/lib/libhwinterface.so

         hits       in us    in %   image  function
 ------------------------------------------------------------------------------
        65970    65970000   46.79      12  BPrivate::hoardSbrk(long)
        64626    64626000   45.84      12  BPrivate::hoardUnsbrk(void*,
 long)
         1790     1790000    1.27       6
 BRegion::Support::miRegionOp(BRegion*, BRegion const*, BRegion const*, int
 (*)(BRegion*, clipping_rect*, clipping_rect*, clipping_rect*,
 clipping_rect*, int, int), int (*)(BRegion*, clipping_rect*,
 clipping_rect*, int, int), int (*)(BRegion*, clipping_rect*,
 clipping_rect*, int, int))
         1074     1074000    0.76       6
 BRegion::Support::miUnionNonO(BRegion*, clipping_rect*, clipping_rect*,
 int, int)
          648      648000    0.46      12  __mutex_lock
          605      605000    0.43       6
 BRegion::Support::miCoalesce(BRegion*, int, int)
          465      465000    0.33      12  _kern_mutex_lock
          446      446000    0.32       6
 BRegion::Support::miSetExtents(BRegion*)
          414      414000    0.29      12  __mutex_unlock
          359      359000    0.25      12  _kern_mutex_unlock
          259      259000    0.18       6
 BRegion::Support::miIntersectO(BRegion*, clipping_rect*, clipping_rect*,
 clipping_rect*, clipping_rect*, int, int)
          225      225000    0.16       6
 BRegion::Support::miSubtractO(BRegion*, clipping_rect*, clipping_rect*,
 clipping_rect*, clipping_rect*, int, int)
          208      208000    0.15      12
 BPrivate::hoardHeap::findAvailableSuperblock(int, BPrivate::block*&,
 BPrivate::processHeap*)
          163      163000    0.12      12
 BPrivate::threadHeap::malloc(unsigned long)
          154      154000    0.11      12  memcpy
          149      149000    0.11      12  free
          130      130000    0.09      12  _kern_write_port_etc
          111      111000    0.08      12
 BPrivate::processHeap::free(void*)
          107      107000    0.08      12  malloc
 }}}
-- 
Ticket URL: <https://dev.haiku-os.org/ticket/1074#comment:40>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: