[PATCH] D54889: Fiber support for thread sanitizer

Dmitry Vyukov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 2 06:58:56 PST 2019


dvyukov added a comment.

I've benchmarked on 350140 with host gcc version 7.3.0 (Debian 7.3.0-5), running old/new binary alternated:

  int main() {
    const int kSize = 2<<10;
    const int kRepeat = 1<<19;
    volatile long data[kSize];
    for (int i = 0; i < kRepeat; i++) {
      for (int j = 0; j < kSize; j++)
        data[j] = 1;
      __atomic_load_n(&data[0], __ATOMIC_ACQUIRE);
      __atomic_store_n(&data[0], 1, __ATOMIC_RELEASE);
   }
  }

compiler-rt$ TIME="%e" nice -20 time taskset -c 0 ./current.test 
8.68
8.71
8.63
8.67
8.73
8.63

compiler-rt$ TIME="%e" nice -20 time taskset -c 0 ./fiber.test 
9.97
9.85
9.99
9.91
9.88
9.92
9.89
9.88

This looks like 14% degradation.


Repository:
  rCRT Compiler Runtime

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D54889/new/

https://reviews.llvm.org/D54889





More information about the llvm-commits mailing list