[parrot/parrot] db05ff: [hash] Added manual inlining to improve hash speed...

noreply at github.com noreply at github.com
Tue Jul 5 21:46:16 UTC 2011


  Branch: refs/heads/master
  Home:   https://github.com/parrot/parrot

  Commit: db05ff12cd1fa5441041d738b8c80956a1abaa22
      https://github.com/parrot/parrot/commit/db05ff12cd1fa5441041d738b8c80956a1abaa22
  Author: chromatic <chromatic at wgz.org>
  Date:   2011-07-05 (Tue, 05 Jul 2011)

  Changed paths:
    M src/hash.c

  Log Message:
  -----------
  [hash] Added manual inlining to improve hash speed.

This improves the hash-heavy bench_newp.pasm benchmark by 1.18%.


  Commit: e4ecfe7a55a2adedfe58093e091a5b060251172f
      https://github.com/parrot/parrot/commit/e4ecfe7a55a2adedfe58093e091a5b060251172f
  Author: chromatic <chromatic at wgz.org>
  Date:   2011-07-05 (Tue, 05 Jul 2011)

  Changed paths:
    M src/gc/fixed_allocator.c

  Log Message:
  -----------
  [GC] Rearranged code to improve locality.

No functional changes. Probably little performance improvement.


  Commit: fa72eaa132d310ddcd4f765651012514dd55d29a
      https://github.com/parrot/parrot/commit/fa72eaa132d310ddcd4f765651012514dd55d29a
  Author: chromatic <chromatic at wgz.org>
  Date:   2011-07-05 (Tue, 05 Jul 2011)

  Changed paths:
    M src/gc/gc_ms2.c

  Log Message:
  -----------
  [GC] Added early bailout of blocked GC run.


  Commit: 3666df8a428635299734ed7d84ba6372269ea11d
      https://github.com/parrot/parrot/commit/3666df8a428635299734ed7d84ba6372269ea11d
  Author: chromatic <chromatic at wgz.org>
  Date:   2011-07-05 (Tue, 05 Jul 2011)

  Changed paths:
    M src/gc/gc_gms.c

  Log Message:
  -----------
  [GC] Tidied code; no functional changes.


  Commit: c96b8169416f1174a25e8acb3ac8df75fe45e713
      https://github.com/parrot/parrot/commit/c96b8169416f1174a25e8acb3ac8df75fe45e713
  Author: chromatic <chromatic at wgz.org>
  Date:   2011-07-05 (Tue, 05 Jul 2011)

  Changed paths:
    M src/gc/gc_gms.c

  Log Message:
  -----------
  [GC] Made an internal static function into a macro.

This function was used in two hot paths, so aggressive compiler inlining
wouldn't work. Now it's a handful of extra instructions in right places. As a
bonus, it avoids a couple of unnecessary function calls. The end result should
be slightly faster allocation code.


  Commit: d789b5a0d02226558921c71584f023873cab8c53
      https://github.com/parrot/parrot/commit/d789b5a0d02226558921c71584f023873cab8c53
  Author: chromatic <chromatic at wgz.org>
  Date:   2011-07-05 (Tue, 05 Jul 2011)

  Changed paths:
    M src/gc/fixed_allocator.c

  Log Message:
  -----------
  [GC] Optimized stack-walking owned pointer finder.

Avoiding math instructions for an O(n) algorithm helps greatly, but stack
walking is still expensive. This improves the gc_waves_sizeable_headers.pasm
benchmark by 0.8%, which indicates this function costs about half of what it
did previously.


Compare: https://github.com/parrot/parrot/compare/56f90ce...d789b5a


More information about the parrot-commits mailing list