I hereby claim:
- I am sbahra on github.
- I am sbahra (https://keybase.io/sbahra) on keybase.
- I have a public key whose fingerprint is 8EE0 B9E3 185A AA72 99E6 0BE5 19D2 E15A 9105 9E27
To claim this, I am signing this object:
i5:ck sbahra$ git diff | |
diff --git a/include/ck_epoch.h b/include/ck_epoch.h | |
index 1b7d1b5..dd2f998 100644 | |
--- a/include/ck_epoch.h | |
+++ b/include/ck_epoch.h | |
@@ -147,7 +147,7 @@ ck_epoch_call(ck_epoch_t *epoch, | |
void ck_epoch_init(ck_epoch_t *); | |
ck_epoch_record_t *ck_epoch_recycle(ck_epoch_t *); | |
void ck_epoch_register(ck_epoch_t *, ck_epoch_record_t *); | |
-void ck_epoch_unregister(ck_epoch_record_t *); |
diff --git a/configure.ac b/configure.ac | |
index db006a8..1112e73 100644 | |
--- a/configure.ac | |
+++ b/configure.ac | |
@@ -42,6 +42,19 @@ AC_ARG_ENABLE(lenient, [ | |
lenient=$enableval | |
]) | |
+rtm=no | |
+AC_ARG_ENABLE(rtm, [ |
PID: 21634 | |
-------------------------------------------------------------------------------- | |
Thread 21640 | |
[ 0] libpthread-2.13.so pause (../sysdeps/unix/syscall-template.S:82) | |
=> mov (%rsp), %rdi | |
[ 1] crash crash_signal (crash.c:511) | |
=> call 0xffffffffffffd0ae | |
s = (parameter) 11 | |
si = (parameter) reference(0x7fb8cdbfa9e0, 0x7fb8cdbfab30) | |
-><> = structure |
### Keybase proof | |
I hereby claim: | |
* I am sbahra on github. | |
* I am sbahra (https://keybase.io/sbahra) on keybase. | |
* I have a public key whose fingerprint is 8EE0 B9E3 185A AA72 99E6 0BE5 19D2 E15A 9105 9E27 | |
To claim this, I am signing this object: |
I hereby claim:
To claim this, I am signing this object:
haswell:benchmark sbahra$ ./latency | |
WRITE: brlock 33 | |
WRITE: naive 31 | |
READ: brlock 38 | |
READ: naive 35 | |
haswell:benchmark sbahra$ ./throughput 1 4 | |
Creating threads (brlock)...done | |
Waiting for threads to finish acquisition regression...done | |
1 51 |
sbahra@broadwell:~/projects/tommyds/benchmark$ LD_PRELOAD=/opt/backtrace/lib/libck.so ../benchmark.test -n 100000 -d concurrencykit | |
Tommy benchmark program. | |
100000 concurrencykit forward | |
forward, insert, concurrencykit, 99 [ns] | |
forward, change, concurrencykit, 91 [ns] | |
forward, hit, concurrencykit, 83 [ns] | |
forward, miss, concurrencykit, 101 [ns] | |
forward, remove, concurrencykit, 45 [ns] | |
100000 concurrencykit random | |
random, insert, concurrencykit, 94 [ns] |
Tommy benchmark program. | |
10000 concurrencykit forward | |
forward, insert, concurrencykit, 88 [ns] | |
forward, change, concurrencykit, 112 [ns] | |
forward, hit, concurrencykit, 46 [ns] | |
forward, miss, concurrencykit, 62 [ns] | |
forward, remove, concurrencykit, 61 [ns] | |
10000 concurrencykit random | |
random, insert, concurrencykit, 83 [ns] | |
random, change, concurrencykit, 111 [ns] |
Tommy benchmark program. | |
100000 concurrencykit forward | |
forward, insert, concurrencykit, 82 [ns] | |
forward, change, concurrencykit, 169 [ns] | |
forward, hit, concurrencykit, 84 [ns] | |
forward, miss, concurrencykit, 79 [ns] | |
forward, remove, concurrencykit, 80 [ns] | |
100000 concurrencykit random | |
random, insert, concurrencykit, 82 [ns] | |
random, change, concurrencykit, 175 [ns] |
This isn't exactly a formal performance comparison. First column is length of | |
buffer in bytes, second column is the libc implementation and third column is | |
my implementation. | |
nehalem:string sbahra$ uname -a | |
Darwin nehalem.home 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386 | |
nehalem:string sbahra$ for j in memchr memset strchr strlen; do echo $j; for i in 32 64 128 256 512 1024; do ./${j} $i; done; done | |
memchr | |
32 214 61 | |
64 279 65 |