[parrot/parrot] 34af64: [PMC] Avoided pushing empty strings in SB.

noreply at github.com noreply at github.com
Mon Jul 4 08:48:42 UTC 2011


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

  Commit: 34af64627612370f3c92a23f8ba2ae7ddaa1fb42
      https://github.com/parrot/parrot/commit/34af64627612370f3c92a23f8ba2ae7ddaa1fb42
  Author: chromatic <chromatic at wgz.org>
  Date:   2011-07-04 (Mon, 04 Jul 2011)

  Changed paths:
    M src/pmc/stringbuilder.pmc

  Log Message:
  -----------
  [PMC] Avoided pushing empty strings in SB.

This early exit improves the vpm.pir benchmark by 6.7%.


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

  Changed paths:
    M src/pmc/stringbuilder.pmc

  Log Message:
  -----------
  [PMC] Avoided encoding comparisons in push_string.

When there's no need to look for a compatible encoding, don't look. This
improves vpm.pir by 0.58%.


  Commit: 0d063967c8aef9d146f85325335f9ec7846d5eb8
      https://github.com/parrot/parrot/commit/0d063967c8aef9d146f85325335f9ec7846d5eb8
  Author: chromatic <chromatic at wgz.org>
  Date:   2011-07-04 (Mon, 04 Jul 2011)

  Changed paths:
    M src/pmc/stringbuilder.pmc

  Log Message:
  -----------
  [PMC] Optimized StringBuilder's push_string VTABLE.

There's plenty of STRING encapsulation violation here, so avoiding a function
call improves the SB-heavy benchmark of vpm.pir by 2.9%.


  Commit: 41d54b99c68cc28171be44aba10fbc7c2fdba402
      https://github.com/parrot/parrot/commit/41d54b99c68cc28171be44aba10fbc7c2fdba402
  Author: chromatic <chromatic at wgz.org>
  Date:   2011-07-04 (Mon, 04 Jul 2011)

  Changed paths:
    M src/string/api.c

  Log Message:
  -----------
  [str] Fixed a typo.


  Commit: 318f52c503183a59d4e38e309eb46afba6361d00
      https://github.com/parrot/parrot/commit/318f52c503183a59d4e38e309eb46afba6361d00
  Author: chromatic <chromatic at wgz.org>
  Date:   2011-07-04 (Mon, 04 Jul 2011)

  Changed paths:
    M src/gc/system.c

  Log Message:
  -----------
  [GC] Added a PMC/STRING flag check to mem tracer.

This should be safe (though feel free to revert if it causes odd GC behavior).
In a GC-light vpm.pir benchmark, this improves performance by 0.946%. Depth of
C stack as well as memory layout will vary these results.


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

  Changed paths:
    M src/string/api.c

  Log Message:
  -----------
  [str] Optimized Parrot_str_join given empty joiner.

This improves the vpm.pir benchmark by a whopping further 7.8%.


Compare: https://github.com/parrot/parrot/compare/1ee5ec8...ce6505d


More information about the parrot-commits mailing list