aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-29 13:58:30 +0100
committereunhhu <[email protected]>2026-09-29 13:58:44 +0100
commit0bbc12658c63f5f5fce2683798d4ac08b1e26e08 (patch)
treeb589d0b4c2adac20ec2d5180b0cfe865995cf4a9
parent9791a1e70979ee4ba832851912f0de20301343a8 (diff)
downloadpure-0bbc12658c63f5f5fce2683798d4ac08b1e26e08.tar.gz
pure-0bbc12658c63f5f5fce2683798d4ac08b1e26e08.zip
Say what epochs cost a link, and what the search for it found (099)
Forward secrecy, 098's first task left: keys that leak later open only epoch 0. M2 after the epoch began and after a restart is as before it (p50 0.4 ms, p99 0.8 ms, the same CPU, no X25519 on restart). It costs a p50 of 0.7-1.0 ms more while ten thousand devices first meet and for about 40 s of accepts after, and a receiver that lost its memo now stalls 0.8 s and catches up in 7.7 s, not 0.2-0.7: it lost the epochs, and each sender opens one again. The search also found a packet more a device from each of M6's path probe and the security checks' challenge, and a load generator whose own pass over its devices was the floor of the latency it measured. 098's note that epochs narrow KCI to the first epoch was wrong; corrected.
-rw-r--r--docs/design/011-pure-transport.md7
-rw-r--r--docs/research/098-link-security.md5
-rw-r--r--docs/research/099-link-epochs.md217
-rw-r--r--research/experiments/019-idle-links/2026-09-29-epochs-bisect-linux-aarch64.jsonl27
-rw-r--r--research/experiments/019-idle-links/2026-09-29-epochs-idle-linux-aarch64.jsonl1
-rw-r--r--research/experiments/019-idle-links/2026-09-29-epochs-restart-linux-aarch64.jsonl10
-rw-r--r--research/experiments/019-idle-links/x25519.c49
7 files changed, 313 insertions, 3 deletions
diff --git a/docs/design/011-pure-transport.md b/docs/design/011-pure-transport.md
index c4df992..d3a327a 100644
--- a/docs/design/011-pure-transport.md
+++ b/docs/design/011-pure-transport.md
@@ -30,7 +30,12 @@ M6는 [097](../research/097-lossy-paths.md)에 있다. 처음에는 패킷 순�
보안 검사는 [098](../research/098-link-security.md)에 있다. 경로 위의 공격자가 할 수 있는 다섯 가지(변조, 재전송, 위장, 폭주,
그리고 모든 검사에서의 논스 재사용)를 결정적 검사로 만들었더니 구멍 여섯이 나왔다. 가장 무거운 것은 쉬던 보내는 이가 돌아올 때의
논스 재사용이었다. 모두 고쳐 통과한다. 새 주소는 CHALLENGE와 RESPONSE로 확인하고, 그 전에는 받은 바이트의 3배까지만 답한다.
-전방 비밀성(에폭 바꿈)은 아직 없다.
+
+에폭 바꿈(전방 비밀성)은 [099](../research/099-link-epochs.md)에 있다. 보내는 쪽이 임시 키를 OFFER로 내고 받는 쪽이 ACCEPT로
+받는다. 두 노드의 개인 키가 나중에 새도 run의 첫 에폭이 시작된 뒤의 것은 열리지 않는다. 받는 쪽은 수락한 에폭을 메모에 적어,
+다시 떠도 비대칭 연산 없이 잇는다. X25519 합의가 이 Pi에서 164 µs라 수락은 초당 256번으로 묶고 답을 보낸 뒤에 한다. M2의 정상
+상태와 재시작은 에폭 전과 같다. 값은 대량으로 처음 만난 뒤 약 40초의 지연(p50 +0.7 ms)과, 메모를 잃은 재시작의 7.7초 따라잡기다.
+이것을 재다가 M6와 보안 검사가 기기마다 패킷을 하나씩 더 보내던 것(+10k, +38k)을 찾아 없앴다.
2026-09-29에 링크를 `link/`로 뗐다([009](009-layout.md)). 프로토콜은 이제 소켓, 스레드, 시계가 없는 상태이고
(`link/link-protocol.h`), UDP와 스레드는 그 위의 층이다. 그래서 한 스레드가 링크 여럿을 들 수 있다. M2를 이 보내는 쪽으로
diff --git a/docs/research/098-link-security.md b/docs/research/098-link-security.md
index 42099e4..c1d9755 100644
--- a/docs/research/098-link-security.md
+++ b/docs/research/098-link-security.md
@@ -92,9 +92,10 @@
- 남은 약점은 설계가 알고 있던 둘이다.
- **전방 비밀성이 없다.** 키는 두 정적 키와 run에서만 나온다. 정적 키가 새면 녹화한 트래픽을 풀 수 있다. 011은 이것을
주기적인 에폭 바꿈(임시 키 교환)으로 얻겠다고 했고, 아직 구현하지 않았다. 그때까지 인터넷용으로 켜기 전에 풀어야 할 첫
- 과제다.
+ 과제다. ([099](099-link-epochs.md)에서 넣었다.)
- **KCI.** 받는 쪽의 개인 키를 가진 자는 어떤 보내는 이로도 행세할 수 있다. 정적-정적 X25519의 성질이다. Noise KK의 첫
- 메시지도 같다. 에폭 바꿈 뒤의 키에는 임시 키가 섞이므로 이 창이 첫 에폭으로 좁아진다.
+ 메시지도 같다. (처음에는 에폭 바꿈이 이 창을 첫 에폭으로 좁힌다고 적었다. 틀렸다. 행세하는 자는 자기 run을 에폭 0부터
+ 새로 시작하면 된다. 에폭이 막는 것은 이미 오가는 남의 run에 끼어드는 것이다. [099](099-link-epochs.md) 참고.)
## 한계와 다음
diff --git a/docs/research/099-link-epochs.md b/docs/research/099-link-epochs.md
new file mode 100644
index 0000000..df1b4e3
--- /dev/null
+++ b/docs/research/099-link-epochs.md
@@ -0,0 +1,217 @@
+# 099 — 링크의 에폭: 나중에 키가 새도 지난 기록은 풀리지 않는다
+
+2026-09-29. [설계 011](../design/011-pure-transport.md) 4단계의 에폭 바꿈이다. [098](098-link-security.md)은 보안 검사를
+통과했지만, 전방 비밀성이 없다는 것을 인터넷에 켜기 전의 첫 과제로 남겼다.
+
+착수 기준:
+
+- **바꿀 결정.** 링크를 인터넷 쪽에 켤 수 있는가. 098의 남은 첫 과제다.
+- **최소 확인.**
+ - 나중에 두 노드의 개인 키를 모두 얻은 자가, 녹화한 패킷 가운데 에폭 1부터는 하나도 열지 못한다. 에폭이 시작된 run에서는
+ 그 뒤로 정적 키로 봉인한 기록이 없다.
+ - 손실, 재정렬, 양쪽 재시작, 쉼, 재전송 공격 아래에서, 그리고 메모를 잃은 재시작에서도 모든 기록이 한 번씩 적용된다.
+ - M2(기기 1만 개, 받는 쪽 kill -9)의 보낸 패킷 수, 꼬리 지연, CPU가 에폭 전과 같은 수준이다.
+- **중단 기준.** M2가 에폭 전보다 눈에 띄게 나빠지고 되돌릴 수 없으면, 에폭을 켜지 않고 설계를 다시 본다.
+
+## 쉬운 말로
+
+- 알아낸 것:
+ - 링크에 에폭을 넣었다. 두 노드의 개인 키가 나중에 새도, run의 첫 에폭이 시작된 뒤에 오간 것은 풀 수 없다. 보통은 첫 답과
+ 함께 시작한다. 결정적 검사로 확인한다.
+ - 처음 재 보니 M2의 p99가 4.7 ms에서 34–45 ms로 나빠졌다. 이 Pi의 OpenSSL에서 X25519 합의 한 번이 164 µs다(날 개인 키를
+ 가져오면 220 µs). 1만 대가 깨어날 때 이것을 초당 2,000번, 패킷과 그 답 사이에서 했다.
+ - 수락을 초당 256번(한 번에 8번까지)으로 묶고, X25519를 답을 보낸 뒤로 옮겼다. 첫 1초의 꼬리가 사라졌다.
+ - 되짚다가 M6와 보안 검사가 M2에 남긴 것도 찾았다. 경로 MTU 탐침이 기기마다 패킷 하나(+10k), 주소 확인의 답이 또 하나(+38k)를
+ 더 보냈다. 둘 다 없앴다. 보낸 패킷은 M6 전과 같은 16만이다(80초).
+ - 에폭에 든 뒤와 받는 쪽을 kill -9 하고 다시 띄운 뒤는 에폭 전과 같다. 저장까지 p50 0.4–0.5 ms, p99 0.8–1.0 ms, CPU도 같다. 다시
+ 뜬 받는 쪽은 메모에서 에폭을 읽으므로 X25519가 0번이다.
+ - 값은 둘에 든다. 처음 만나는 5초에 p50이 0.7–1.0 ms 늘고, 수락이 이어지는 약 40초 동안 p50이 0.7 ms 는다.
+ - 메모를 잃은 받는 쪽은 비싸졌다. 에폭 비밀을 잃었으니 보내는 이 1만 개가 모두 에폭을 다시 연다. 저장이 0.8초 멈추고, 따라잡는
+ 데 7.7초 걸린다. 에폭 전에는 멈춤이 없고 0.2–0.7초였다. 전방 비밀성을 지키는 한 피할 수 없는 값이다.
+ - 부하 생성기가 기기 1만 개의 타이머를 5 ms마다 모두 물어, CPU의 83 %를 거기에 썼다. 기록의 시각을 그 순회의 시작으로 찍었으므로
+ 순회 시간(0.75–0.94 ms)이 지연의 바닥이 됐다. 기기마다 제 타이머를 기억하게 고치자 세 판 모두 p50이 0.4 ms로 내려왔다.
+- 아직 모르는 것:
+ - 1만 대가 한꺼번에 깨어나면 모두 에폭 1에 들기까지 약 40초 걸린다. 그동안 그 run들의 기록은 정적 키로만 보호된다.
+ - 메모를 잃은 재시작을 더 빠르게 할 수 있는지. 받는 쪽이 에폭을 모른다고 알리거나, 더 빠른 X25519를 쓰는 길이 있다.
+- 사용 경험의 차이: 기기와 앱은 달라지는 것이 없다. 인터넷에 켜기 전에 막고 있던 첫 과제가 풀렸다.
+
+## 한 것
+
+### 에폭
+
+- 패킷의 첫 바이트 아래 네 비트가 그 패킷을 봉인한 에폭(16으로 나눈 나머지)이다. 나머지 머리는 그대로다.
+- 에폭 0의 비밀은 두 노드의 정적 비밀(X25519)이다. 지금까지의 키가 그대로 에폭 0이다.
+- 보내는 쪽은 다음 에폭을 위한 키 쌍을 만들어 공개 반쪽을 OFFER 프레임(에폭 번호, 공개 키 37 B)에 싣는다. 수락될 때까지
+ 패킷마다 싣는다.
+- 받는 쪽은 자기 쌍의 공개 반쪽을 ACCEPT 프레임에 실어 답한다. 둘의 X25519와 지금 에폭의 비밀에서 HKDF로 다음 에폭의 비밀이
+ 나온다("pure link 0 epoch", 번호). 개인 반쪽은 합의하자마자 지운다. 그래서 지난 에폭의 키는 두 노드의 키로 다시 만들 수 없다.
+- 보내는 쪽은 ACCEPT를 받자마자 새 에폭으로 봉인한다. 받는 쪽은 새 에폭의 패킷이 열리면 그것을 run의 에폭으로 삼는다. 늦게 온
+ 지난 에폭의 패킷도 연다.
+- 보내는 쪽은 run의 첫 패킷부터 에폭 1을 제안한다. 받는 쪽이 곧바로 수락하면 첫 답과 함께 시작한다(바쁘면 늦어진다. 아래). 그
+ 뒤 한 시간이나 1 GiB마다 바꾼다(`pure_link_sender_epochs`).
+- 받는 쪽은 수락한 에폭을 메모([095](095-restart-and-first-contact.md))의 보내는 이 자리에 적는다. 그래서 다시 떠도 보내는 쪽의
+ 에폭으로 곧바로 이어 간다. 비대칭 연산은 들지 않는다. 메모의 한 자리는 64 B에서 256 B가 됐다.
+- 메모를 잃은 받는 쪽은 보내는 쪽의 패킷을 열지 못한다. 보내는 쪽은 2초 동안 아무것도 듣지 못하고 탐침 네 번이 답을 받지
+ 못하면 에폭을 잃은 것으로 본다. 그러면 에폭 0에서 제안만 보낸다. 기록은 싣지 않는다. 새 에폭이 시작되면 기록을 다시 보낸다.
+ 경로 위의 공격자가 답을 막아 이 길로 몰아도, 정적 키로 봉인되는 기록은 없다.
+
+### 수락은 값이 든다
+
+수락 한 번에 양쪽이 X25519를 한 번씩 한다. 이 Pi의 OpenSSL 3.5.7에서 잰 값이다
+([x25519.c](../../research/experiments/019-idle-links/x25519.c)).
+
+| | µs |
+|---|---:|
+| 키 쌍 만들기 | 57 |
+| 날 개인 키 가져오기(OpenSSL이 공개 반쪽을 다시 계산한다) | 56 |
+| 합의 | 164 |
+
+보내는 쪽은 제안한 쌍을 오래 들고 있을 수 있고, 노드 하나가 보내는 쪽을 많이 가질 수 있다. 그래서 쌍을 OpenSSL의 보안 힙이 아니라
+날 바이트로 들고, 합의할 때 가져온다. 보안 힙(16 KiB)에 두면 부하 생성기의 보내는 이 1만 개가 쌍을 만들지 못했다. 합의 한 번은
+그래서 220 µs다.
+
+받는 쪽은 수락을 이렇게 다룬다.
+
+- 받는 쪽의 쌍은 1초 동안 그 초의 제안 모두가 함께 쓴다. 키 만들기는 초에 한 번이다.
+- 기록을 싣고 온 제안은 토큰을 하나 쓴다. 토큰은 초당 256개, 한 번에 8개까지 찬다. 토큰이 없으면 받지 않는다. 보내는 쪽은
+ 다음 패킷에 다시 제안한다.
+- 기록 없이 온 제안(에폭을 잃고 기다리는 보내는 쪽)은 토큰을 기다리지 않는다. 대신 보내는 이마다 초에 한 번이다. 허용된
+ 보내는 이가 run을 바꿔 가며 X25519를 끝없이 시키지 못한다.
+- X25519는 패킷을 받는 자리에서 하지 않는다. 그 turn의 답을 모두 보낸 뒤에 하고, ACCEPT를 곧바로 이어 보낸다.
+
+### 만들면서 찾아 고친 것
+
+1. **네 비트가 겹침.** 체인을 에폭 0부터 다시 시작하면, 수락한 에폭과 지금 에폭의 네 비트가 같을 수 있다. 받는 쪽은 후보 키를
+ 차례로 시도한다. 수락한 것, 지금 것, 하나 전 것, 에폭 0의 것이다.
+2. **다시 시작하는 동안 답이 열리지 않음.** 보내는 쪽은 에폭 0으로 돌아갔는데 받는 쪽은 옛 에폭으로 답했다. 체인이 에폭 0부터
+ 다시 시작하면 받는 쪽도 에폭 0으로 돌아가고, 옛 에폭은 하나 전 것으로 남긴다.
+3. **손실에 에폭을 잃었다고 봄.** 10 % 손실에서 2초 동안 답을 못 듣는 일이 있었다. 탐침 네 번이 모두 답을 받지 못해야 한다는
+ 조건을 더했다.
+4. **M2의 보낸 패킷이 늘어남.** 아래 "M2"에 적었다.
+
+## 결과
+
+### 결정적 검사
+
+[test-link.c](../../link/test-link.c)에 두 경우를 더했다. 모두 `make check`에 들어 있다.
+
+- 모든 경우의 끝에서, 두 노드의 개인 키를 가진 자가 보내는 쪽이 보낸 모든 패킷을 정적 키로 열어 본다.
+ - 에폭 1 이상의 패킷이 하나라도 열리면 실패다.
+ - run의 첫 에폭 1 이상 패킷보다 뒤에 보낸 에폭 0 패킷에 기록이 있으면 실패다.
+- **에폭**: 에폭 0.2초(받는 쪽이 보내는 이마다 초에 한 번 받으므로 실제로는 약 1초), 손실 5 %, 재정렬, 양쪽 재시작, 쉼, 재전송
+ 공격 10 %.
+- **잊는 받는 쪽**: 메모 없이 재시작한다. 보내는 쪽이 에폭을 다시 시작해야 한다.
+
+| 경우 | 기록 | 가상 시간 | 에폭 | 정적 키로 열린 패킷 | 결과 |
+|---|---:|---:|---:|---:|---|
+| 깨끗함 | 3,000 | 0.1초 | 1 | 2 | 모두 에폭 0, 첫 에폭 전 |
+| 에폭 | 3,000 | 16.2초 | 16 | 226 | 모두 에폭 0. 에폭이 시작된 run에서 그 뒤 기록 0. 재전송 941개, 공격자에게 간 바이트 0 |
+| 잊는 받는 쪽 | 3,000 | 16.5초 | 2 | 5 | 다시 시작한 에폭으로 모든 기록 전달 |
+
+"정적 키로 열린 패킷"은 모두 run이 시작해 첫 에폭이 시작되기 전의 패킷과, 에폭을 다시 여는 제안이다. 에폭 경우에는 보내는 쪽이
+다시 시작할 때마다 새 run이 생기고, 받는 쪽이 보내는 이마다 초에 한 번만 수락하므로 이런 패킷이 많다.
+
+### M2
+
+[095](095-restart-and-first-contact.md)의 M2다. 기기 1만 개가 5초마다 주문 하나를 보낸다(초당 2,000건). 받는 쪽을 kill -9 하고
+곧바로 다시 띄운다. 원시 결과는 `research/experiments/019-idle-links/`의 `2026-09-29-epochs-*.jsonl`에 있다.
+
+**처음 잰 것.** 에폭을 넣고 40초 M2를 돌리니 p99가 34–45 ms였다. 커밋마다 두 번씩 돌려 어디서 무엇이 늘었는지 찾았다(아래 표의
+옛 생성기).
+
+| 판 | 보낸 패킷 | p99 |
+|---|---:|---:|
+| a70cf07 (M6 전) | 80.0k | 4.3 ms |
+| 41e170e (늦은 패킷, CUBIC) | 80.0k | 4.4 ms |
+| cc6dad4 (부분으로 자르기) | 80.0k | 4.6 ms |
+| 34df292 (경로 MTU) | **90.0k** | 4.8–5.1 ms |
+| 4f6a1a4 (페이싱) | 90.0k | 4.8 ms |
+| 6152bd8 (보안 검사) | **117.9–118.7k** | 4.7 ms |
+| 에폭 첫 판 | 85.4–85.9k | **34–45 ms** |
+
+- **경로 MTU 탐침(+10k).** 작은 기록을 하나씩 보내는 링크는 패킷이 가득 찬 적이 없다. 그래도 1,452 B 탐침을 보냈다. 이제 가득 찬
+ 패킷이 있었던 링크만 탐침한다. 더 큰 패킷이 실어 줄 것이 없으면 찾을 까닭이 없다.
+- **주소 확인의 답(+38k).** 보내는 쪽은 CHALLENGE를 받으면 RESPONSE만 담은 패킷을 따로 보냈다. 기기마다, 받는 쪽이 다시 뜰 때마다
+ 하나씩이다. 이제 RESPONSE는 나갈 패킷(기록이나 탐침)에만 싣는다. 확인 전의 답은 받은 바이트의 3배까지다. 패킷 하나에 대한
+ 답(ACK와 저장했다는 말)은 그보다 작다. 답이 그 한도에 막히면, 답을 기다리는 보내는 쪽의 탐침이나 다시 보내는 기록이 RESPONSE를
+ 실어 간다.
+- **에폭의 꼬리.** 첫 1초에 저장이 뭉쳤다. 1만 대가 5초 안에 깨어나면 노드는 초당 2,000번, 정적 비밀(164 µs)과 수락(220 µs)을
+ 패킷과 답 사이에서 했다. 부하 생성기의 한 스레드도 수락마다 220 µs를 썼다. 수락에 토큰을 두었다(위). 처음에는 통이 256개 가득
+ 찬 채 시작해, 첫 1초에 X25519를 256번 연달아 했다(56 ms, 첫 1초 p99 44–54 ms). 한 번에 8개로 줄이자 사라졌다.
+
+**부하 생성기.** 수락이 끝난 뒤에도 p50이 에폭 전보다 0.15 ms 높았다. gprof로 보니 생성기 CPU의 83 %가 `pure_link_sender_due`였다.
+5 ms마다 기기 1만 개의 타이머를 모두 물었고(한 번 47 ns, 대부분 캐시 미스), 기록의 시각은 그 순회의 시작으로 찍었다. 그래서 순회
+시간이 지연의 바닥이었다. 순회는 6152bd8에서 0.75 ms, 에폭에서 0.87–0.94 ms였다. 보내는 쪽 구조체가 912 B에서 1,120 B가 되면서
+길어졌다. 타이머가 읽는 필드의 자리는 같게 했지만(에폭의 필드를 끝으로 옮겼다) 순회는 줄지 않았다. 생성기를 고쳤다. 기기마다 제
+보내는 쪽의 다음 타이머를 기억하고, 보내는 쪽을 건드렸을 때만 다시 묻는다. 타이머는 보내는 쪽을 건드릴 때만 바뀌므로 결과는 같다.
+아래는 모두 고친 생성기로 잰 것이다.
+
+**최종.** 80초, 60초에 kill -9, 두 라운드다. 초마다 만든 기록의 p50과 p99를 구간별로 평균했다.
+
+| | a70cf07 (M6 전) | 6152bd8 (에폭 전) | 에폭 |
+|---|---|---|---|
+| 보낸 패킷 | 160,050 · 160,056 | 198,470 · 200,528 | 160,075 · 160,044 |
+| 처음 만남(0–5초) p50 / p99 | 3.7 / 4.1–5.1 ms | 3.9–4.0 / 4.7–4.8 ms | 4.7 / 5.8–6.0 ms |
+| 수락이 이어짐(5–40초) p50 / p99 | 0.37–0.38 / 0.86–0.94 ms | 0.39 / 0.81–1.03 ms | 1.05–1.13 / 1.70–1.79 ms |
+| 에폭에 든 뒤(45–60초) p50 / p99 | 0.39–0.40 / 0.79–0.81 ms | 0.35–0.40 / 0.74–0.88 ms | 0.38–0.40 / 0.77 ms |
+| 다시 뜬 뒤(62–80초) p50 / p99 | 0.41–0.46 / 1.10–1.21 ms | 0.47 / 0.86–0.91 ms | 0.46–0.47 / 0.86–0.95 ms |
+| 전체 p99 / 최대 | 3.8–3.9 / 35–38 ms | 4.2 / 37–85 ms | 5.1 / 36–39 ms |
+| 저장이 멈춘 100 ms 칸, 따라잡기 | 0, 0.2초 | 0, 0.2초 | 0, 0.2초 |
+| 60초의 CPU, 노드 / 생성기 | 90–110 / 60–70 ms/s | 110 / 70 ms/s | 100–120 / 60–70 ms/s |
+
+- 에폭에 든 뒤와 다시 뜬 뒤는 에폭 전과 같다. 다시 뜬 노드는 메모에서 에폭을 읽는다. run마다 키를 한 번 만들고, X25519는 0번이다.
+- 값은 두 구간에 든다.
+ - 처음 만남: p50이 0.7–1.0 ms 는다.
+ - 수락이 이어지는 약 40초: p50과 p99가 0.7–0.9 ms 는다. 수락 한 번에 양쪽이 220 µs씩 쓴다. 생성기는 5 ms마다 기기 10대를
+ 한꺼번에 보내고, 수락은 5 ms에 1.3번꼴이라 거의 모든 묶음에 끼어든다. 노드는 X25519를 그 turn의 답을 보낸 뒤에 한다. 하지만
+ 저장했다는 답은 저장이 끝난 다음 turn에 나가므로 그 앞에 걸린다.
+ - 가르는 검사를 둘 했다(옛 생성기). 수락을 막아 모두가 계속 제안만 하게 하면, 이 구간의 p50은 에폭 전과 순회 차이만큼만
+ 달랐다(0.93 대 0.75–0.78 ms). 에폭에 든 기기와 아직 제안하는 기기의 p50은 같았다(1.36 대 1.40 ms). 값은 기기의 상태가 아니라
+ 수락하는 일에 있다.
+
+**메모 없이 다시 뜬 받는 쪽.** 두 라운드 모두 거의 같았다.
+
+| | 6152bd8 (에폭 전) | 에폭 |
+|---|---|---|
+| 저장이 멈춘 100 ms 칸 | 0 | 8 |
+| 따라잡기 | 0.2–0.7초 | 7.7–7.8초 |
+| 저장까지 p99 / 최대 | 4.2–4.3 ms / 46–61 ms | 4.1–4.2초 / 7.7–7.8초 |
+| 노드의 X25519 | 10,000 | 20,007 |
+| 다시 뜬 뒤 10초의 CPU, 노드 / 생성기 | 2.8 / 0.8–0.9초 | 5.4–5.6 / 4.7–4.8초 |
+
+- 메모가 없으면 받는 쪽은 에폭 비밀도 잃는다. 보내는 쪽의 에폭 1 패킷을 열 수 없다. 보내는 쪽은 탐침 네 번에 답이 없으면(약
+ 0.8초) 에폭 0에서 제안만 보낸다. 받는 쪽은 정적 비밀(X25519)을 만들고 수락한다(X25519). 보내는 쪽도 수락마다 X25519를 한다.
+- 따라잡기는 CPU에 묶였다. 노드의 링크 스레드가 X25519 2만 번(약 3.8초)을 하고, 생성기의 한 스레드가 보내는 이 1만 개의 키 쌍과
+ 합의(약 2.8초)를 한다. 실제 기기는 저마다 CPU가 있으니 생성기 쪽 몫은 이 하네스의 값이다.
+- 잃거나 겹친 기록은 없다. quinn의 보통 재시작(095: 멈춘 칸 10, 따라잡기 10.9초)보다는 여전히 짧다.
+
+**M1.** 쉬는 보내는 이 1만 개일 때 노드의 익명 메모리는 같다(21,216 대 21,360 kB). 메모 파일은 보내는 이마다 256 B가 됐다(1만
+개에 2.5 MB). 파일에 매핑된 페이지라 RSS에는 그만큼 더 잡힌다. 처음 보내는 기록 하나에 노드 CPU가 0.263에서 0.307 ms가 됐다.
+수락의 값이다.
+
+## 판정
+
+- 098이 남긴 전방 비밀성은 검사한 범위에서 풀렸다. 두 노드의 개인 키가 나중에 새도, run의 첫 에폭이 시작된 뒤에 오간 것은
+ 열리지 않는다.
+- M2의 중단 기준(눈에 띄게 나빠지고 되돌릴 수 없으면 켜지 않는다)은 넘지 않았다. 정상 상태와 다시 뜬 뒤는 에폭 전과 같다. 값은
+ 대량으로 처음 만난 뒤 약 40초의 지연(p50 +0.7 ms)과, 메모를 잃은 재시작의 7.7초다. 앞의 것은 토큰으로 조절된다. 뒤의 것은 전방
+ 비밀성의 정의에서 나온다. 받는 쪽이 에폭 비밀을 잃으면 에폭은 다시 열어야 한다.
+- 에폭은 켜 둔다. 끌 스위치도 두지 않는다.
+
+## 한계와 다음
+
+- **run의 첫 패킷.** 첫 에폭이 시작되기 전의 패킷은 정적 키로만 보호된다. QUIC 0-RTT와 같은 한계다. 보내는 쪽이 다시
+ 시작하면 새 run이 에폭 0부터 시작한다.
+- **KCI는 그대로다.** 받는 쪽의 개인 키를 가진 자는 자기 run을 에폭 0부터 열어 어떤 보내는 이로도 행세할 수 있다. 에폭이 막는
+ 것은 이미 오가는 남의 run에 끼어드는 것이다. 098의 판정 가운데 이 부분을 바로잡았다.
+- **메모에 지금 에폭의 비밀이 있다.** 메모 파일과 두 노드의 키를 함께 가진 자는 지금 에폭과 그 하나 전을 연다. 메모는 노드 키 옆의
+ 0600 파일이다. 메모를 쓰지 않으면 이 창은 없지만, 받는 쪽이 다시 뜰 때마다 위의 7.7초가 든다.
+- **네 비트.** 머리에는 에폭의 아래 네 비트만 싣는다. 받는 쪽은 수락한 것, 지금 것, 하나 전 것, 에폭 0의 것만 시도한다. 그보다
+ 오래된 에폭의 패킷은 열리지 않고, 보내는 쪽이 다시 보낸다.
+- **X25519가 느리다.** 이 Pi의 OpenSSL에서 합의가 164 µs다. 양쪽 모두 쌍을 날 바이트로 들어 합의마다 56 µs를 더 쓴다. 더 빠른
+ 구현은 수락과 메모 없는 재시작을 모두 줄이지만, 암호 구현은 직접 쓰지 않는다.
+- **메모를 잃은 재시작.** 받는 쪽이 에폭을 모른다고 알리면(정적 키로 봉인한 답) 0.8초의 멈춤이 한 RTT로 준다. 답할 수 없는
+ 패킷에 답하는 일이라 증폭과 강제 재협상을 따져야 한다. 아직 하지 않았다.
+- **M6의 값.** 옛 생성기로 잰 이분 탐색에서는 M6 뒤 정상 상태 CPU가 양쪽 모두 올라 보였다. 새 생성기로는 세 판이 잡음(±20 ms/s)
+ 안에서 같다. 올라 보인 것의 대부분은 생성기의 순회였다.
+- 다음은 011 4단계의 나머지다. 경로 바뀜의 실제 측정(주소가 바뀌는 동안 끊긴 시간)과 저장소 옮기기(M3)다.
diff --git a/research/experiments/019-idle-links/2026-09-29-epochs-bisect-linux-aarch64.jsonl b/research/experiments/019-idle-links/2026-09-29-epochs-bisect-linux-aarch64.jsonl
new file mode 100644
index 0000000..91f609d
--- /dev/null
+++ b/research/experiments/019-idle-links/2026-09-29-epochs-bisect-linux-aarch64.jsonl
@@ -0,0 +1,27 @@
+{"commit": "a70cf07", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 13.5, "steady_cpu_ms_per_s": 90.0, "senders_steady_cpu_ms_per_s": 100.0, "recovery_cpu_ms_first_10s": 1220.0, "senders_cpu_ms_first_10s": 1330.0, "generator": {"devices": 10000, "made": 80000, "stored": 80000, "sends": 80023, "again": 23, "stored_ms_p50": 0.668, "stored_ms_p99": 4.306, "stored_ms_max": 42.431, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [183, 207, 192, 210, 194, 192, 210, 193, 211, 194, 193, 202, 195, 202, 201, 214, 195, 195, 196, 213, 198, 197, 198, 198, 200, 201, 200, 201, 200, 199, 201, 200, 201, 200, 204, 201, 197, 188, 203, 203, 203, 204, 186, 205, 207, 204, 186, 205, 207, 187, 223, 193, 204, 195, 198, 208, 196, 197, 208, 197, 196, 197, 207, 198, 198, 208, 197, 197, 197, 208, 197, 196, 197, 209, 200, 190, 209, 199, 195, 206, 193, 205, 195, 206, 197, 205, 194, 206, 197, 197, 208, 195, 196, 198, 209, 197, 198, 196, 208, 198, 198, 204, 193, 205, 194, 204, 205, 192, 205, 205, 193, 204, 203, 193, 205, 193, 204, 204, 194, 204, 193, 204, 205, 193, 207, 194, 193, 204, 209, 196, 198, 197, 199, 202, 201, 198, 210, 198, 200, 199, 201, 200, 201, 190, 203, 202, 202, 201, 197, 196, 210, 196, 196, 208, 199, 196, 196, 208, 197, 196, 207, 196, 195, 209, 198, 197, 202, 198, 193, 210, 199, 195, 204, 202, 195, 206, 194, 206, 195, 204, 195, 205, 192, 208, 195, 206, 194, 206, 196, 206, 197, 195, 207, 196, 197, 197, 208, 196, 199, 208, 194, 204, 193, 205, 194, 204, 203, 193, 205, 204, 174, 221, 198, 198, 210, 198, 197, 199, 202, 201, 195, 203, 204, 192, 205, 193, 203, 205, 196, 205, 192, 205, 193, 207, 194, 207, 195, 207, 197, 196, 198, 206, 197, 196, 209, 196, 197, 204, 197, 205, 200, 198, 198, 199, 209, 199, 199, 198, 200, 199, 198, 205, 194, 205, 194, 205, 195, 204, 195, 206, 194, 204, 205, 194, 206, 193, 205, 195, 206, 194, 206, 193, 206, 195, 204, 198, 203, 197, 196, 208, 196, 195, 207, 197, 197, 208, 200, 201, 192, 204, 199, 197, 208, 199, 197, 197, 208, 196, 198, 197, 209, 196, 195, 198, 208, 196, 197, 207, 197, 197, 207, 196, 200, 195, 209, 199, 194, 205, 194, 206, 194, 207, 198, 201, 197, 205, 194, 206, 197, 195, 200, 206, 196, 207, 196, 195, 208, 195, 197, 209, 194, 205, 193, 204, 194, 204, 203, 204, 193, 205, 193, 204, 204, 193, 205, 192, 205, 204, 192, 206, 193, 204, 203, 195, 208, 199, 199, 196, 198, 201, 198, 209, 198, 199, 198, 198, 199, 202, 198, 201, 200, 201, 203, 201, 202, 190, 203, 201, 203, 194, 11], "killed_ms": 21102, "recovery": {"steady_per_100ms": 199.5, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 80000, "listener": {"listener_packets": 75754, "listener_received": 37877, "listener_deliveries": 37877, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "41e170e", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 19.7, "steady_cpu_ms_per_s": 110.0, "senders_steady_cpu_ms_per_s": 140.0, "recovery_cpu_ms_first_10s": 1260.0, "senders_cpu_ms_first_10s": 1470.0, "generator": {"devices": 10000, "made": 80002, "stored": 80002, "sends": 80038, "again": 36, "stored_ms_p50": 0.778, "stored_ms_p99": 4.392, "stored_ms_max": 39.101, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [182, 204, 200, 192, 210, 193, 195, 212, 195, 194, 214, 197, 197, 196, 198, 197, 216, 198, 198, 198, 199, 202, 200, 201, 200, 202, 201, 183, 203, 203, 203, 204, 204, 185, 209, 188, 207, 205, 206, 187, 206, 206, 188, 206, 197, 200, 208, 190, 208, 190, 215, 197, 199, 208, 198, 198, 198, 198, 209, 198, 200, 198, 197, 199, 197, 210, 201, 198, 197, 198, 198, 209, 199, 201, 191, 201, 202, 203, 203, 201, 191, 202, 204, 202, 195, 204, 192, 204, 205, 191, 205, 206, 199, 195, 196, 206, 195, 205, 192, 207, 200, 200, 199, 200, 202, 201, 201, 201, 199, 201, 200, 200, 200, 200, 190, 201, 201, 201, 200, 200, 200, 201, 206, 199, 191, 201, 203, 201, 195, 204, 201, 201, 201, 201, 192, 203, 203, 202, 192, 205, 203, 191, 205, 204, 195, 204, 193, 207, 194, 207, 201, 200, 201, 190, 201, 202, 201, 202, 203, 188, 200, 210, 199, 197, 198, 208, 198, 196, 197, 208, 196, 198, 197, 210, 197, 198, 197, 210, 197, 197, 198, 208, 197, 198, 198, 198, 199, 209, 197, 199, 200, 198, 198, 200, 199, 200, 201, 202, 200, 201, 198, 197, 208, 198, 198, 196, 209, 197, 196, 200, 167, 233, 206, 194, 200, 205, 196, 207, 193, 207, 199, 200, 198, 201, 193, 209, 195, 201, 200, 201, 201, 201, 201, 190, 204, 202, 202, 192, 203, 201, 199, 205, 191, 205, 194, 206, 205, 192, 205, 193, 202, 202, 201, 205, 197, 203, 191, 203, 202, 202, 200, 197, 196, 210, 198, 196, 198, 208, 199, 198, 197, 201, 201, 195, 207, 198, 203, 198, 198, 202, 197, 198, 197, 208, 203, 198, 199, 197, 199, 200, 198, 202, 200, 200, 202, 199, 202, 202, 192, 207, 199, 197, 198, 209, 200, 197, 199, 197, 198, 209, 197, 197, 196, 208, 197, 197, 198, 209, 196, 197, 207, 197, 197, 199, 203, 199, 202, 204, 199, 192, 201, 201, 202, 201, 203, 191, 203, 202, 197, 203, 200, 199, 197, 209, 190, 206, 204, 200, 200, 191, 199, 209, 196, 197, 208, 197, 198, 197, 209, 197, 197, 196, 209, 197, 196, 199, 198, 208, 197, 197, 200, 198, 208, 197, 198, 199, 198, 209, 197, 197, 201, 202, 198, 198, 203, 197, 202, 198, 199, 201, 203, 203, 192, 203, 206, 193, 199, 201, 198, 201, 13], "killed_ms": 21102, "recovery": {"steady_per_100ms": 199.4, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 80002, "listener": {"listener_packets": 75740, "listener_received": 37870, "listener_deliveries": 37870, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "cc6dad4", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 13.6, "steady_cpu_ms_per_s": 100.0, "senders_steady_cpu_ms_per_s": 120.0, "recovery_cpu_ms_first_10s": 1270.0, "senders_cpu_ms_first_10s": 1480.0, "generator": {"devices": 10000, "made": 80009, "stored": 80009, "sends": 80033, "again": 24, "stored_ms_p50": 0.764, "stored_ms_p99": 4.627, "stored_ms_max": 44.063, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [182, 209, 191, 209, 193, 192, 210, 194, 197, 213, 196, 196, 199, 196, 213, 200, 198, 197, 201, 199, 199, 201, 201, 200, 200, 202, 202, 185, 214, 196, 204, 196, 201, 195, 206, 204, 187, 206, 190, 207, 206, 187, 208, 208, 188, 208, 190, 215, 196, 191, 213, 197, 208, 199, 196, 197, 202, 198, 207, 203, 197, 197, 197, 209, 196, 197, 208, 197, 200, 198, 198, 199, 201, 203, 199, 201, 201, 202, 192, 202, 200, 200, 202, 203, 190, 203, 203, 203, 195, 205, 192, 204, 204, 193, 208, 192, 205, 195, 208, 197, 200, 200, 199, 201, 200, 199, 199, 199, 201, 200, 199, 206, 200, 202, 199, 200, 192, 195, 211, 201, 198, 195, 208, 197, 195, 208, 195, 197, 199, 210, 196, 198, 197, 198, 209, 197, 196, 202, 194, 210, 193, 209, 198, 199, 199, 199, 199, 201, 201, 202, 197, 196, 208, 197, 197, 207, 196, 196, 199, 199, 210, 196, 197, 208, 196, 196, 197, 198, 204, 201, 200, 200, 200, 201, 199, 200, 198, 201, 202, 204, 200, 200, 201, 193, 201, 200, 202, 195, 198, 205, 197, 209, 197, 199, 199, 199, 197, 200, 204, 200, 206, 195, 196, 210, 196, 195, 208, 196, 198, 197, 175, 232, 202, 192, 205, 203, 190, 198, 199, 213, 190, 200, 204, 201, 200, 201, 201, 201, 193, 202, 201, 201, 201, 203, 198, 192, 203, 203, 198, 200, 198, 197, 210, 199, 200, 200, 200, 202, 190, 203, 207, 193, 205, 194, 204, 194, 206, 205, 194, 204, 195, 200, 200, 201, 200, 200, 200, 201, 205, 188, 202, 200, 200, 204, 200, 200, 198, 198, 203, 201, 197, 210, 196, 199, 198, 197, 202, 207, 200, 199, 201, 201, 198, 201, 200, 200, 199, 190, 203, 203, 198, 197, 208, 201, 198, 196, 197, 208, 199, 199, 198, 196, 208, 200, 198, 205, 196, 197, 200, 198, 199, 208, 197, 197, 197, 207, 195, 199, 204, 204, 199, 201, 194, 194, 206, 201, 202, 198, 200, 199, 197, 200, 201, 199, 210, 199, 199, 199, 201, 194, 198, 210, 197, 197, 196, 208, 196, 198, 208, 196, 196, 200, 209, 197, 196, 196, 207, 198, 199, 197, 199, 209, 197, 198, 196, 208, 196, 198, 198, 210, 196, 198, 199, 198, 208, 199, 201, 191, 206, 194, 204, 204, 199, 191, 205, 202, 200, 200, 203, 201, 12], "killed_ms": 21102, "recovery": {"steady_per_100ms": 199.3, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 80009, "listener": {"listener_packets": 75764, "listener_received": 37882, "listener_deliveries": 37882, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "34df292", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 14.2, "steady_cpu_ms_per_s": 120.0, "senders_steady_cpu_ms_per_s": 140.0, "recovery_cpu_ms_first_10s": 1480.0, "senders_cpu_ms_first_10s": 1570.0, "generator": {"devices": 10000, "made": 79999, "stored": 79999, "sends": 90035, "again": 36, "stored_ms_p50": 0.792, "stored_ms_p99": 5.046, "stored_ms_max": 44.083, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [191, 185, 207, 203, 193, 213, 188, 197, 208, 154, 243, 194, 209, 200, 194, 209, 190, 208, 190, 216, 195, 196, 204, 193, 199, 194, 202, 212, 195, 195, 206, 197, 196, 209, 189, 207, 193, 215, 197, 187, 215, 198, 199, 201, 203, 187, 197, 199, 203, 202, 220, 199, 198, 198, 199, 199, 208, 197, 198, 197, 198, 211, 197, 197, 199, 200, 201, 200, 201, 202, 201, 191, 201, 200, 203, 202, 201, 202, 201, 190, 202, 206, 201, 191, 198, 209, 199, 198, 199, 203, 201, 203, 200, 200, 194, 202, 201, 199, 201, 200, 197, 200, 196, 207, 200, 198, 196, 207, 196, 196, 208, 199, 196, 208, 200, 198, 197, 197, 208, 199, 199, 197, 198, 196, 211, 197, 196, 197, 208, 198, 197, 198, 202, 201, 201, 196, 201, 202, 202, 194, 206, 193, 204, 204, 199, 193, 204, 204, 193, 206, 202, 191, 200, 211, 190, 200, 200, 199, 200, 202, 200, 202, 200, 200, 205, 200, 198, 199, 197, 195, 202, 201, 209, 197, 202, 198, 196, 208, 197, 196, 199, 197, 208, 198, 202, 198, 200, 199, 206, 198, 191, 202, 199, 199, 201, 200, 199, 211, 200, 188, 210, 197, 197, 207, 197, 194, 198, 201, 208, 197, 167, 228, 204, 202, 202, 202, 190, 205, 205, 191, 206, 195, 206, 195, 195, 208, 195, 197, 210, 194, 198, 210, 196, 196, 197, 209, 198, 200, 199, 199, 204, 202, 189, 211, 199, 199, 200, 189, 203, 200, 209, 196, 196, 205, 193, 205, 206, 196, 195, 206, 193, 200, 202, 200, 200, 201, 200, 203, 201, 202, 191, 202, 201, 201, 201, 200, 202, 202, 191, 201, 203, 205, 191, 203, 204, 192, 204, 206, 194, 205, 197, 205, 193, 207, 192, 206, 193, 209, 194, 206, 191, 202, 201, 200, 202, 200, 200, 200, 200, 200, 202, 201, 201, 200, 200, 200, 200, 189, 202, 202, 201, 202, 201, 200, 200, 199, 201, 202, 200, 193, 208, 199, 198, 197, 197, 209, 197, 199, 200, 198, 207, 190, 199, 211, 198, 190, 202, 204, 201, 199, 198, 198, 209, 196, 197, 208, 196, 198, 204, 196, 198, 197, 209, 196, 196, 208, 197, 198, 198, 209, 198, 198, 197, 197, 207, 198, 196, 198, 209, 196, 199, 203, 202, 190, 202, 202, 201, 205, 192, 202, 198, 203, 206, 192, 205, 194, 205, 193, 207, 193, 12], "killed_ms": 21102, "recovery": {"steady_per_100ms": 199.4, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 79999, "listener": {"listener_packets": 75756, "listener_received": 37878, "listener_deliveries": 37878, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "4f6a1a4", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 15.1, "steady_cpu_ms_per_s": 140.0, "senders_steady_cpu_ms_per_s": 170.0, "recovery_cpu_ms_first_10s": 1520.0, "senders_cpu_ms_first_10s": 1770.0, "generator": {"devices": 10000, "made": 79999, "stored": 79999, "sends": 90036, "again": 37, "stored_ms_p50": 0.976, "stored_ms_p99": 4.823, "stored_ms_max": 46.114, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [181, 208, 189, 208, 190, 209, 190, 210, 190, 216, 189, 209, 185, 200, 205, 194, 216, 190, 202, 205, 202, 198, 203, 183, 207, 203, 198, 202, 203, 192, 209, 186, 213, 198, 203, 194, 194, 211, 189, 214, 206, 191, 194, 195, 213, 204, 194, 194, 212, 194, 209, 204, 194, 205, 193, 205, 204, 192, 205, 195, 198, 205, 203, 199, 194, 204, 204, 193, 204, 193, 207, 192, 208, 195, 197, 207, 198, 196, 206, 197, 203, 202, 200, 191, 208, 193, 207, 194, 207, 195, 202, 196, 208, 196, 196, 208, 195, 195, 208, 194, 206, 202, 194, 203, 204, 192, 203, 204, 191, 203, 207, 192, 207, 198, 196, 203, 204, 193, 202, 204, 192, 205, 193, 204, 207, 191, 204, 204, 193, 203, 194, 204, 196, 209, 195, 196, 207, 196, 208, 197, 199, 197, 198, 198, 201, 210, 198, 198, 200, 199, 197, 206, 195, 207, 195, 194, 205, 206, 193, 207, 198, 198, 196, 197, 206, 194, 205, 195, 206, 205, 199, 194, 206, 196, 196, 205, 194, 206, 194, 208, 196, 195, 208, 195, 200, 201, 203, 194, 208, 197, 201, 199, 198, 197, 202, 207, 194, 207, 195, 195, 207, 194, 205, 205, 191, 205, 192, 204, 204, 203, 161, 237, 199, 198, 198, 197, 209, 197, 198, 197, 202, 195, 204, 198, 210, 196, 197, 196, 208, 195, 200, 207, 197, 195, 209, 196, 198, 195, 210, 197, 200, 199, 198, 198, 200, 204, 204, 191, 204, 204, 203, 199, 188, 201, 201, 200, 200, 200, 200, 200, 202, 208, 195, 196, 206, 194, 208, 194, 206, 193, 209, 194, 198, 196, 207, 194, 209, 194, 196, 208, 196, 208, 198, 195, 195, 208, 197, 206, 195, 197, 200, 199, 198, 211, 198, 198, 199, 200, 198, 199, 198, 206, 195, 207, 193, 206, 193, 207, 193, 207, 197, 195, 207, 198, 206, 193, 205, 195, 206, 193, 197, 206, 195, 207, 195, 204, 195, 205, 194, 205, 198, 206, 196, 197, 206, 194, 207, 194, 195, 202, 200, 208, 196, 199, 197, 210, 196, 198, 198, 198, 207, 193, 207, 193, 206, 193, 206, 205, 194, 195, 207, 195, 206, 198, 194, 204, 207, 193, 206, 193, 207, 193, 206, 194, 207, 193, 209, 196, 193, 198, 207, 202, 193, 207, 203, 192, 205, 204, 192, 204, 197, 194, 207, 195, 205, 206, 194, 195, 204, 195, 12], "killed_ms": 21102, "recovery": {"steady_per_100ms": 199.3, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 79999, "listener": {"listener_packets": 75732, "listener_received": 37866, "listener_deliveries": 37866, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "a618df5", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 20.6, "steady_cpu_ms_per_s": 170.0, "senders_steady_cpu_ms_per_s": 170.0, "recovery_cpu_ms_first_10s": 1560.0, "senders_cpu_ms_first_10s": 1810.0, "generator": {"devices": 10000, "made": 80002, "stored": 80002, "sends": 90052, "again": 50, "stored_ms_p50": 0.976, "stored_ms_p99": 4.903, "stored_ms_max": 40.832, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [176, 208, 195, 206, 189, 211, 189, 210, 192, 213, 192, 203, 191, 201, 200, 214, 196, 200, 196, 200, 201, 196, 204, 208, 197, 189, 205, 207, 183, 213, 197, 207, 195, 196, 213, 200, 184, 218, 192, 203, 199, 185, 215, 198, 188, 205, 195, 215, 188, 212, 205, 193, 206, 195, 206, 197, 206, 195, 194, 207, 194, 207, 199, 200, 196, 198, 207, 195, 209, 195, 195, 206, 199, 194, 208, 197, 195, 207, 196, 207, 196, 195, 198, 211, 197, 201, 197, 199, 197, 209, 198, 197, 201, 198, 198, 201, 200, 197, 200, 199, 207, 194, 208, 194, 197, 210, 195, 195, 206, 205, 194, 207, 193, 200, 205, 199, 196, 205, 197, 194, 205, 204, 194, 204, 193, 206, 204, 192, 204, 193, 205, 204, 195, 206, 193, 207, 194, 206, 194, 205, 196, 204, 197, 194, 206, 196, 206, 198, 195, 208, 192, 204, 195, 205, 206, 194, 205, 193, 204, 203, 192, 205, 198, 203, 194, 208, 195, 205, 200, 193, 206, 194, 197, 206, 196, 198, 208, 194, 202, 198, 207, 197, 199, 197, 209, 200, 196, 198, 198, 197, 209, 196, 201, 197, 198, 200, 199, 210, 200, 198, 196, 207, 195, 194, 207, 197, 206, 193, 207, 194, 158, 242, 202, 200, 201, 202, 200, 200, 201, 199, 199, 200, 202, 199, 202, 189, 200, 200, 200, 200, 211, 188, 203, 203, 202, 193, 203, 202, 202, 201, 201, 202, 192, 203, 204, 192, 204, 204, 179, 216, 207, 198, 190, 211, 198, 200, 190, 200, 206, 196, 209, 192, 205, 194, 205, 195, 204, 203, 193, 205, 204, 191, 206, 198, 202, 199, 204, 191, 206, 204, 191, 204, 195, 208, 193, 207, 197, 205, 196, 196, 206, 192, 207, 194, 207, 195, 207, 194, 196, 210, 195, 206, 196, 195, 207, 195, 206, 192, 207, 195, 206, 193, 207, 192, 207, 194, 204, 193, 206, 194, 205, 205, 195, 194, 207, 198, 205, 192, 207, 193, 204, 194, 208, 195, 198, 208, 193, 206, 194, 207, 193, 208, 193, 203, 203, 198, 199, 198, 198, 198, 206, 205, 200, 192, 207, 195, 207, 192, 195, 206, 205, 195, 196, 204, 206, 195, 205, 193, 204, 198, 198, 203, 204, 192, 202, 205, 192, 203, 203, 192, 207, 203, 193, 206, 192, 207, 193, 205, 200, 205, 192, 205, 201, 193, 206, 194, 208, 193, 206, 194, 12], "killed_ms": 21103, "recovery": {"steady_per_100ms": 199.2, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 80002, "listener": {"listener_packets": 75706, "listener_received": 37853, "listener_deliveries": 37853, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "6152bd8", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 20.3, "steady_cpu_ms_per_s": 150.0, "senders_steady_cpu_ms_per_s": 150.0, "recovery_cpu_ms_first_10s": 1880.0, "senders_cpu_ms_first_10s": 1790.0, "generator": {"devices": 10000, "made": 80007, "stored": 80007, "sends": 118694, "again": 48, "stored_ms_p50": 0.866, "stored_ms_p99": 4.714, "stored_ms_max": 43.358, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [178, 209, 190, 210, 198, 207, 195, 202, 189, 208, 199, 195, 194, 213, 199, 195, 206, 202, 201, 198, 196, 194, 203, 200, 211, 201, 189, 203, 196, 199, 207, 195, 205, 193, 195, 214, 195, 194, 197, 212, 196, 195, 195, 205, 204, 191, 215, 193, 210, 196, 206, 199, 200, 199, 199, 200, 201, 201, 203, 201, 199, 198, 198, 198, 200, 209, 198, 200, 200, 197, 198, 199, 199, 199, 200, 209, 200, 201, 200, 198, 199, 199, 199, 200, 205, 199, 202, 188, 203, 199, 200, 202, 202, 204, 196, 194, 206, 195, 209, 194, 202, 200, 201, 201, 202, 200, 192, 201, 204, 193, 200, 201, 201, 200, 201, 201, 201, 201, 204, 201, 194, 202, 202, 201, 193, 200, 198, 207, 193, 210, 196, 197, 199, 198, 201, 199, 211, 198, 201, 199, 199, 202, 200, 200, 190, 200, 201, 200, 203, 201, 198, 198, 209, 198, 199, 198, 199, 197, 203, 199, 199, 199, 199, 209, 200, 198, 199, 199, 202, 198, 198, 197, 209, 198, 199, 198, 196, 202, 202, 201, 204, 192, 203, 203, 194, 204, 203, 191, 205, 204, 193, 203, 205, 192, 209, 195, 195, 206, 195, 206, 202, 200, 190, 201, 204, 200, 204, 200, 193, 201, 170, 235, 191, 204, 207, 190, 204, 203, 196, 206, 197, 194, 200, 198, 206, 202, 193, 206, 201, 203, 195, 203, 193, 199, 204, 201, 204, 202, 190, 201, 203, 202, 204, 192, 206, 192, 204, 203, 193, 204, 203, 202, 201, 201, 191, 199, 204, 201, 202, 198, 196, 199, 200, 210, 192, 202, 201, 199, 201, 199, 204, 191, 201, 211, 191, 207, 194, 206, 195, 205, 195, 205, 195, 196, 209, 193, 198, 206, 199, 198, 197, 210, 198, 199, 199, 196, 197, 209, 198, 199, 195, 206, 194, 204, 195, 203, 197, 206, 196, 204, 196, 205, 204, 191, 207, 192, 204, 204, 193, 205, 194, 203, 205, 192, 205, 195, 208, 200, 192, 200, 203, 202, 201, 202, 194, 202, 202, 204, 191, 202, 204, 202, 191, 201, 206, 203, 193, 205, 194, 202, 204, 191, 201, 200, 200, 202, 203, 199, 203, 200, 201, 201, 199, 200, 201, 199, 199, 200, 201, 200, 201, 199, 200, 201, 200, 202, 190, 205, 193, 205, 195, 205, 206, 193, 197, 209, 194, 207, 197, 196, 199, 208, 195, 195, 209, 197, 196, 208, 198, 198, 13], "killed_ms": 21103, "recovery": {"steady_per_100ms": 199.4, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 80007, "listener": {"listener_packets": 86587, "listener_received": 51329, "listener_deliveries": 37900, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "epochs-first", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 19.6, "steady_cpu_ms_per_s": 150.0, "senders_steady_cpu_ms_per_s": 170.0, "recovery_cpu_ms_first_10s": 1420.0, "senders_cpu_ms_first_10s": 1720.0, "generator": {"devices": 10000, "made": 80009, "stored": 80009, "sends": 85437, "again": 51, "stored_ms_p50": 0.936, "stored_ms_p99": 45.085, "stored_ms_max": 130.105, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [169, 166, 200, 129, 280, 242, 166, 158, 185, 174, 239, 210, 237, 112, 265, 210, 179, 259, 198, 206, 205, 190, 196, 205, 203, 196, 205, 201, 195, 204, 200, 198, 196, 208, 192, 201, 202, 198, 198, 197, 202, 200, 200, 207, 195, 199, 199, 202, 201, 159, 248, 200, 212, 199, 192, 208, 194, 205, 195, 195, 208, 196, 207, 194, 204, 193, 206, 195, 209, 198, 196, 198, 206, 199, 197, 195, 207, 196, 206, 199, 195, 196, 203, 209, 196, 196, 207, 196, 202, 199, 198, 197, 197, 211, 197, 197, 196, 211, 200, 199, 191, 204, 204, 192, 203, 202, 202, 196, 197, 202, 202, 203, 203, 191, 202, 204, 193, 206, 193, 208, 193, 205, 194, 200, 205, 205, 193, 206, 192, 207, 197, 193, 209, 197, 206, 194, 206, 195, 201, 202, 196, 195, 210, 196, 198, 208, 199, 197, 199, 203, 194, 205, 194, 207, 193, 205, 193, 205, 205, 196, 193, 206, 206, 198, 194, 204, 194, 205, 206, 197, 193, 208, 192, 209, 193, 205, 192, 205, 194, 207, 193, 205, 196, 200, 206, 196, 206, 196, 196, 210, 195, 197, 208, 199, 197, 197, 197, 210, 198, 199, 194, 207, 194, 206, 194, 205, 194, 204, 195, 208, 149, 236, 216, 198, 196, 207, 195, 195, 208, 198, 195, 198, 207, 199, 197, 208, 195, 195, 209, 199, 196, 197, 200, 198, 199, 210, 197, 198, 200, 201, 200, 200, 201, 203, 202, 200, 188, 203, 203, 204, 197, 196, 207, 198, 196, 197, 207, 197, 195, 210, 195, 202, 204, 196, 205, 192, 205, 193, 205, 195, 205, 194, 206, 197, 207, 193, 204, 193, 205, 198, 207, 193, 206, 196, 206, 196, 195, 206, 197, 199, 196, 207, 196, 202, 195, 210, 198, 193, 206, 198, 203, 191, 203, 203, 203, 202, 191, 202, 204, 203, 191, 201, 202, 203, 204, 189, 202, 202, 203, 202, 202, 192, 201, 204, 201, 191, 205, 201, 202, 193, 202, 202, 202, 203, 192, 200, 202, 201, 203, 193, 201, 202, 203, 194, 203, 205, 197, 196, 197, 200, 206, 204, 193, 206, 192, 204, 205, 193, 205, 195, 204, 204, 192, 208, 192, 204, 203, 192, 205, 195, 203, 200, 197, 204, 202, 201, 202, 201, 190, 203, 202, 202, 202, 191, 204, 203, 202, 191, 203, 206, 192, 203, 203, 195, 205, 203, 193, 204, 194, 208, 12], "killed_ms": 21103, "recovery": {"steady_per_100ms": 199.2, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 80009, "listener": {"listener_packets": 77781, "listener_received": 40553, "listener_deliveries": 37877, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "a70cf07", "round": 2, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 14.1, "steady_cpu_ms_per_s": 90.0, "senders_steady_cpu_ms_per_s": 110.0, "recovery_cpu_ms_first_10s": 1200.0, "senders_cpu_ms_first_10s": 1330.0, "generator": {"devices": 10000, "made": 80010, "stored": 80010, "sends": 80033, "again": 23, "stored_ms_p50": 0.664, "stored_ms_p99": 4.306, "stored_ms_max": 42.744, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [182, 209, 191, 208, 194, 194, 211, 193, 194, 212, 195, 195, 211, 195, 196, 196, 214, 196, 196, 198, 199, 199, 199, 198, 200, 203, 199, 202, 201, 201, 202, 201, 204, 202, 184, 203, 202, 203, 204, 203, 186, 206, 205, 188, 210, 194, 206, 206, 187, 206, 208, 205, 193, 204, 206, 194, 204, 193, 204, 204, 194, 204, 193, 204, 197, 206, 193, 204, 204, 193, 206, 193, 205, 194, 206, 194, 205, 205, 193, 204, 195, 206, 193, 209, 196, 196, 207, 193, 207, 196, 196, 208, 196, 197, 209, 191, 203, 202, 193, 203, 197, 208, 198, 195, 207, 194, 204, 204, 193, 204, 204, 193, 204, 192, 206, 205, 193, 204, 192, 205, 205, 193, 205, 193, 205, 195, 205, 204, 194, 205, 193, 205, 194, 205, 195, 208, 194, 206, 194, 206, 195, 200, 203, 196, 197, 210, 197, 196, 197, 209, 194, 205, 203, 195, 201, 198, 196, 204, 197, 207, 197, 196, 208, 195, 196, 209, 196, 195, 207, 198, 200, 199, 199, 205, 194, 207, 193, 204, 194, 204, 205, 194, 205, 194, 195, 210, 195, 206, 195, 207, 195, 195, 208, 194, 196, 211, 197, 198, 197, 208, 193, 205, 193, 203, 204, 194, 206, 203, 193, 204, 176, 220, 198, 208, 197, 200, 198, 197, 208, 198, 201, 191, 203, 203, 202, 194, 204, 203, 192, 204, 205, 192, 206, 193, 206, 195, 207, 194, 206, 194, 207, 196, 196, 197, 208, 198, 198, 197, 206, 201, 203, 190, 203, 201, 203, 203, 191, 202, 203, 201, 201, 196, 203, 204, 195, 196, 205, 204, 193, 204, 193, 202, 204, 201, 196, 206, 194, 204, 194, 204, 194, 210, 201, 196, 195, 208, 195, 205, 197, 197, 196, 207, 197, 196, 208, 198, 203, 197, 198, 197, 205, 204, 194, 204, 193, 206, 194, 203, 206, 193, 204, 204, 193, 196, 207, 198, 196, 207, 196, 197, 208, 197, 199, 197, 208, 199, 196, 197, 198, 209, 197, 198, 196, 210, 198, 200, 198, 199, 200, 200, 203, 200, 201, 191, 201, 202, 201, 203, 202, 198, 200, 197, 207, 196, 196, 197, 208, 196, 196, 207, 195, 208, 196, 198, 207, 198, 200, 202, 196, 196, 197, 208, 198, 197, 208, 199, 197, 197, 198, 198, 209, 198, 197, 200, 199, 200, 199, 199, 200, 198, 212, 199, 200, 190, 201, 202, 202, 201, 203, 201, 12], "killed_ms": 21102, "recovery": {"steady_per_100ms": 199.6, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 80010, "listener": {"listener_packets": 75800, "listener_received": 37900, "listener_deliveries": 37900, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "41e170e", "round": 2, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 19.9, "steady_cpu_ms_per_s": 90.0, "senders_steady_cpu_ms_per_s": 140.0, "recovery_cpu_ms_first_10s": 1340.0, "senders_cpu_ms_first_10s": 1520.0, "generator": {"devices": 10000, "made": 80005, "stored": 80005, "sends": 80044, "again": 39, "stored_ms_p50": 0.779, "stored_ms_p99": 4.452, "stored_ms_max": 39.354, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [180, 207, 190, 207, 209, 193, 194, 213, 193, 193, 212, 194, 194, 213, 196, 198, 197, 198, 199, 197, 201, 199, 199, 200, 199, 200, 201, 204, 204, 203, 203, 185, 204, 203, 204, 205, 186, 212, 187, 212, 202, 201, 188, 206, 189, 210, 207, 190, 209, 189, 213, 198, 208, 196, 198, 197, 209, 198, 197, 197, 208, 197, 197, 207, 196, 197, 197, 199, 209, 198, 198, 198, 197, 208, 199, 201, 201, 191, 202, 202, 202, 201, 201, 202, 190, 204, 202, 205, 191, 203, 204, 194, 205, 202, 194, 201, 199, 195, 206, 205, 201, 199, 200, 199, 199, 200, 200, 202, 200, 199, 200, 199, 199, 200, 200, 200, 199, 202, 200, 200, 200, 200, 200, 198, 200, 201, 200, 203, 190, 202, 200, 200, 200, 200, 202, 202, 202, 194, 202, 202, 203, 191, 203, 206, 192, 205, 194, 205, 197, 205, 201, 200, 200, 196, 200, 197, 208, 198, 197, 207, 195, 197, 208, 196, 196, 207, 196, 197, 197, 207, 196, 208, 196, 196, 197, 209, 196, 199, 196, 208, 196, 197, 208, 196, 196, 209, 197, 199, 199, 197, 198, 210, 190, 200, 210, 199, 199, 191, 202, 199, 209, 196, 197, 208, 196, 200, 200, 201, 201, 199, 153, 248, 194, 206, 195, 207, 194, 196, 206, 195, 207, 195, 207, 194, 194, 207, 195, 210, 198, 196, 196, 208, 196, 195, 208, 197, 195, 211, 199, 196, 198, 197, 198, 212, 198, 200, 200, 194, 198, 201, 202, 201, 201, 204, 191, 205, 203, 193, 204, 202, 202, 197, 197, 197, 209, 199, 198, 200, 199, 197, 209, 197, 198, 197, 199, 199, 210, 200, 199, 198, 197, 199, 199, 200, 197, 211, 199, 200, 200, 200, 199, 200, 199, 201, 200, 191, 201, 201, 202, 201, 198, 199, 201, 201, 200, 202, 201, 202, 201, 201, 188, 201, 200, 208, 201, 192, 201, 198, 209, 196, 197, 198, 209, 197, 196, 198, 209, 199, 198, 189, 203, 212, 200, 200, 198, 198, 198, 200, 198, 198, 209, 199, 200, 200, 191, 203, 194, 211, 192, 211, 200, 197, 195, 207, 195, 199, 197, 209, 197, 196, 207, 196, 196, 199, 208, 199, 201, 192, 201, 201, 201, 200, 201, 201, 201, 202, 200, 191, 203, 200, 201, 201, 201, 202, 200, 203, 191, 205, 204, 191, 204, 204, 192, 204, 205, 194, 206, 195, 195, 205, 12], "killed_ms": 21102, "recovery": {"steady_per_100ms": 199.1, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 80005, "listener": {"listener_packets": 75760, "listener_received": 37880, "listener_deliveries": 37880, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "cc6dad4", "round": 2, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 13.6, "steady_cpu_ms_per_s": 120.0, "senders_steady_cpu_ms_per_s": 150.0, "recovery_cpu_ms_first_10s": 1360.0, "senders_cpu_ms_first_10s": 1550.0, "generator": {"devices": 10000, "made": 80004, "stored": 80004, "sends": 80028, "again": 24, "stored_ms_p50": 0.789, "stored_ms_p99": 4.62, "stored_ms_max": 44.022, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [185, 192, 210, 193, 211, 195, 195, 197, 213, 199, 197, 197, 196, 198, 199, 198, 200, 203, 201, 202, 202, 199, 201, 202, 201, 202, 202, 189, 207, 189, 205, 205, 205, 187, 205, 206, 186, 206, 207, 190, 209, 188, 208, 208, 189, 194, 202, 198, 212, 192, 217, 197, 198, 209, 197, 198, 197, 198, 210, 200, 198, 197, 198, 198, 209, 198, 200, 199, 198, 198, 200, 200, 203, 199, 202, 201, 201, 192, 202, 204, 203, 191, 203, 202, 203, 191, 203, 204, 195, 207, 194, 207, 193, 205, 195, 206, 194, 207, 194, 196, 202, 200, 200, 200, 201, 199, 201, 200, 201, 203, 201, 201, 200, 201, 188, 202, 201, 201, 201, 203, 202, 200, 202, 200, 190, 200, 203, 202, 202, 203, 189, 202, 202, 202, 201, 203, 202, 191, 203, 205, 196, 203, 193, 206, 193, 203, 193, 209, 202, 202, 200, 197, 197, 197, 208, 196, 197, 208, 197, 199, 198, 197, 208, 198, 197, 197, 209, 199, 197, 199, 199, 196, 208, 198, 197, 197, 208, 197, 197, 199, 210, 196, 197, 197, 198, 209, 198, 198, 204, 201, 199, 198, 202, 200, 200, 189, 204, 201, 201, 202, 187, 211, 198, 209, 197, 203, 191, 205, 201, 199, 177, 217, 203, 207, 193, 197, 203, 203, 202, 192, 205, 203, 202, 190, 202, 202, 201, 202, 194, 205, 203, 201, 191, 201, 202, 201, 203, 202, 192, 205, 202, 194, 204, 203, 192, 205, 194, 198, 202, 202, 196, 206, 194, 207, 194, 207, 195, 206, 195, 197, 205, 200, 201, 201, 199, 201, 202, 191, 201, 201, 202, 201, 200, 201, 200, 200, 201, 200, 203, 191, 202, 202, 202, 201, 191, 204, 202, 203, 193, 207, 195, 205, 191, 205, 205, 195, 206, 194, 199, 204, 203, 191, 206, 199, 198, 197, 201, 202, 197, 202, 203, 198, 197, 207, 196, 197, 209, 198, 197, 200, 198, 197, 210, 197, 197, 204, 196, 201, 198, 198, 210, 197, 197, 203, 197, 197, 198, 209, 197, 203, 201, 198, 199, 199, 198, 201, 199, 200, 201, 201, 198, 198, 208, 197, 200, 199, 200, 200, 200, 202, 200, 200, 200, 200, 201, 197, 195, 207, 200, 202, 199, 198, 197, 196, 207, 198, 196, 208, 197, 199, 198, 196, 210, 196, 197, 208, 197, 198, 199, 202, 199, 201, 198, 199, 200, 199, 199, 200, 200, 203, 12], "killed_ms": 21102, "recovery": {"steady_per_100ms": 199.6, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 80004, "listener": {"listener_packets": 75740, "listener_received": 37870, "listener_deliveries": 37870, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "34df292", "round": 2, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 13.5, "steady_cpu_ms_per_s": 120.0, "senders_steady_cpu_ms_per_s": 140.0, "recovery_cpu_ms_first_10s": 1140.0, "senders_cpu_ms_first_10s": 1430.0, "generator": {"devices": 10000, "made": 80010, "stored": 80010, "sends": 90034, "again": 24, "stored_ms_p50": 0.763, "stored_ms_p99": 4.829, "stored_ms_max": 44.031, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [176, 206, 205, 204, 187, 204, 205, 196, 196, 207, 194, 206, 190, 209, 191, 202, 198, 212, 191, 211, 197, 195, 199, 194, 199, 214, 198, 195, 198, 196, 202, 200, 197, 216, 183, 210, 208, 187, 201, 210, 190, 211, 186, 204, 202, 197, 202, 206, 192, 197, 221, 199, 198, 196, 207, 196, 197, 208, 195, 197, 198, 210, 196, 196, 207, 196, 197, 198, 209, 198, 200, 198, 195, 200, 208, 197, 198, 198, 208, 197, 200, 199, 198, 197, 210, 198, 198, 199, 200, 199, 204, 193, 201, 207, 196, 203, 202, 191, 202, 205, 199, 197, 196, 207, 197, 207, 196, 197, 207, 198, 199, 197, 198, 208, 197, 196, 197, 209, 196, 197, 198, 210, 197, 196, 197, 202, 197, 210, 196, 196, 200, 198, 211, 198, 188, 211, 200, 201, 197, 199, 201, 199, 200, 204, 192, 205, 204, 192, 206, 194, 202, 201, 199, 200, 202, 201, 199, 200, 199, 200, 202, 200, 200, 200, 199, 201, 200, 200, 199, 200, 201, 201, 201, 199, 201, 200, 200, 200, 200, 201, 189, 203, 202, 201, 202, 202, 201, 191, 205, 193, 204, 203, 196, 204, 203, 193, 203, 204, 192, 207, 195, 204, 193, 209, 198, 196, 196, 210, 196, 196, 178, 226, 194, 202, 202, 201, 201, 203, 201, 201, 192, 203, 205, 200, 193, 199, 201, 201, 200, 201, 200, 203, 202, 190, 201, 202, 201, 203, 204, 190, 203, 205, 193, 204, 204, 191, 205, 204, 192, 204, 203, 193, 206, 194, 207, 194, 195, 206, 196, 205, 199, 199, 199, 208, 197, 196, 207, 197, 199, 197, 207, 198, 197, 196, 208, 196, 198, 198, 209, 198, 193, 210, 198, 196, 197, 207, 196, 198, 198, 210, 198, 200, 198, 198, 197, 200, 200, 200, 200, 202, 197, 210, 198, 196, 196, 209, 196, 196, 199, 201, 200, 202, 199, 199, 200, 199, 199, 200, 200, 200, 200, 202, 200, 200, 205, 198, 201, 200, 199, 200, 202, 194, 201, 201, 200, 202, 202, 203, 191, 203, 202, 193, 205, 203, 192, 204, 203, 204, 193, 197, 210, 193, 204, 199, 200, 200, 199, 199, 199, 200, 199, 204, 199, 198, 199, 200, 200, 200, 201, 200, 199, 202, 203, 200, 199, 202, 200, 200, 196, 195, 204, 204, 198, 196, 207, 196, 207, 188, 207, 205, 196, 200, 199, 198, 197, 201, 199, 209, 200, 200, 12], "killed_ms": 21102, "recovery": {"steady_per_100ms": 199.4, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 80010, "listener": {"listener_packets": 75812, "listener_received": 37906, "listener_deliveries": 37906, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "4f6a1a4", "round": 2, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 20.7, "steady_cpu_ms_per_s": 130.0, "senders_steady_cpu_ms_per_s": 170.0, "recovery_cpu_ms_first_10s": 1670.0, "senders_cpu_ms_first_10s": 1820.0, "generator": {"devices": 10000, "made": 80010, "stored": 80010, "sends": 90047, "again": 37, "stored_ms_p50": 0.977, "stored_ms_p99": 4.748, "stored_ms_max": 40.937, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [176, 205, 206, 187, 209, 191, 207, 209, 191, 209, 192, 195, 212, 203, 188, 207, 188, 215, 194, 195, 196, 216, 198, 198, 201, 202, 201, 182, 199, 203, 202, 213, 200, 190, 206, 195, 197, 207, 192, 205, 194, 213, 194, 196, 210, 196, 194, 198, 210, 188, 212, 204, 206, 196, 196, 208, 194, 207, 194, 205, 195, 206, 195, 193, 208, 194, 206, 194, 206, 193, 206, 194, 206, 195, 208, 195, 205, 194, 206, 193, 207, 196, 196, 208, 199, 196, 197, 208, 197, 196, 201, 206, 199, 197, 199, 199, 197, 209, 199, 198, 205, 194, 195, 205, 196, 206, 193, 207, 193, 206, 195, 205, 195, 207, 196, 206, 193, 205, 193, 206, 193, 205, 205, 195, 195, 206, 195, 206, 193, 206, 194, 206, 194, 206, 199, 198, 206, 195, 207, 195, 195, 209, 197, 196, 198, 202, 197, 209, 198, 185, 214, 194, 206, 203, 193, 204, 203, 191, 204, 202, 205, 191, 204, 203, 193, 203, 203, 204, 192, 202, 203, 203, 194, 205, 197, 192, 205, 202, 203, 191, 203, 205, 202, 193, 205, 193, 203, 204, 194, 203, 206, 192, 206, 193, 206, 194, 206, 194, 207, 192, 205, 203, 193, 205, 196, 207, 193, 207, 192, 206, 159, 243, 195, 203, 203, 189, 201, 204, 200, 202, 200, 200, 202, 190, 202, 202, 202, 200, 200, 202, 201, 202, 190, 201, 205, 200, 195, 203, 203, 203, 190, 204, 205, 192, 199, 209, 193, 206, 192, 206, 202, 190, 202, 200, 204, 204, 202, 189, 200, 201, 201, 207, 195, 207, 196, 195, 209, 191, 204, 197, 198, 204, 205, 195, 195, 205, 204, 193, 205, 193, 206, 204, 194, 196, 207, 194, 207, 193, 206, 194, 206, 195, 208, 196, 201, 196, 201, 201, 206, 197, 193, 203, 204, 204, 193, 206, 193, 204, 192, 206, 203, 196, 199, 204, 195, 204, 204, 191, 205, 194, 206, 194, 208, 194, 209, 194, 195, 206, 195, 206, 194, 208, 195, 195, 211, 198, 192, 205, 196, 208, 196, 197, 200, 198, 210, 199, 198, 197, 200, 200, 195, 206, 197, 207, 195, 196, 208, 196, 200, 204, 191, 205, 205, 192, 206, 194, 206, 203, 193, 203, 203, 192, 205, 204, 195, 194, 202, 200, 203, 203, 195, 201, 204, 192, 206, 205, 193, 205, 194, 205, 193, 205, 196, 207, 195, 204, 198, 195, 194, 216, 12], "killed_ms": 21103, "recovery": {"steady_per_100ms": 199.1, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 80010, "listener": {"listener_packets": 75736, "listener_received": 37868, "listener_deliveries": 37868, "listener_woken": 10000, "listener_remembered": 10001, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "a618df5", "round": 2, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 14.2, "steady_cpu_ms_per_s": 180.0, "senders_steady_cpu_ms_per_s": 190.0, "recovery_cpu_ms_first_10s": 1610.0, "senders_cpu_ms_first_10s": 1760.0, "generator": {"devices": 10000, "made": 80003, "stored": 80003, "sends": 90040, "again": 37, "stored_ms_p50": 0.97, "stored_ms_p99": 4.898, "stored_ms_max": 45.584, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [176, 206, 207, 187, 209, 189, 216, 191, 210, 193, 193, 212, 193, 194, 207, 202, 210, 189, 195, 198, 196, 216, 201, 184, 216, 183, 214, 196, 202, 189, 211, 195, 199, 212, 195, 203, 195, 197, 210, 188, 195, 202, 216, 196, 194, 195, 196, 213, 195, 206, 203, 204, 204, 192, 205, 192, 208, 192, 206, 205, 192, 205, 192, 205, 205, 194, 198, 205, 193, 206, 204, 192, 205, 204, 195, 204, 195, 206, 192, 196, 208, 204, 195, 197, 197, 199, 212, 197, 194, 205, 195, 206, 195, 206, 197, 194, 209, 196, 195, 208, 192, 204, 205, 194, 204, 204, 194, 205, 192, 205, 204, 191, 203, 204, 193, 205, 193, 202, 207, 192, 204, 204, 193, 203, 205, 191, 206, 204, 193, 206, 195, 205, 193, 203, 194, 209, 196, 195, 206, 200, 199, 204, 193, 206, 195, 206, 197, 194, 206, 195, 206, 203, 192, 204, 205, 193, 207, 192, 204, 204, 192, 204, 205, 192, 204, 192, 206, 196, 204, 205, 194, 204, 193, 203, 205, 192, 205, 204, 195, 194, 206, 205, 193, 204, 193, 205, 201, 199, 198, 202, 202, 196, 199, 208, 198, 200, 199, 198, 199, 200, 195, 206, 199, 197, 198, 205, 195, 205, 204, 203, 159, 235, 197, 202, 200, 197, 201, 200, 198, 210, 197, 197, 197, 198, 209, 196, 199, 197, 208, 197, 199, 196, 209, 198, 200, 196, 201, 201, 198, 201, 201, 199, 200, 199, 200, 200, 203, 201, 191, 203, 198, 209, 197, 199, 202, 201, 202, 201, 188, 201, 200, 210, 197, 194, 206, 195, 208, 195, 195, 208, 194, 208, 194, 207, 194, 195, 209, 196, 196, 208, 199, 198, 196, 201, 197, 211, 198, 199, 198, 194, 209, 197, 197, 199, 199, 200, 200, 201, 203, 190, 211, 196, 207, 191, 205, 204, 194, 208, 193, 204, 193, 204, 203, 204, 191, 204, 193, 205, 204, 191, 204, 203, 204, 191, 205, 203, 193, 207, 192, 208, 200, 190, 211, 194, 206, 193, 207, 194, 206, 194, 197, 205, 194, 205, 195, 207, 196, 195, 208, 194, 206, 197, 207, 194, 195, 207, 195, 208, 195, 196, 204, 195, 202, 200, 198, 206, 205, 194, 205, 192, 205, 204, 192, 204, 204, 194, 203, 194, 205, 193, 206, 205, 193, 205, 194, 205, 195, 208, 193, 206, 195, 205, 193, 207, 194, 206, 195, 195, 208, 195, 13], "killed_ms": 21103, "recovery": {"steady_per_100ms": 199.4, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 80003, "listener": {"listener_packets": 75794, "listener_received": 37897, "listener_deliveries": 37897, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "6152bd8", "round": 2, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 19.9, "steady_cpu_ms_per_s": 120.0, "senders_steady_cpu_ms_per_s": 140.0, "recovery_cpu_ms_first_10s": 1490.0, "senders_cpu_ms_first_10s": 1680.0, "generator": {"devices": 10000, "made": 80008, "stored": 80008, "sends": 117900, "again": 48, "stored_ms_p50": 0.776, "stored_ms_p99": 4.67, "stored_ms_max": 45.569, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [177, 207, 197, 193, 211, 191, 212, 194, 194, 214, 200, 200, 191, 199, 205, 206, 186, 197, 217, 197, 200, 197, 204, 202, 197, 198, 202, 188, 202, 207, 194, 209, 199, 187, 214, 204, 195, 198, 201, 192, 204, 204, 194, 211, 192, 193, 212, 196, 192, 213, 200, 209, 192, 199, 199, 209, 199, 197, 198, 198, 204, 199, 203, 198, 196, 209, 196, 198, 197, 209, 200, 197, 199, 198, 198, 208, 197, 199, 197, 198, 200, 208, 201, 197, 197, 197, 209, 190, 202, 205, 193, 203, 207, 197, 195, 207, 192, 202, 199, 202, 198, 197, 210, 197, 196, 208, 196, 196, 208, 196, 199, 197, 200, 209, 196, 196, 208, 197, 198, 196, 200, 200, 207, 195, 198, 207, 196, 198, 202, 197, 198, 208, 199, 197, 198, 208, 198, 200, 198, 200, 199, 199, 201, 200, 199, 203, 192, 205, 206, 193, 201, 199, 201, 201, 199, 199, 200, 200, 201, 199, 202, 200, 200, 200, 199, 200, 199, 201, 199, 199, 202, 199, 202, 202, 198, 201, 199, 202, 200, 193, 203, 201, 202, 203, 190, 202, 202, 204, 193, 202, 206, 191, 205, 203, 203, 192, 204, 195, 204, 205, 189, 212, 189, 203, 201, 200, 199, 200, 200, 199, 155, 244, 205, 202, 201, 198, 195, 202, 203, 201, 191, 201, 203, 206, 190, 202, 201, 202, 203, 201, 191, 203, 205, 192, 203, 203, 204, 192, 205, 193, 206, 196, 203, 205, 193, 205, 194, 208, 196, 193, 205, 205, 193, 206, 189, 211, 192, 210, 198, 196, 208, 196, 198, 198, 208, 196, 196, 198, 208, 197, 200, 197, 198, 200, 208, 197, 197, 198, 200, 199, 200, 210, 198, 203, 198, 196, 198, 199, 199, 203, 201, 200, 202, 201, 200, 199, 200, 204, 197, 193, 199, 210, 198, 200, 198, 200, 200, 200, 196, 203, 196, 209, 196, 198, 196, 208, 197, 198, 207, 197, 197, 197, 210, 198, 198, 196, 197, 208, 197, 198, 198, 209, 199, 198, 197, 197, 209, 198, 198, 199, 200, 199, 200, 199, 200, 200, 200, 200, 200, 200, 199, 208, 198, 199, 197, 196, 208, 198, 196, 198, 204, 199, 201, 199, 200, 198, 205, 199, 200, 199, 201, 199, 200, 203, 199, 199, 199, 201, 200, 199, 203, 200, 201, 191, 201, 200, 201, 202, 202, 204, 194, 202, 205, 193, 204, 203, 193, 206, 193, 206, 12], "killed_ms": 21103, "recovery": {"steady_per_100ms": 199.0, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 80008, "listener": {"listener_packets": 86649, "listener_received": 49636, "listener_deliveries": 37875, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "epochs-first", "round": 2, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 20.5, "steady_cpu_ms_per_s": 130.0, "senders_steady_cpu_ms_per_s": 170.0, "recovery_cpu_ms_first_10s": 1670.0, "senders_cpu_ms_first_10s": 1810.0, "generator": {"devices": 10000, "made": 79999, "stored": 79999, "sends": 85867, "again": 49, "stored_ms_p50": 0.954, "stored_ms_p99": 34.174, "stored_ms_max": 103.303, "longest_gap_ms": 0, "gap_from_ms": 0}, "timeline_100ms": [181, 131, 197, 272, 196, 210, 95, 238, 256, 128, 222, 236, 155, 255, 214, 201, 187, 205, 200, 202, 198, 201, 199, 205, 199, 194, 204, 200, 196, 203, 203, 198, 201, 200, 195, 204, 194, 206, 197, 202, 204, 196, 196, 198, 201, 208, 187, 213, 188, 203, 218, 205, 192, 205, 196, 197, 208, 192, 205, 194, 205, 205, 191, 207, 195, 208, 197, 195, 209, 188, 211, 198, 198, 200, 197, 197, 202, 208, 201, 198, 199, 198, 200, 200, 197, 200, 201, 199, 207, 190, 201, 200, 200, 202, 201, 203, 202, 191, 205, 203, 194, 204, 205, 193, 204, 192, 207, 204, 193, 205, 193, 206, 193, 207, 192, 205, 205, 192, 206, 194, 203, 204, 192, 206, 204, 192, 208, 191, 205, 201, 196, 205, 193, 208, 192, 206, 196, 207, 196, 192, 211, 195, 202, 197, 205, 192, 206, 194, 210, 192, 202, 203, 201, 202, 190, 204, 205, 201, 192, 200, 201, 201, 201, 203, 202, 189, 204, 202, 203, 192, 202, 202, 201, 202, 201, 201, 192, 203, 203, 202, 190, 201, 201, 204, 197, 201, 206, 190, 204, 205, 192, 208, 195, 199, 207, 197, 198, 196, 199, 209, 194, 203, 205, 192, 204, 193, 205, 204, 194, 204, 145, 253, 199, 200, 200, 199, 202, 199, 203, 203, 190, 201, 202, 203, 201, 202, 193, 203, 206, 191, 205, 192, 208, 193, 207, 194, 209, 194, 198, 207, 195, 195, 208, 194, 209, 196, 198, 196, 206, 201, 201, 199, 199, 200, 199, 201, 203, 199, 202, 200, 198, 193, 205, 205, 193, 206, 196, 194, 207, 194, 206, 194, 206, 193, 205, 206, 199, 193, 209, 194, 196, 206, 195, 207, 196, 197, 200, 197, 210, 189, 203, 204, 204, 193, 206, 193, 208, 193, 208, 192, 197, 203, 205, 192, 203, 203, 194, 203, 205, 203, 191, 202, 202, 203, 203, 190, 204, 204, 192, 204, 202, 204, 190, 202, 203, 202, 194, 203, 203, 193, 200, 203, 203, 203, 190, 203, 205, 191, 206, 203, 194, 208, 195, 197, 197, 211, 200, 196, 198, 197, 205, 193, 205, 204, 193, 205, 196, 204, 193, 205, 204, 193, 205, 204, 192, 206, 195, 206, 195, 205, 192, 206, 193, 204, 205, 193, 200, 199, 206, 195, 205, 194, 207, 194, 206, 195, 196, 210, 197, 196, 197, 209, 196, 196, 210, 196, 198, 198, 198, 199, 12], "killed_ms": 21103, "recovery": {"steady_per_100ms": 199.0, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 79999, "listener": {"listener_packets": 77823, "listener_received": 41626, "listener_deliveries": 37873, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 40, "kill_at": 20, "memo": true}
+{"commit": "a70cf07", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 18.1, "steady_cpu_ms_per_s": 80.0, "senders_steady_cpu_ms_per_s": 110.0, "recovery_cpu_ms_first_10s": 1150.0, "senders_cpu_ms_first_10s": 1330.0, "generator": {"devices": 10000, "made": 160005, "stored": 160005, "sends": 160040, "again": 35, "stored_ms_p50": 0.648, "stored_ms_p99": 4.26, "stored_ms_max": 36.72, "longest_gap_ms": 0, "gap_from_ms": 0, "p50_ms_by_second_made": [3.62, 3.84, 3.93, 4.05, 4.29, 0.59, 0.6, 0.62, 0.61, 0.67, 0.58, 0.58, 0.64, 0.72, 0.78, 0.65, 0.65, 0.66, 0.72, 0.74, 0.62, 0.62, 0.59, 0.74, 0.75, 0.66, 0.66, 0.57, 0.61, 0.66, 0.57, 0.6, 0.66, 0.66, 0.66, 0.57, 0.57, 0.58, 0.7, 0.76, 0.59, 0.6, 0.63, 0.61, 0.75, 0.65, 0.64, 0.66, 0.71, 0.78, 0.64, 0.66, 0.57, 0.61, 0.66, 0.59, 0.65, 0.9, 0.59, 0.66, 0.57, 0.59, 0.8, 0.91, 0.98, 0.65, 0.58, 0.58, 0.61, 0.65, 0.66, 0.63, 0.57, 0.59, 0.64, 0.56, 0.62, 0.63, 0.69, 0.75, 0.72], "p99_ms_by_second_made": [4.01, 4.5, 4.3, 4.52, 4.59, 0.86, 0.83, 1.67, 0.91, 1.18, 0.86, 0.87, 1.09, 0.99, 1.36, 0.83, 1.14, 1.06, 1.05, 1.86, 1.32, 1.19, 0.94, 2.27, 1.07, 1.06, 1.61, 0.89, 0.94, 1.01, 0.97, 0.96, 1.0, 1.47, 1.01, 0.86, 0.93, 0.9, 1.05, 2.59, 0.81, 1.01, 3.68, 0.91, 1.3, 0.88, 1.01, 0.98, 1.1, 1.17, 0.93, 1.38, 0.85, 1.04, 0.94, 1.6, 2.3, 2.56, 1.03, 0.89, 0.84, 36.48, 1.14, 1.27, 4.74, 3.23, 0.81, 0.89, 1.4, 1.05, 0.87, 1.67, 1.11, 1.06, 1.01, 0.92, 1.07, 1.08, 1.01, 1.15, 0.86]}, "timeline_100ms": [182, 209, 190, 208, 192, 211, 191, 194, 212, 193, 206, 198, 196, 194, 214, 197, 197, 199, 198, 198, 198, 198, 200, 217, 199, 185, 202, 196, 202, 200, 201, 200, 202, 201, 201, 203, 205, 184, 205, 207, 205, 186, 205, 209, 186, 209, 206, 188, 208, 188, 224, 194, 205, 194, 204, 194, 204, 195, 206, 194, 206, 193, 205, 206, 193, 205, 195, 206, 194, 205, 193, 205, 194, 208, 192, 206, 194, 207, 194, 206, 193, 206, 195, 205, 194, 208, 196, 195, 209, 195, 207, 197, 195, 197, 208, 196, 197, 203, 197, 203, 201, 205, 192, 204, 204, 193, 205, 195, 205, 194, 203, 205, 193, 205, 193, 205, 204, 196, 205, 193, 204, 193, 205, 204, 195, 200, 197, 199, 210, 200, 198, 198, 197, 198, 199, 199, 211, 189, 201, 201, 199, 199, 201, 201, 201, 203, 202, 193, 201, 203, 197, 208, 197, 196, 207, 196, 196, 198, 207, 196, 208, 196, 196, 207, 195, 197, 207, 190, 210, 198, 196, 208, 198, 199, 196, 197, 208, 199, 196, 198, 208, 199, 199, 198, 198, 201, 199, 202, 200, 199, 200, 200, 202, 195, 209, 197, 197, 201, 199, 194, 208, 193, 206, 199, 195, 208, 194, 206, 195, 205, 194, 204, 205, 195, 195, 206, 196, 197, 207, 195, 207, 194, 207, 194, 203, 193, 204, 199, 205, 194, 205, 204, 193, 206, 201, 197, 199, 194, 207, 195, 206, 196, 197, 199, 199, 201, 202, 205, 202, 190, 209, 197, 196, 208, 198, 197, 196, 199, 208, 196, 196, 205, 195, 209, 196, 203, 202, 190, 206, 205, 192, 204, 193, 205, 205, 193, 205, 196, 205, 193, 206, 195, 207, 195, 206, 194, 205, 197, 196, 207, 194, 196, 207, 197, 197, 207, 197, 199, 197, 209, 194, 206, 193, 204, 193, 205, 204, 195, 204, 197, 205, 193, 207, 193, 203, 204, 193, 199, 207, 198, 196, 208, 198, 197, 196, 209, 196, 201, 198, 198, 197, 202, 203, 204, 194, 205, 193, 199, 206, 196, 206, 197, 196, 208, 195, 196, 207, 199, 197, 200, 204, 194, 206, 193, 204, 204, 193, 206, 194, 204, 205, 192, 205, 192, 204, 205, 193, 207, 196, 204, 194, 205, 192, 206, 204, 194, 204, 195, 206, 194, 204, 194, 204, 200, 199, 199, 199, 203, 201, 200, 199, 202, 194, 209, 194, 200, 197, 199, 210, 196, 194, 206, 203, 194, 206, 194, 205, 194, 206, 193, 204, 203, 199, 196, 207, 194, 204, 197, 203, 200, 194, 205, 194, 206, 193, 204, 201, 197, 207, 193, 206, 194, 205, 196, 206, 195, 205, 196, 195, 207, 196, 207, 195, 196, 201, 204, 201, 193, 203, 202, 197, 207, 196, 197, 207, 197, 195, 210, 196, 196, 208, 196, 196, 207, 196, 195, 208, 201, 197, 196, 208, 197, 197, 197, 208, 196, 198, 201, 199, 197, 208, 199, 200, 199, 197, 200, 198, 201, 201, 200, 200, 199, 202, 200, 200, 201, 201, 196, 198, 205, 197, 207, 198, 196, 196, 207, 196, 198, 209, 196, 195, 208, 197, 196, 208, 196, 196, 198, 207, 198, 203, 192, 205, 205, 192, 204, 204, 195, 206, 194, 198, 205, 194, 207, 193, 207, 195, 197, 209, 196, 195, 205, 198, 196, 207, 196, 208, 197, 198, 198, 205, 193, 202, 200, 201, 205, 192, 206, 193, 204, 204, 193, 205, 193, 204, 200, 205, 201, 198, 194, 209, 192, 204, 199, 205, 191, 202, 203, 197, 196, 204, 204, 202, 197, 194, 205, 195, 207, 198, 195, 206, 194, 206, 198, 198, 207, 198, 196, 197, 209, 193, 204, 204, 193, 206, 192, 205, 204, 193, 205, 192, 204, 200, 198, 197, 209, 199, 199, 197, 198, 208, 190, 202, 201, 203, 202, 191, 203, 203, 204, 192, 204, 204, 194, 204, 192, 208, 193, 207, 195, 204, 194, 207, 195, 207, 195, 196, 208, 197, 186, 215, 200, 204, 200, 199, 198, 201, 199, 198, 200, 197, 208, 193, 205, 193, 205, 204, 193, 205, 195, 205, 192, 205, 205, 193, 206, 195, 204, 194, 205, 194, 206, 193, 205, 206, 194, 197, 206, 197, 195, 208, 194, 207, 197, 198, 207, 197, 197, 197, 208, 193, 208, 198, 196, 197, 209, 196, 197, 196, 209, 196, 196, 208, 199, 199, 193, 207, 204, 192, 198, 204, 204, 193, 204, 204, 193, 198, 204, 206, 194, 204, 193, 205, 194, 205, 204, 198, 196, 207, 198, 194, 206, 195, 207, 194, 195, 208, 197, 197, 200, 204, 204, 192, 204, 204, 192, 206, 193, 204, 206, 192, 204, 204, 194, 195, 207, 196, 197, 210, 199, 195, 206, 196, 195, 208, 196, 197, 209, 197, 201, 196, 198, 196, 209, 198, 198, 198, 199, 200, 201, 198, 198, 201, 211, 200, 200, 201, 189, 202, 203, 12], "killed_ms": 61202, "recovery": {"steady_per_100ms": 200.1, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160005, "listener": {"listener_packets": 75224, "listener_received": 37612, "listener_deliveries": 37612, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "6152bd8", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 27.5, "steady_cpu_ms_per_s": 130.0, "senders_steady_cpu_ms_per_s": 150.0, "recovery_cpu_ms_first_10s": 1390.0, "senders_cpu_ms_first_10s": 1580.0, "generator": {"devices": 10000, "made": 160009, "stored": 160009, "sends": 195860, "again": 61, "stored_ms_p50": 0.768, "stored_ms_p99": 4.628, "stored_ms_max": 40.141, "longest_gap_ms": 0, "gap_from_ms": 0, "p50_ms_by_second_made": [4.0, 4.28, 4.34, 4.44, 4.4, 0.71, 0.72, 0.77, 0.84, 0.9, 0.77, 0.69, 0.69, 0.71, 0.77, 0.72, 0.76, 0.76, 0.81, 0.89, 0.77, 0.71, 0.69, 0.71, 0.77, 0.72, 0.77, 0.77, 0.82, 0.82, 0.7, 0.69, 0.7, 0.7, 0.87, 0.75, 0.78, 0.69, 0.7, 0.77, 0.7, 0.73, 0.77, 0.82, 0.88, 0.76, 0.77, 0.76, 0.82, 0.89, 0.76, 0.76, 0.77, 0.71, 0.77, 0.7, 0.7, 0.73, 0.82, 0.9, 0.77, 0.82, 0.75, 0.87, 0.97, 0.75, 0.76, 0.77, 0.84, 0.77, 0.72, 0.68, 0.68, 0.73, 0.87, 0.74, 0.74, 0.74, 0.8, 0.87, 0.95], "p99_ms_by_second_made": [4.8, 5.29, 4.94, 4.94, 6.71, 1.13, 1.38, 2.15, 1.35, 1.38, 1.32, 1.15, 1.12, 1.02, 1.22, 1.13, 1.25, 1.23, 2.01, 1.35, 1.97, 1.04, 1.11, 1.18, 1.18, 1.04, 1.18, 1.19, 1.24, 2.36, 1.13, 1.06, 1.12, 1.14, 1.29, 1.15, 1.48, 1.06, 1.1, 1.11, 1.08, 1.14, 1.21, 1.28, 1.2, 1.07, 1.2, 1.13, 1.21, 1.29, 1.18, 1.16, 2.5, 1.16, 1.11, 0.97, 1.39, 1.15, 1.15, 1.55, 1.2, 36.22, 1.25, 1.36, 1.41, 1.12, 1.22, 1.17, 1.6, 1.15, 2.01, 1.13, 1.02, 1.16, 1.37, 1.02, 1.13, 1.28, 1.21, 1.28, 1.09]}, "timeline_100ms": [176, 210, 194, 205, 189, 208, 209, 190, 209, 195, 204, 187, 207, 208, 193, 192, 214, 194, 193, 199, 209, 193, 210, 199, 195, 202, 196, 200, 196, 202, 199, 209, 202, 198, 203, 187, 199, 207, 205, 197, 202, 199, 198, 207, 183, 213, 188, 211, 193, 212, 199, 200, 210, 198, 197, 197, 197, 210, 197, 198, 199, 204, 203, 199, 197, 197, 199, 197, 210, 199, 197, 203, 199, 201, 201, 189, 202, 202, 201, 198, 202, 193, 205, 202, 202, 202, 195, 205, 192, 205, 205, 196, 193, 204, 205, 194, 206, 192, 206, 197, 201, 201, 200, 200, 200, 199, 202, 198, 200, 198, 198, 210, 199, 196, 197, 208, 197, 197, 207, 199, 197, 200, 197, 198, 208, 197, 197, 197, 210, 199, 200, 199, 199, 197, 197, 209, 198, 198, 198, 201, 199, 199, 202, 200, 200, 200, 200, 202, 200, 201, 198, 199, 197, 198, 208, 197, 196, 200, 200, 201, 201, 201, 202, 201, 200, 200, 200, 200, 200, 201, 200, 189, 202, 201, 201, 199, 200, 200, 201, 203, 201, 196, 197, 202, 201, 202, 201, 203, 202, 194, 204, 194, 206, 193, 204, 203, 196, 206, 194, 200, 196, 201, 201, 201, 196, 202, 201, 201, 198, 209, 197, 200, 199, 197, 198, 199, 210, 198, 198, 197, 208, 198, 197, 198, 197, 209, 196, 197, 208, 200, 197, 199, 199, 198, 198, 208, 198, 199, 198, 202, 203, 193, 200, 200, 199, 200, 200, 200, 200, 202, 197, 197, 211, 197, 197, 207, 198, 200, 200, 202, 200, 189, 202, 200, 199, 200, 201, 200, 201, 201, 200, 201, 202, 199, 201, 201, 200, 201, 202, 189, 203, 203, 203, 202, 190, 202, 203, 203, 192, 207, 203, 189, 210, 200, 199, 201, 200, 200, 201, 190, 208, 198, 198, 200, 198, 208, 197, 197, 197, 199, 210, 198, 198, 198, 196, 208, 197, 196, 209, 199, 197, 199, 198, 198, 208, 196, 197, 209, 198, 200, 197, 198, 198, 198, 209, 197, 200, 198, 199, 202, 199, 200, 203, 195, 204, 204, 193, 205, 194, 206, 200, 199, 201, 201, 199, 200, 199, 200, 200, 201, 200, 201, 192, 200, 208, 188, 212, 197, 198, 199, 197, 210, 196, 200, 197, 197, 208, 196, 198, 199, 208, 198, 199, 198, 197, 209, 198, 200, 198, 199, 200, 199, 201, 201, 199, 201, 201, 200, 201, 202, 197, 200, 200, 198, 197, 208, 197, 197, 200, 197, 209, 198, 198, 199, 197, 198, 200, 201, 200, 201, 201, 201, 202, 204, 200, 200, 200, 190, 201, 203, 202, 191, 208, 203, 202, 190, 202, 203, 205, 192, 204, 204, 193, 206, 192, 205, 204, 193, 205, 195, 200, 200, 202, 201, 200, 199, 200, 199, 200, 201, 200, 200, 202, 201, 200, 200, 199, 200, 200, 202, 199, 201, 202, 189, 199, 211, 189, 201, 201, 202, 202, 201, 203, 193, 201, 202, 202, 203, 192, 206, 192, 205, 195, 206, 204, 193, 204, 194, 206, 194, 201, 199, 202, 200, 200, 199, 200, 200, 200, 202, 199, 201, 202, 201, 200, 200, 201, 198, 200, 201, 200, 200, 200, 201, 191, 207, 195, 201, 209, 198, 197, 199, 199, 199, 198, 209, 199, 198, 198, 203, 200, 202, 200, 201, 199, 200, 201, 200, 189, 202, 209, 197, 199, 199, 197, 208, 198, 196, 197, 209, 197, 197, 206, 198, 198, 197, 197, 209, 198, 198, 197, 198, 210, 198, 197, 198, 200, 200, 204, 194, 202, 203, 202, 191, 202, 203, 202, 203, 192, 204, 204, 192, 206, 195, 205, 195, 206, 193, 205, 197, 201, 201, 202, 201, 200, 200, 201, 200, 200, 190, 201, 153, 247, 201, 203, 203, 196, 195, 207, 196, 208, 196, 197, 198, 204, 195, 208, 196, 206, 197, 194, 206, 199, 195, 206, 195, 206, 195, 196, 210, 196, 196, 204, 197, 198, 209, 198, 198, 198, 199, 209, 196, 198, 196, 198, 207, 196, 208, 196, 198, 197, 208, 199, 197, 201, 201, 202, 201, 200, 189, 202, 201, 201, 201, 201, 201, 200, 201, 200, 203, 189, 202, 202, 201, 203, 202, 201, 191, 201, 201, 201, 198, 202, 199, 201, 200, 199, 201, 201, 202, 197, 198, 199, 209, 199, 200, 198, 196, 194, 206, 203, 197, 199, 207, 198, 197, 198, 207, 196, 197, 209, 197, 197, 197, 199, 207, 197, 197, 207, 197, 199, 197, 200, 207, 198, 199, 201, 202, 195, 198, 205, 192, 205, 204, 192, 204, 205, 192, 204, 192, 204, 199, 200, 199, 212, 199, 200, 199, 199, 199, 200, 200, 202, 199, 200, 198, 201, 199, 199, 200, 201, 198, 200, 199, 200, 199, 201, 201, 199, 201, 203, 203, 190, 201, 201, 201, 203, 203, 201, 191, 205, 203, 193, 204, 204, 192, 205, 193, 203, 205, 13], "killed_ms": 61203, "recovery": {"steady_per_100ms": 199.0, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160009, "listener": {"listener_packets": 85994, "listener_received": 49144, "listener_deliveries": 37667, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "epochs-depth256", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 27.6, "steady_cpu_ms_per_s": 160.0, "senders_steady_cpu_ms_per_s": 160.0, "recovery_cpu_ms_first_10s": 1570.0, "senders_cpu_ms_first_10s": 1670.0, "generator": {"devices": 10000, "made": 160006, "stored": 160006, "sends": 160071, "again": 65, "stored_ms_p50": 1.061, "stored_ms_p99": 6.16, "stored_ms_max": 53.448, "longest_gap_ms": 0, "gap_from_ms": 0, "p50_ms_by_second_made": [4.86, 4.76, 4.74, 4.63, 4.83, 1.07, 1.23, 1.63, 1.73, 1.87, 1.24, 1.43, 1.58, 1.7, 1.83, 1.25, 1.45, 1.32, 1.34, 1.45, 0.96, 1.11, 1.61, 1.72, 1.83, 1.27, 1.44, 1.61, 1.72, 1.84, 0.93, 1.62, 1.65, 1.44, 1.46, 0.8, 0.92, 1.16, 1.38, 1.27, 0.78, 0.8, 0.8, 0.94, 1.01, 0.87, 0.87, 0.87, 0.8, 0.89, 0.8, 0.79, 0.8, 0.91, 0.97, 0.87, 0.86, 0.86, 0.91, 0.97, 0.88, 0.99, 1.09, 1.2, 1.28, 0.92, 0.83, 0.81, 0.82, 0.87, 0.85, 0.86, 0.86, 0.9, 0.96, 0.87, 0.86, 0.86, 0.79, 0.84, 0.84], "p99_ms_by_second_made": [53.45, 7.96, 6.42, 6.45, 6.81, 6.2, 2.29, 2.21, 2.14, 2.39, 9.9, 1.85, 2.14, 2.16, 2.48, 7.41, 2.15, 2.87, 1.83, 1.88, 3.01, 2.38, 2.4, 2.2, 2.8, 3.48, 2.27, 2.28, 2.21, 2.65, 3.21, 2.54, 2.09, 3.57, 2.04, 1.23, 1.85, 2.11, 3.02, 2.26, 1.17, 1.29, 1.31, 1.41, 2.36, 1.24, 1.29, 3.42, 1.34, 2.86, 1.22, 1.26, 1.23, 1.38, 1.51, 1.42, 1.25, 1.41, 1.36, 1.41, 1.38, 40.24, 1.95, 1.73, 1.65, 2.17, 1.65, 1.62, 1.29, 1.21, 1.35, 1.22, 1.37, 1.35, 1.44, 1.72, 1.34, 2.19, 1.21, 1.17, 0.95]}, "timeline_100ms": [171, 212, 190, 213, 203, 199, 200, 202, 203, 195, 198, 200, 205, 197, 197, 200, 203, 198, 199, 205, 187, 197, 201, 205, 209, 203, 194, 197, 204, 206, 186, 201, 207, 186, 205, 205, 198, 205, 186, 206, 209, 200, 199, 190, 210, 200, 186, 221, 188, 205, 213, 196, 193, 205, 204, 196, 204, 193, 204, 203, 192, 209, 191, 205, 192, 205, 197, 200, 200, 201, 202, 205, 189, 201, 203, 205, 192, 206, 193, 205, 202, 196, 207, 191, 209, 194, 204, 196, 208, 197, 195, 208, 198, 197, 197, 200, 199, 204, 200, 198, 208, 169, 226, 199, 199, 202, 200, 203, 199, 190, 200, 203, 199, 198, 202, 201, 200, 202, 200, 200, 205, 191, 200, 204, 203, 192, 205, 207, 191, 206, 203, 192, 208, 191, 208, 194, 207, 194, 194, 209, 195, 197, 210, 197, 197, 201, 200, 195, 209, 199, 195, 204, 201, 198, 199, 204, 202, 189, 200, 202, 202, 202, 199, 201, 202, 201, 202, 192, 203, 202, 199, 198, 198, 206, 192, 204, 205, 195, 196, 207, 193, 207, 196, 206, 193, 196, 208, 197, 208, 195, 196, 197, 210, 197, 196, 196, 201, 202, 201, 199, 204, 203, 196, 207, 192, 203, 204, 195, 203, 192, 203, 205, 193, 204, 205, 191, 205, 203, 194, 205, 193, 205, 191, 205, 205, 202, 191, 197, 208, 202, 191, 207, 194, 206, 194, 207, 195, 208, 195, 196, 209, 196, 194, 209, 196, 200, 199, 206, 196, 199, 197, 204, 206, 195, 195, 200, 199, 204, 201, 201, 200, 201, 201, 199, 201, 202, 189, 206, 203, 201, 201, 190, 203, 204, 201, 193, 205, 196, 205, 191, 205, 205, 193, 206, 193, 207, 196, 196, 207, 194, 196, 212, 196, 196, 209, 197, 201, 189, 212, 199, 195, 203, 204, 193, 207, 191, 195, 202, 199, 213, 199, 200, 195, 201, 200, 206, 192, 204, 192, 203, 205, 193, 205, 203, 191, 203, 207, 194, 205, 194, 206, 189, 208, 198, 208, 196, 197, 196, 211, 197, 198, 199, 198, 198, 210, 200, 200, 188, 201, 201, 203, 200, 201, 201, 201, 200, 204, 193, 207, 192, 203, 205, 189, 204, 202, 203, 191, 206, 206, 191, 203, 206, 193, 206, 191, 205, 192, 210, 196, 204, 191, 206, 198, 204, 192, 208, 196, 199, 198, 206, 196, 208, 195, 196, 206, 197, 197, 198, 208, 202, 202, 201, 200, 200, 188, 200, 201, 203, 201, 200, 201, 202, 202, 190, 203, 202, 202, 204, 192, 202, 202, 203, 200, 191, 203, 203, 202, 193, 205, 201, 202, 192, 204, 196, 209, 193, 197, 200, 208, 196, 197, 198, 208, 196, 196, 202, 198, 199, 209, 196, 205, 193, 204, 204, 192, 204, 196, 205, 203, 192, 204, 204, 192, 204, 204, 191, 204, 206, 193, 204, 203, 193, 204, 204, 192, 204, 196, 199, 198, 200, 201, 201, 200, 202, 204, 201, 201, 194, 202, 202, 198, 200, 197, 203, 203, 191, 204, 205, 196, 203, 201, 191, 200, 200, 200, 201, 201, 203, 203, 200, 201, 201, 189, 200, 201, 200, 200, 203, 202, 200, 200, 202, 200, 201, 201, 200, 200, 194, 206, 191, 205, 204, 193, 207, 194, 205, 193, 208, 197, 194, 207, 196, 201, 202, 195, 208, 195, 197, 200, 208, 192, 204, 203, 193, 203, 204, 193, 207, 193, 204, 203, 194, 204, 204, 191, 204, 204, 193, 207, 191, 202, 204, 204, 191, 205, 192, 205, 206, 196, 203, 192, 206, 204, 194, 194, 207, 195, 209, 200, 195, 195, 209, 195, 207, 195, 196, 208, 198, 198, 196, 204, 204, 191, 204, 205, 194, 205, 195, 206, 192, 205, 137, 256, 209, 198, 197, 196, 199, 201, 209, 198, 198, 197, 198, 210, 198, 198, 202, 203, 188, 201, 201, 201, 202, 204, 201, 190, 205, 205, 202, 190, 204, 194, 205, 204, 191, 204, 207, 195, 195, 209, 198, 198, 204, 193, 201, 208, 197, 198, 195, 207, 195, 206, 193, 201, 201, 200, 205, 192, 201, 201, 200, 201, 202, 203, 201, 201, 196, 204, 190, 201, 200, 202, 205, 203, 190, 202, 206, 193, 203, 202, 203, 192, 204, 197, 199, 203, 205, 194, 205, 200, 201, 200, 190, 203, 206, 192, 206, 195, 203, 204, 192, 203, 204, 192, 204, 203, 193, 206, 203, 191, 204, 204, 193, 205, 203, 192, 206, 195, 203, 204, 192, 206, 195, 208, 192, 207, 196, 195, 206, 194, 206, 195, 208, 195, 196, 208, 197, 198, 207, 192, 204, 203, 195, 205, 191, 204, 206, 193, 204, 192, 203, 204, 204, 192, 203, 203, 194, 207, 192, 203, 204, 193, 205, 195, 203, 205, 199, 199, 201, 201, 199, 200, 202, 191, 200, 201, 204, 203, 191, 201, 203, 202, 203, 191, 202, 205, 198, 198, 203, 12], "killed_ms": 61203, "recovery": {"steady_per_100ms": 198.8, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160006, "listener": {"listener_packets": 75350, "listener_received": 37675, "listener_deliveries": 37675, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "a70cf07", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 26.3, "steady_cpu_ms_per_s": 100.0, "senders_steady_cpu_ms_per_s": 120.0, "recovery_cpu_ms_first_10s": 1260.0, "senders_cpu_ms_first_10s": 1360.0, "generator": {"devices": 10000, "made": 160002, "stored": 160002, "sends": 160061, "again": 59, "stored_ms_p50": 0.657, "stored_ms_p99": 4.223, "stored_ms_max": 38.516, "longest_gap_ms": 0, "gap_from_ms": 0, "p50_ms_by_second_made": [3.61, 3.81, 3.92, 4.02, 4.21, 0.64, 0.65, 0.67, 0.72, 0.78, 0.64, 0.63, 0.64, 0.69, 0.81, 0.6, 0.56, 0.56, 0.58, 0.66, 0.64, 0.63, 0.64, 0.69, 0.76, 0.57, 0.55, 0.56, 0.58, 0.63, 0.62, 0.57, 0.56, 0.57, 0.64, 0.63, 0.64, 0.65, 0.7, 0.78, 0.63, 0.63, 0.64, 0.69, 0.64, 0.56, 0.58, 0.57, 0.63, 0.77, 0.64, 0.63, 0.63, 0.68, 0.77, 0.64, 0.64, 0.64, 0.7, 0.76, 0.64, 0.69, 0.79, 0.75, 0.81, 0.62, 0.62, 0.67, 0.74, 0.81, 0.67, 0.65, 0.65, 0.7, 0.78, 0.65, 0.59, 0.58, 0.64, 0.65, 0.71], "p99_ms_by_second_made": [4.0, 4.33, 4.32, 4.46, 4.52, 0.94, 0.99, 1.19, 1.17, 1.19, 1.01, 1.07, 1.03, 1.08, 1.92, 1.48, 1.09, 0.92, 0.9, 1.02, 0.96, 0.95, 1.08, 1.64, 1.06, 1.37, 0.82, 0.88, 1.1, 1.0, 2.04, 0.9, 1.07, 1.0, 1.04, 0.93, 1.05, 1.21, 1.04, 1.09, 0.99, 0.95, 0.95, 1.37, 1.25, 0.95, 1.88, 1.02, 1.02, 1.1, 0.98, 0.95, 0.94, 1.09, 1.14, 0.99, 1.07, 0.93, 1.19, 1.13, 0.97, 37.3, 2.17, 1.12, 1.34, 1.0, 4.84, 1.29, 1.13, 1.27, 1.02, 1.01, 1.0, 1.17, 1.22, 1.09, 1.77, 0.97, 2.28, 1.21, 0.75]}, "timeline_100ms": [186, 191, 207, 207, 191, 210, 193, 192, 210, 192, 196, 215, 194, 192, 214, 196, 195, 196, 214, 197, 200, 200, 197, 197, 197, 199, 198, 199, 217, 184, 203, 203, 201, 199, 200, 201, 202, 203, 200, 202, 185, 207, 203, 202, 203, 185, 206, 205, 203, 187, 212, 207, 195, 207, 196, 197, 208, 196, 195, 208, 199, 197, 196, 207, 196, 196, 209, 196, 196, 207, 201, 198, 196, 208, 196, 199, 196, 198, 202, 198, 202, 200, 199, 209, 198, 201, 198, 199, 200, 200, 202, 192, 201, 201, 199, 202, 201, 202, 202, 201, 200, 197, 195, 207, 195, 196, 209, 196, 207, 195, 198, 197, 206, 196, 206, 197, 196, 208, 197, 195, 198, 209, 195, 196, 206, 197, 207, 198, 196, 197, 199, 210, 197, 197, 197, 200, 210, 199, 198, 198, 202, 202, 201, 198, 200, 190, 202, 200, 209, 200, 195, 195, 204, 203, 203, 195, 197, 198, 206, 197, 207, 194, 203, 204, 192, 205, 193, 203, 203, 203, 195, 205, 193, 204, 203, 193, 203, 204, 191, 205, 195, 206, 204, 193, 206, 193, 205, 194, 205, 194, 207, 197, 195, 207, 195, 208, 196, 195, 200, 204, 200, 197, 207, 196, 195, 207, 197, 206, 196, 196, 209, 197, 195, 207, 194, 196, 208, 195, 206, 196, 198, 198, 206, 196, 207, 197, 196, 208, 197, 197, 205, 195, 198, 197, 208, 198, 198, 199, 198, 210, 189, 202, 199, 199, 199, 201, 201, 200, 202, 202, 205, 198, 198, 204, 192, 204, 204, 191, 203, 205, 194, 204, 204, 192, 204, 204, 192, 203, 205, 192, 205, 194, 204, 203, 193, 205, 204, 193, 203, 193, 210, 197, 199, 199, 204, 193, 205, 194, 205, 205, 196, 196, 207, 194, 206, 196, 196, 207, 196, 198, 206, 195, 202, 201, 194, 206, 204, 192, 203, 196, 206, 194, 205, 203, 194, 205, 192, 204, 203, 193, 206, 194, 204, 204, 193, 205, 204, 193, 203, 194, 207, 192, 206, 201, 198, 196, 204, 204, 194, 207, 197, 194, 206, 195, 206, 197, 196, 207, 195, 200, 206, 193, 203, 205, 194, 196, 208, 197, 196, 208, 198, 197, 207, 196, 194, 208, 196, 195, 208, 197, 198, 207, 196, 195, 207, 197, 197, 196, 213, 200, 199, 199, 198, 197, 198, 197, 211, 199, 198, 200, 201, 199, 200, 200, 200, 202, 191, 202, 203, 203, 198, 196, 208, 195, 195, 208, 196, 207, 195, 197, 198, 207, 196, 207, 195, 195, 208, 195, 207, 197, 198, 194, 208, 196, 196, 208, 196, 196, 208, 198, 198, 196, 209, 197, 198, 203, 201, 192, 205, 196, 208, 196, 206, 195, 195, 207, 195, 208, 197, 198, 194, 204, 204, 193, 203, 204, 193, 204, 203, 194, 206, 192, 201, 198, 211, 193, 203, 203, 192, 207, 194, 203, 205, 193, 206, 193, 203, 196, 205, 195, 206, 194, 205, 204, 193, 207, 196, 199, 198, 200, 203, 199, 200, 200, 199, 200, 201, 201, 201, 204, 198, 195, 207, 196, 195, 207, 198, 196, 207, 197, 196, 207, 195, 195, 206, 196, 206, 196, 207, 197, 198, 195, 207, 195, 206, 196, 196, 207, 196, 199, 199, 208, 198, 196, 200, 199, 197, 210, 198, 200, 202, 200, 199, 200, 200, 201, 190, 201, 202, 203, 199, 196, 208, 196, 195, 208, 196, 196, 207, 198, 199, 206, 196, 195, 207, 196, 206, 197, 197, 197, 209, 195, 196, 208, 196, 196, 206, 197, 196, 210, 199, 197, 197, 198, 203, 198, 198, 200, 209, 202, 189, 210, 200, 200, 201, 189, 200, 201, 201, 203, 200, 196, 207, 195, 207, 197, 195, 208, 195, 196, 210, 173, 219, 202, 202, 202, 190, 203, 202, 204, 193, 204, 201, 199, 204, 193, 198, 210, 198, 199, 200, 197, 199, 199, 198, 211, 198, 200, 201, 187, 206, 201, 200, 201, 201, 202, 200, 192, 201, 203, 203, 198, 198, 198, 209, 199, 199, 198, 198, 198, 204, 198, 205, 193, 205, 191, 206, 204, 195, 196, 202, 207, 195, 205, 197, 198, 197, 198, 206, 198, 201, 197, 210, 199, 200, 201, 200, 190, 201, 201, 206, 201, 191, 202, 202, 202, 202, 192, 202, 203, 201, 196, 209, 197, 197, 197, 198, 209, 196, 198, 199, 207, 196, 195, 209, 196, 197, 207, 198, 195, 199, 207, 197, 197, 208, 198, 196, 197, 209, 198, 201, 198, 198, 198, 198, 210, 198, 200, 200, 200, 193, 199, 200, 202, 201, 202, 200, 204, 191, 202, 200, 208, 197, 197, 196, 207, 196, 197, 208, 191, 207, 192, 210, 194, 204, 193, 204, 207, 193, 204, 196, 204, 193, 205, 204, 194, 203, 194, 205, 205, 199, 193, 197, 202, 198, 211, 194, 200, 202, 195, 199, 208, 196, 197, 206, 196, 196, 208, 197, 197, 12], "killed_ms": 61203, "recovery": {"steady_per_100ms": 199.5, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160002, "listener": {"listener_packets": 75260, "listener_received": 37630, "listener_deliveries": 37630, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "6152bd8", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 19.5, "steady_cpu_ms_per_s": 90.0, "senders_steady_cpu_ms_per_s": 130.0, "recovery_cpu_ms_first_10s": 1590.0, "senders_cpu_ms_first_10s": 1750.0, "generator": {"devices": 10000, "made": 160004, "stored": 160004, "sends": 198118, "again": 42, "stored_ms_p50": 0.766, "stored_ms_p99": 4.455, "stored_ms_max": 36.101, "longest_gap_ms": 0, "gap_from_ms": 0, "p50_ms_by_second_made": [4.09, 4.23, 4.19, 4.21, 4.21, 0.7, 0.7, 0.7, 0.79, 0.9, 0.75, 0.77, 0.69, 0.7, 0.76, 0.7, 0.72, 0.76, 0.8, 0.87, 0.76, 0.7, 0.68, 0.69, 0.75, 0.68, 0.76, 0.78, 0.7, 0.76, 0.7, 0.69, 0.74, 0.79, 0.88, 0.76, 0.76, 0.75, 0.79, 0.87, 0.77, 0.75, 0.75, 0.78, 0.75, 0.7, 0.68, 0.69, 0.72, 0.87, 0.77, 0.76, 0.76, 0.79, 0.75, 0.69, 0.68, 0.68, 0.76, 0.87, 0.69, 0.76, 0.84, 0.93, 1.09, 0.83, 0.79, 0.79, 0.85, 0.93, 0.79, 0.78, 0.78, 0.82, 0.88, 0.8, 0.69, 0.7, 0.7, 0.79, 0.78], "p99_ms_by_second_made": [4.67, 4.58, 5.24, 5.36, 5.12, 2.09, 1.13, 1.1, 1.36, 1.24, 1.16, 1.73, 1.08, 1.18, 1.12, 1.05, 1.03, 1.14, 1.18, 1.62, 1.32, 1.67, 1.05, 1.11, 1.14, 1.05, 1.11, 1.8, 1.04, 1.32, 1.12, 1.03, 1.2, 1.26, 1.58, 1.02, 1.06, 1.24, 1.19, 1.45, 1.07, 1.05, 1.1, 1.84, 1.1, 1.17, 1.09, 1.09, 1.25, 1.48, 1.25, 1.06, 1.29, 1.55, 1.22, 1.03, 0.98, 1.05, 1.25, 2.08, 1.1, 34.9, 2.02, 1.51, 1.46, 1.6, 1.25, 1.38, 1.49, 1.38, 1.14, 1.42, 1.2, 1.2, 1.38, 1.74, 1.24, 1.12, 1.13, 1.14, 0.88]}, "timeline_100ms": [181, 193, 207, 195, 197, 201, 216, 196, 196, 197, 200, 199, 206, 199, 203, 205, 182, 203, 203, 206, 193, 215, 194, 197, 202, 205, 186, 212, 198, 194, 204, 196, 194, 211, 196, 209, 194, 195, 195, 213, 191, 199, 208, 200, 195, 201, 205, 191, 198, 196, 220, 197, 203, 197, 209, 197, 197, 197, 209, 197, 197, 197, 200, 208, 198, 197, 197, 209, 197, 197, 199, 198, 201, 209, 198, 197, 198, 197, 208, 197, 200, 198, 202, 198, 202, 202, 193, 203, 203, 203, 193, 204, 196, 204, 193, 205, 205, 195, 205, 193, 202, 200, 203, 199, 199, 201, 200, 199, 200, 199, 200, 200, 203, 199, 198, 196, 207, 199, 197, 196, 208, 197, 200, 199, 197, 208, 197, 197, 197, 209, 197, 198, 200, 197, 199, 208, 198, 199, 197, 209, 199, 198, 192, 211, 199, 200, 199, 201, 200, 201, 190, 210, 189, 208, 197, 197, 198, 208, 197, 197, 198, 208, 201, 197, 197, 208, 199, 200, 200, 190, 200, 200, 202, 200, 201, 200, 200, 202, 201, 199, 202, 201, 193, 201, 203, 201, 203, 202, 191, 201, 206, 190, 204, 200, 205, 192, 204, 205, 191, 206, 201, 200, 203, 199, 200, 199, 200, 201, 199, 189, 205, 198, 202, 208, 198, 196, 197, 208, 197, 196, 208, 197, 200, 198, 196, 208, 197, 196, 208, 197, 198, 197, 201, 197, 210, 197, 198, 198, 197, 209, 197, 198, 204, 198, 199, 200, 200, 200, 199, 203, 199, 195, 200, 209, 196, 197, 196, 208, 196, 208, 197, 200, 192, 211, 188, 200, 201, 200, 200, 200, 200, 200, 204, 199, 201, 198, 208, 198, 198, 197, 207, 197, 200, 197, 199, 197, 209, 198, 199, 198, 199, 197, 203, 200, 199, 199, 200, 202, 203, 201, 198, 197, 203, 198, 197, 208, 197, 197, 208, 197, 197, 197, 200, 209, 198, 197, 197, 208, 198, 195, 199, 209, 190, 200, 208, 198, 200, 201, 201, 201, 196, 199, 199, 201, 202, 200, 202, 191, 201, 202, 205, 203, 199, 192, 205, 192, 205, 206, 192, 204, 201, 199, 203, 200, 200, 200, 200, 200, 200, 199, 200, 199, 203, 200, 199, 199, 201, 200, 200, 200, 200, 200, 192, 200, 200, 201, 201, 200, 200, 200, 200, 201, 202, 200, 204, 189, 202, 203, 203, 200, 193, 203, 205, 191, 205, 204, 193, 206, 193, 205, 201, 200, 202, 201, 200, 199, 201, 201, 199, 200, 199, 200, 202, 200, 200, 199, 201, 200, 199, 201, 200, 199, 191, 200, 200, 211, 188, 201, 200, 200, 200, 200, 205, 202, 200, 199, 196, 203, 198, 197, 210, 198, 201, 198, 201, 199, 200, 200, 199, 200, 204, 197, 202, 197, 197, 198, 209, 197, 196, 197, 207, 197, 202, 197, 197, 208, 196, 197, 209, 195, 197, 208, 190, 209, 198, 196, 197, 210, 198, 197, 196, 208, 201, 198, 198, 197, 197, 193, 210, 203, 203, 191, 209, 191, 203, 204, 193, 206, 205, 192, 202, 201, 204, 201, 189, 211, 188, 212, 200, 200, 189, 200, 202, 201, 201, 199, 200, 199, 199, 200, 200, 199, 203, 202, 201, 202, 200, 200, 201, 201, 199, 201, 192, 202, 203, 193, 200, 200, 208, 197, 197, 209, 191, 200, 199, 199, 200, 201, 200, 200, 200, 208, 201, 198, 196, 197, 208, 197, 196, 208, 197, 196, 199, 197, 208, 197, 197, 208, 198, 196, 208, 196, 199, 197, 208, 196, 197, 198, 209, 198, 196, 198, 200, 200, 207, 201, 190, 204, 201, 203, 190, 203, 207, 192, 198, 207, 204, 192, 201, 200, 198, 209, 200, 198, 196, 197, 208, 199, 197, 196, 207, 174, 220, 200, 200, 200, 200, 201, 202, 199, 200, 199, 204, 201, 201, 199, 191, 209, 195, 199, 198, 199, 203, 201, 200, 199, 197, 200, 211, 195, 204, 199, 202, 200, 199, 199, 194, 196, 207, 196, 208, 194, 197, 208, 194, 208, 194, 195, 206, 194, 207, 204, 191, 202, 201, 201, 200, 205, 201, 200, 190, 201, 206, 203, 188, 201, 201, 203, 202, 201, 203, 191, 206, 192, 205, 203, 193, 206, 204, 193, 206, 193, 198, 207, 193, 206, 195, 207, 194, 207, 202, 189, 202, 202, 201, 202, 201, 201, 201, 201, 189, 199, 206, 196, 200, 201, 201, 201, 202, 200, 201, 200, 204, 190, 200, 201, 200, 202, 202, 200, 200, 201, 192, 205, 201, 202, 193, 203, 203, 203, 190, 208, 195, 205, 192, 205, 206, 193, 205, 192, 204, 201, 203, 201, 193, 206, 196, 201, 198, 207, 197, 198, 200, 200, 197, 209, 197, 197, 197, 209, 196, 197, 200, 199, 197, 209, 197, 198, 197, 209, 198, 196, 201, 199, 197, 209, 198, 199, 199, 199, 198, 199, 203, 201, 202, 200, 201, 191, 203, 201, 12], "killed_ms": 61202, "recovery": {"steady_per_100ms": 199.6, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160004, "listener": {"listener_packets": 85916, "listener_received": 49173, "listener_deliveries": 37634, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "epochs-depth256", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 18.7, "steady_cpu_ms_per_s": 120.0, "senders_steady_cpu_ms_per_s": 140.0, "recovery_cpu_ms_first_10s": 1510.0, "senders_cpu_ms_first_10s": 1650.0, "generator": {"devices": 10000, "made": 160000, "stored": 160000, "sends": 160036, "again": 36, "stored_ms_p50": 1.043, "stored_ms_p99": 6.237, "stored_ms_max": 43.734, "longest_gap_ms": 0, "gap_from_ms": 0, "p50_ms_by_second_made": [4.84, 4.71, 4.64, 4.75, 4.77, 1.05, 1.09, 1.43, 1.43, 1.43, 0.95, 1.09, 1.22, 1.66, 1.82, 1.23, 1.44, 1.59, 1.69, 1.81, 1.24, 1.53, 1.59, 1.7, 1.56, 0.88, 1.08, 1.25, 1.33, 1.68, 1.27, 1.19, 1.24, 1.33, 1.46, 0.84, 1.2, 1.4, 1.61, 1.63, 0.83, 0.79, 0.79, 0.81, 0.92, 0.85, 0.84, 0.85, 0.91, 0.97, 0.85, 0.86, 0.85, 0.89, 0.96, 0.85, 0.8, 0.78, 0.84, 0.83, 0.78, 1.01, 1.08, 1.2, 1.26, 0.87, 0.86, 0.86, 0.92, 0.87, 0.81, 0.78, 0.8, 0.78, 0.96, 0.84, 0.85, 0.84, 0.89, 0.96, 0.0], "p99_ms_by_second_made": [43.73, 6.31, 6.74, 6.82, 6.89, 5.11, 1.66, 2.03, 2.98, 1.93, 4.82, 1.58, 1.89, 2.19, 2.5, 6.9, 2.13, 2.05, 2.17, 2.43, 6.51, 2.44, 2.58, 2.45, 4.02, 2.71, 1.83, 2.06, 1.86, 2.34, 2.51, 2.1, 2.03, 1.87, 1.93, 1.72, 2.91, 3.0, 2.86, 3.31, 2.12, 1.2, 1.21, 1.25, 1.37, 1.24, 1.36, 1.4, 1.45, 1.43, 1.2, 1.42, 1.41, 1.34, 1.35, 1.15, 1.84, 1.58, 1.57, 1.28, 1.34, 38.22, 1.69, 1.67, 3.85, 1.48, 1.31, 1.42, 2.2, 1.22, 1.24, 1.3, 1.88, 1.27, 1.35, 1.23, 1.38, 1.27, 1.47, 1.39, 0.0]}, "timeline_100ms": [172, 204, 206, 197, 213, 189, 197, 199, 210, 188, 205, 197, 212, 200, 200, 189, 201, 197, 196, 206, 208, 205, 179, 216, 203, 188, 206, 200, 206, 185, 204, 206, 190, 208, 205, 186, 215, 188, 195, 222, 191, 204, 188, 209, 196, 204, 197, 199, 191, 202, 214, 210, 191, 204, 204, 191, 203, 203, 205, 193, 204, 190, 204, 204, 203, 191, 204, 203, 193, 204, 205, 190, 205, 203, 201, 193, 203, 204, 196, 196, 205, 193, 211, 198, 195, 196, 208, 195, 201, 204, 202, 196, 197, 198, 201, 199, 211, 198, 189, 201, 205, 188, 211, 204, 202, 191, 203, 205, 192, 205, 204, 191, 203, 204, 200, 195, 204, 203, 194, 205, 191, 203, 203, 194, 205, 205, 194, 197, 206, 195, 209, 194, 194, 206, 203, 191, 209, 195, 209, 198, 187, 212, 196, 199, 198, 195, 211, 201, 199, 202, 198, 203, 194, 198, 199, 201, 198, 199, 202, 201, 201, 201, 200, 202, 198, 202, 200, 203, 192, 207, 191, 211, 191, 201, 200, 203, 203, 191, 207, 194, 204, 203, 191, 207, 194, 207, 192, 207, 194, 210, 195, 195, 209, 197, 195, 200, 198, 200, 200, 204, 208, 191, 199, 211, 197, 199, 199, 201, 194, 201, 203, 201, 199, 202, 199, 200, 193, 201, 203, 205, 192, 201, 206, 203, 189, 205, 205, 192, 205, 196, 204, 192, 204, 206, 192, 208, 193, 196, 201, 203, 197, 211, 186, 208, 202, 201, 198, 196, 200, 200, 202, 201, 200, 198, 196, 204, 205, 203, 193, 204, 193, 204, 204, 193, 204, 205, 191, 203, 207, 191, 205, 204, 191, 201, 207, 195, 205, 193, 209, 192, 198, 203, 206, 196, 195, 206, 194, 208, 196, 200, 195, 209, 198, 199, 201, 201, 197, 197, 200, 201, 208, 190, 202, 207, 199, 188, 210, 194, 197, 210, 194, 195, 211, 192, 204, 206, 192, 204, 193, 208, 191, 205, 206, 195, 206, 194, 195, 206, 194, 208, 195, 206, 194, 206, 194, 197, 210, 195, 199, 200, 195, 210, 200, 197, 198, 200, 198, 200, 202, 199, 204, 200, 199, 201, 203, 198, 194, 206, 198, 195, 206, 205, 195, 201, 201, 191, 200, 200, 203, 206, 201, 199, 198, 204, 192, 206, 187, 204, 201, 204, 205, 189, 203, 210, 186, 207, 194, 207, 195, 199, 199, 206, 203, 198, 192, 197, 201, 207, 205, 201, 191, 202, 206, 203, 199, 200, 202, 200, 191, 203, 200, 200, 205, 202, 189, 201, 204, 202, 192, 203, 202, 201, 205, 201, 189, 201, 202, 202, 204, 201, 190, 201, 204, 202, 204, 188, 203, 202, 205, 192, 203, 203, 192, 206, 202, 203, 194, 196, 200, 198, 205, 203, 204, 192, 203, 203, 191, 203, 206, 191, 205, 202, 204, 192, 203, 203, 191, 206, 205, 191, 204, 203, 194, 204, 204, 192, 203, 204, 195, 204, 193, 205, 194, 208, 195, 204, 194, 206, 197, 207, 195, 193, 209, 196, 195, 207, 197, 196, 211, 195, 205, 191, 205, 204, 190, 202, 204, 203, 192, 204, 204, 190, 204, 204, 202, 193, 207, 193, 207, 191, 204, 203, 194, 203, 204, 202, 191, 204, 195, 203, 205, 191, 207, 204, 193, 205, 195, 207, 196, 194, 207, 193, 208, 196, 195, 208, 197, 196, 210, 196, 204, 190, 205, 204, 191, 202, 205, 202, 193, 203, 202, 194, 206, 192, 211, 200, 200, 200, 190, 199, 201, 200, 201, 200, 200, 199, 203, 206, 192, 202, 196, 208, 194, 202, 201, 201, 201, 201, 203, 190, 202, 203, 203, 202, 190, 201, 203, 202, 200, 196, 200, 200, 202, 200, 199, 202, 204, 199, 192, 201, 200, 166, 239, 197, 196, 200, 210, 197, 201, 196, 197, 198, 202, 199, 210, 196, 198, 198, 202, 201, 200, 200, 195, 203, 201, 199, 202, 204, 192, 205, 203, 198, 197, 203, 203, 192, 205, 197, 206, 191, 211, 196, 198, 197, 208, 196, 197, 197, 209, 196, 196, 208, 194, 204, 202, 192, 204, 206, 193, 203, 204, 190, 206, 202, 192, 207, 194, 205, 196, 204, 192, 206, 194, 208, 196, 206, 194, 204, 201, 192, 202, 203, 204, 191, 203, 202, 203, 193, 207, 192, 200, 200, 205, 201, 200, 201, 202, 190, 202, 201, 200, 200, 203, 199, 204, 202, 200, 200, 190, 200, 198, 199, 212, 191, 200, 200, 200, 200, 201, 201, 200, 200, 202, 201, 199, 201, 200, 202, 192, 208, 193, 206, 198, 195, 206, 195, 208, 198, 196, 197, 203, 202, 205, 192, 201, 202, 204, 192, 205, 202, 203, 191, 206, 193, 203, 203, 203, 193, 204, 204, 191, 203, 195, 202, 203, 203, 203, 193, 205, 193, 202, 203, 195, 205, 204, 193, 206, 194, 198, 209, 193, 205, 197, 195, 207, 195, 207, 197, 198, 196, 12], "killed_ms": 61202, "recovery": {"steady_per_100ms": 199.3, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160000, "listener": {"listener_packets": 75340, "listener_received": 37670, "listener_deliveries": 37670, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "epochs-deferred", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 25.9, "steady_cpu_ms_per_s": 140.0, "senders_steady_cpu_ms_per_s": 160.0, "recovery_cpu_ms_first_10s": 1590.0, "senders_cpu_ms_first_10s": 1750.0, "generator": {"devices": 10000, "made": 159999, "stored": 159999, "sends": 160062, "again": 63, "stored_ms_p50": 1.048, "stored_ms_p99": 6.321, "stored_ms_max": 41.104, "longest_gap_ms": 0, "gap_from_ms": 0, "p50_ms_by_second_made": [4.71, 4.6, 4.67, 4.76, 4.94, 0.94, 1.24, 1.34, 1.44, 1.57, 0.91, 1.41, 1.71, 1.79, 1.98, 0.94, 0.93, 1.31, 1.39, 1.53, 1.0, 1.54, 1.65, 1.8, 1.97, 1.0, 1.52, 1.66, 1.82, 1.95, 1.18, 1.13, 1.3, 1.41, 1.53, 0.95, 1.39, 1.48, 1.61, 1.63, 0.87, 0.88, 0.87, 0.86, 1.03, 0.93, 0.96, 0.88, 0.87, 0.91, 0.87, 0.86, 0.93, 0.96, 1.02, 0.93, 0.93, 0.92, 0.94, 1.01, 0.92, 0.99, 1.2, 1.09, 1.17, 0.92, 0.9, 0.89, 0.96, 1.03, 0.96, 0.93, 0.92, 0.95, 1.01, 0.93, 0.91, 0.93, 0.98, 0.91, 0.0], "p99_ms_by_second_made": [6.56, 6.52, 6.67, 6.65, 7.05, 2.04, 2.43, 1.84, 1.96, 2.19, 1.73, 2.09, 2.22, 2.2, 6.29, 3.84, 1.83, 2.03, 1.79, 2.26, 2.14, 2.21, 2.3, 2.35, 2.45, 2.13, 1.94, 3.04, 2.56, 2.78, 2.75, 1.96, 1.91, 1.9, 2.28, 1.86, 2.69, 2.66, 2.86, 2.99, 1.24, 1.22, 1.93, 1.3, 1.38, 1.27, 2.01, 1.57, 1.51, 1.46, 1.36, 1.26, 1.46, 1.54, 1.47, 1.3, 1.65, 1.27, 1.37, 1.35, 1.29, 35.93, 2.9, 1.63, 1.56, 1.47, 1.61, 1.19, 1.36, 1.48, 1.43, 1.37, 1.34, 1.52, 1.47, 1.42, 1.24, 1.38, 2.41, 1.3, 0.0]}, "timeline_100ms": [187, 202, 191, 201, 206, 205, 183, 197, 215, 202, 205, 176, 220, 199, 202, 185, 211, 202, 184, 203, 203, 212, 185, 217, 184, 202, 205, 188, 212, 204, 187, 197, 217, 188, 204, 206, 199, 190, 204, 207, 201, 200, 196, 188, 217, 191, 202, 205, 197, 200, 207, 198, 208, 195, 196, 206, 195, 206, 194, 208, 195, 201, 191, 208, 200, 206, 194, 205, 195, 195, 206, 199, 195, 208, 195, 198, 204, 196, 209, 197, 197, 201, 196, 198, 211, 197, 198, 198, 197, 199, 200, 201, 200, 199, 204, 200, 200, 202, 200, 202, 195, 196, 207, 194, 206, 206, 194, 206, 193, 207, 194, 200, 197, 205, 203, 200, 188, 204, 203, 203, 193, 209, 189, 205, 205, 192, 204, 192, 206, 196, 205, 195, 208, 193, 197, 209, 194, 197, 201, 211, 200, 190, 199, 210, 200, 198, 199, 193, 202, 199, 206, 198, 198, 208, 194, 207, 194, 206, 194, 196, 208, 198, 206, 192, 195, 207, 193, 208, 193, 207, 193, 210, 193, 197, 200, 206, 195, 207, 195, 197, 209, 198, 197, 196, 210, 198, 195, 196, 210, 198, 198, 200, 199, 200, 201, 200, 200, 200, 203, 191, 204, 202, 203, 203, 189, 204, 203, 201, 202, 193, 203, 194, 204, 205, 191, 204, 203, 191, 205, 203, 193, 207, 194, 206, 193, 206, 193, 205, 205, 193, 206, 202, 195, 196, 200, 201, 205, 196, 196, 201, 201, 207, 200, 197, 202, 200, 201, 189, 201, 203, 206, 204, 190, 204, 203, 201, 203, 190, 202, 205, 189, 207, 206, 189, 204, 202, 204, 190, 205, 205, 193, 203, 197, 206, 193, 207, 193, 207, 194, 197, 205, 201, 195, 198, 199, 200, 211, 199, 197, 198, 200, 207, 190, 199, 200, 202, 200, 202, 202, 202, 204, 195, 203, 202, 190, 203, 206, 191, 201, 194, 206, 200, 208, 194, 207, 194, 195, 207, 193, 210, 195, 200, 197, 208, 197, 195, 206, 196, 208, 198, 195, 200, 197, 199, 199, 200, 211, 197, 198, 198, 199, 202, 200, 202, 193, 201, 200, 201, 201, 201, 205, 195, 207, 191, 206, 192, 205, 195, 206, 201, 196, 204, 194, 211, 191, 205, 191, 203, 204, 204, 189, 200, 205, 196, 207, 203, 193, 199, 204, 196, 208, 196, 197, 196, 208, 194, 206, 193, 207, 198, 194, 200, 199, 206, 193, 213, 198, 200, 198, 202, 194, 207, 193, 204, 206, 193, 204, 192, 204, 205, 194, 208, 193, 204, 194, 205, 204, 193, 204, 193, 204, 194, 208, 196, 205, 192, 204, 204, 193, 204, 203, 196, 204, 192, 205, 205, 191, 204, 205, 192, 204, 194, 206, 195, 204, 205, 198, 199, 198, 199, 206, 197, 194, 206, 194, 205, 205, 194, 206, 196, 194, 208, 194, 206, 195, 206, 194, 195, 197, 215, 195, 192, 205, 207, 191, 202, 203, 202, 203, 196, 194, 209, 192, 204, 204, 192, 204, 201, 203, 190, 203, 196, 205, 206, 194, 204, 194, 205, 193, 205, 203, 193, 205, 203, 192, 203, 204, 203, 196, 202, 191, 205, 206, 191, 204, 202, 203, 189, 202, 203, 203, 202, 196, 194, 207, 194, 207, 193, 205, 205, 195, 200, 196, 206, 195, 207, 196, 195, 209, 195, 196, 199, 210, 198, 197, 196, 210, 197, 198, 198, 208, 196, 195, 206, 194, 206, 194, 205, 193, 205, 194, 211, 196, 194, 206, 193, 206, 205, 193, 205, 194, 208, 195, 206, 194, 205, 194, 205, 193, 205, 194, 209, 194, 207, 196, 196, 207, 194, 196, 207, 195, 198, 209, 195, 197, 209, 196, 198, 198, 197, 206, 196, 206, 193, 205, 204, 194, 205, 194, 205, 194, 158, 243, 199, 200, 198, 200, 211, 199, 199, 198, 203, 190, 203, 204, 200, 201, 200, 188, 209, 200, 201, 203, 198, 198, 200, 198, 198, 200, 210, 199, 190, 203, 201, 201, 200, 201, 201, 201, 200, 198, 198, 199, 197, 210, 197, 197, 207, 196, 196, 208, 197, 194, 203, 193, 208, 196, 203, 202, 204, 191, 205, 194, 203, 204, 203, 193, 202, 205, 193, 206, 198, 198, 197, 196, 207, 195, 208, 195, 200, 204, 199, 199, 197, 196, 210, 199, 197, 197, 198, 206, 197, 208, 194, 206, 198, 196, 206, 195, 194, 206, 198, 207, 194, 206, 194, 196, 205, 206, 194, 205, 195, 197, 205, 194, 205, 194, 206, 194, 206, 196, 198, 208, 194, 208, 195, 197, 206, 195, 207, 195, 198, 199, 207, 198, 197, 198, 198, 209, 196, 194, 210, 195, 206, 193, 205, 194, 206, 193, 205, 194, 206, 196, 204, 193, 205, 206, 194, 204, 193, 205, 196, 207, 196, 193, 206, 195, 205, 206, 194, 205, 198, 195, 206, 194, 207, 195, 198, 205, 197, 197, 206, 195, 204, 200, 197, 206, 192, 206, 192, 12], "killed_ms": 61203, "recovery": {"steady_per_100ms": 199.0, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 159999, "listener": {"listener_packets": 75304, "listener_received": 37652, "listener_deliveries": 37652, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "epochs-deferred", "round": 2, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 18.3, "steady_cpu_ms_per_s": 130.0, "senders_steady_cpu_ms_per_s": 150.0, "recovery_cpu_ms_first_10s": 1640.0, "senders_cpu_ms_first_10s": 1700.0, "generator": {"devices": 10000, "made": 160008, "stored": 160008, "sends": 160044, "again": 36, "stored_ms_p50": 1.071, "stored_ms_p99": 6.208, "stored_ms_max": 39.465, "longest_gap_ms": 0, "gap_from_ms": 0, "p50_ms_by_second_made": [4.55, 4.64, 4.67, 4.82, 4.85, 1.2, 1.51, 1.65, 1.75, 1.88, 0.98, 1.49, 1.27, 1.35, 1.48, 0.91, 1.45, 1.64, 1.77, 1.92, 1.29, 1.49, 1.66, 1.77, 1.88, 0.94, 1.08, 1.4, 1.41, 1.56, 1.16, 1.56, 1.68, 1.76, 1.56, 0.93, 0.96, 1.2, 1.33, 1.72, 0.92, 0.92, 0.91, 1.04, 0.93, 0.83, 0.84, 0.85, 0.92, 1.02, 0.91, 0.89, 0.9, 0.93, 1.03, 0.91, 0.9, 0.9, 0.93, 1.0, 0.85, 0.91, 0.99, 1.06, 1.23, 0.96, 0.94, 0.92, 1.0, 1.06, 0.94, 0.91, 0.92, 0.94, 1.0, 0.91, 0.88, 0.83, 0.86, 0.91, 0.9], "p99_ms_by_second_made": [6.74, 6.49, 6.78, 7.35, 6.66, 1.9, 2.07, 2.17, 2.53, 2.53, 2.09, 2.67, 2.04, 1.72, 2.0, 1.71, 2.36, 2.37, 2.37, 2.76, 2.12, 2.18, 2.18, 2.41, 3.23, 1.82, 1.84, 2.7, 1.98, 2.28, 2.21, 2.6, 2.21, 2.77, 2.17, 1.94, 1.92, 2.11, 2.28, 2.78, 1.97, 1.73, 1.43, 4.86, 1.28, 1.27, 1.34, 1.35, 1.45, 1.52, 1.36, 1.3, 1.59, 1.55, 1.45, 1.26, 1.53, 1.34, 1.43, 2.61, 1.29, 32.89, 1.65, 1.61, 1.98, 1.61, 1.35, 1.4, 1.85, 1.49, 1.35, 1.27, 1.33, 1.42, 1.32, 1.94, 1.73, 1.31, 2.03, 1.52, 1.04]}, "timeline_100ms": [187, 192, 205, 206, 195, 204, 196, 191, 205, 202, 190, 201, 201, 205, 203, 202, 202, 203, 195, 187, 213, 201, 201, 186, 204, 204, 205, 197, 205, 203, 185, 216, 184, 217, 187, 205, 187, 218, 196, 197, 189, 218, 185, 214, 188, 195, 217, 196, 202, 204, 205, 195, 207, 193, 205, 194, 202, 201, 191, 205, 205, 191, 204, 204, 203, 192, 201, 205, 194, 207, 190, 206, 193, 207, 205, 194, 206, 193, 197, 210, 197, 195, 196, 211, 196, 197, 197, 211, 188, 200, 202, 210, 188, 200, 201, 201, 200, 204, 204, 191, 202, 200, 203, 201, 200, 200, 203, 202, 194, 201, 204, 191, 204, 204, 202, 192, 197, 209, 197, 207, 195, 193, 209, 195, 205, 194, 205, 194, 199, 200, 206, 195, 208, 196, 196, 209, 196, 195, 201, 197, 199, 201, 199, 210, 198, 198, 200, 201, 204, 190, 206, 205, 193, 207, 193, 204, 193, 205, 195, 208, 192, 207, 198, 200, 195, 199, 202, 202, 207, 193, 205, 191, 209, 193, 205, 193, 211, 195, 195, 199, 206, 195, 208, 195, 196, 207, 198, 195, 199, 201, 201, 197, 200, 211, 201, 189, 200, 199, 208, 205, 189, 203, 203, 201, 203, 201, 197, 193, 205, 205, 189, 201, 207, 193, 201, 204, 203, 190, 205, 194, 205, 204, 204, 192, 199, 205, 193, 210, 196, 195, 198, 208, 196, 198, 208, 197, 196, 200, 201, 201, 202, 199, 198, 201, 200, 201, 204, 193, 197, 205, 201, 201, 194, 207, 205, 193, 197, 208, 196, 195, 207, 192, 205, 196, 206, 193, 209, 193, 209, 194, 206, 193, 207, 195, 194, 197, 206, 197, 203, 199, 198, 208, 195, 209, 196, 198, 197, 202, 202, 200, 199, 200, 201, 199, 202, 201, 189, 204, 207, 193, 205, 203, 201, 191, 203, 203, 193, 204, 195, 207, 202, 193, 208, 191, 203, 206, 193, 204, 197, 197, 205, 205, 191, 198, 205, 194, 208, 193, 211, 196, 196, 207, 199, 198, 197, 196, 203, 200, 201, 202, 201, 201, 199, 204, 188, 203, 202, 204, 191, 209, 195, 205, 193, 205, 205, 190, 208, 192, 206, 194, 207, 203, 194, 204, 192, 206, 194, 203, 197, 208, 193, 203, 198, 207, 194, 205, 195, 204, 198, 195, 209, 193, 206, 198, 196, 209, 198, 198, 199, 201, 194, 198, 211, 187, 211, 196, 197, 200, 201, 199, 210, 196, 193, 207, 194, 207, 195, 206, 199, 195, 207, 194, 194, 210, 193, 206, 197, 207, 196, 196, 206, 195, 206, 194, 205, 196, 196, 208, 195, 196, 206, 195, 197, 204, 199, 208, 193, 207, 193, 206, 194, 205, 204, 194, 205, 194, 197, 205, 195, 209, 192, 203, 201, 202, 200, 203, 190, 203, 204, 203, 190, 203, 202, 202, 201, 191, 203, 203, 205, 191, 202, 202, 203, 201, 192, 204, 204, 202, 193, 205, 191, 204, 203, 202, 193, 207, 197, 196, 197, 211, 195, 197, 207, 196, 197, 197, 199, 210, 199, 200, 193, 206, 204, 193, 206, 194, 206, 192, 207, 193, 204, 205, 193, 205, 192, 205, 205, 192, 208, 192, 205, 203, 194, 205, 193, 206, 191, 208, 196, 206, 195, 206, 193, 207, 193, 207, 196, 193, 209, 196, 198, 208, 197, 197, 196, 210, 199, 199, 201, 199, 195, 204, 192, 205, 205, 195, 194, 205, 207, 193, 205, 192, 205, 205, 193, 206, 194, 204, 196, 198, 201, 205, 192, 205, 206, 194, 206, 192, 207, 195, 206, 194, 206, 193, 207, 195, 197, 206, 198, 197, 207, 195, 195, 209, 198, 193, 208, 194, 207, 194, 204, 203, 189, 202, 202, 203, 204, 191, 204, 203, 202, 190, 211, 195, 195, 208, 196, 196, 202, 196, 207, 194, 208, 193, 207, 196, 198, 208, 199, 199, 197, 196, 208, 197, 197, 198, 199, 199, 201, 199, 200, 200, 201, 199, 200, 201, 208, 195, 195, 196, 207, 202, 198, 198, 211, 200, 200, 199, 200, 199, 199, 198, 195, 206, 194, 208, 195, 206, 195, 195, 208, 193, 206, 205, 193, 195, 208, 195, 208, 196, 195, 206, 195, 208, 196, 198, 197, 202, 201, 198, 200, 197, 210, 196, 198, 198, 200, 199, 201, 199, 207, 194, 206, 193, 206, 195, 207, 193, 209, 195, 195, 206, 205, 193, 206, 193, 205, 194, 206, 193, 206, 192, 205, 206, 193, 206, 195, 195, 207, 195, 206, 194, 206, 193, 207, 197, 195, 209, 197, 196, 208, 195, 196, 207, 197, 197, 208, 198, 199, 197, 206, 192, 204, 204, 194, 202, 203, 191, 204, 204, 203, 190, 203, 202, 202, 196, 196, 207, 198, 203, 203, 190, 202, 201, 203, 203, 202, 191, 204, 204, 191, 205, 203, 202, 191, 209, 190, 204, 204, 200, 192, 205, 205, 191, 205, 194, 206, 193, 199, 208, 13], "killed_ms": 61203, "recovery": {"steady_per_100ms": 200.0, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160008, "listener": {"listener_packets": 75168, "listener_received": 37584, "listener_deliveries": 37584, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "epochs-layout", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 24.9, "steady_cpu_ms_per_s": 140.0, "senders_steady_cpu_ms_per_s": 160.0, "recovery_cpu_ms_first_10s": 1540.0, "senders_cpu_ms_first_10s": 1770.0, "generator": {"devices": 10000, "made": 160009, "stored": 160009, "sends": 160070, "again": 61, "stored_ms_p50": 1.083, "stored_ms_p99": 6.444, "stored_ms_max": 40.096, "longest_gap_ms": 0, "gap_from_ms": 0, "p50_ms_by_second_made": [4.73, 4.86, 4.72, 4.81, 4.91, 0.92, 1.24, 1.66, 1.83, 1.94, 1.06, 1.51, 1.68, 1.81, 1.91, 1.02, 1.61, 1.46, 1.43, 1.53, 0.91, 0.93, 1.67, 1.82, 1.97, 1.03, 1.58, 1.74, 1.81, 2.0, 1.27, 1.57, 1.79, 1.52, 1.56, 1.11, 1.05, 1.23, 1.68, 1.73, 0.92, 0.94, 0.92, 0.93, 0.95, 0.84, 0.85, 0.84, 0.96, 0.94, 0.85, 0.84, 0.84, 0.85, 1.04, 0.92, 0.93, 0.93, 0.95, 1.04, 0.91, 1.02, 1.17, 1.51, 1.16, 0.9, 0.86, 0.93, 0.97, 1.07, 0.91, 0.91, 0.93, 0.95, 1.03, 0.91, 0.91, 0.91, 0.93, 1.02, 1.03], "p99_ms_by_second_made": [9.21, 9.47, 6.64, 6.6, 6.81, 1.82, 2.39, 2.35, 2.86, 2.65, 1.94, 2.16, 2.38, 2.31, 2.55, 2.4, 2.62, 8.51, 2.24, 2.02, 1.73, 1.84, 2.48, 2.45, 2.53, 2.09, 2.28, 2.26, 2.55, 2.47, 2.37, 2.3, 2.97, 2.61, 1.95, 2.42, 2.44, 2.26, 2.72, 2.86, 1.49, 1.37, 1.66, 2.1, 1.43, 1.11, 1.18, 1.23, 1.92, 2.12, 1.42, 1.33, 1.49, 1.36, 1.46, 1.35, 1.5, 1.39, 1.45, 1.57, 1.41, 34.88, 2.22, 3.7, 2.22, 1.75, 1.3, 1.42, 1.58, 1.53, 1.31, 1.36, 1.63, 1.66, 1.59, 1.28, 1.38, 1.95, 1.44, 1.51, 1.28]}, "timeline_100ms": [186, 197, 205, 193, 194, 212, 206, 193, 200, 204, 182, 202, 201, 205, 202, 204, 196, 200, 202, 207, 184, 216, 200, 190, 209, 187, 201, 203, 205, 194, 195, 205, 196, 203, 208, 199, 186, 221, 195, 188, 216, 188, 193, 216, 201, 196, 198, 197, 198, 208, 209, 195, 206, 194, 206, 194, 194, 211, 194, 208, 195, 195, 208, 193, 206, 194, 195, 202, 208, 195, 207, 191, 208, 192, 207, 195, 196, 211, 195, 198, 197, 210, 199, 196, 197, 198, 203, 201, 199, 201, 206, 200, 193, 201, 203, 202, 188, 206, 204, 190, 208, 202, 201, 204, 190, 202, 204, 191, 202, 204, 196, 200, 203, 202, 204, 192, 207, 195, 206, 195, 195, 208, 192, 206, 194, 204, 195, 197, 210, 197, 200, 198, 201, 197, 210, 197, 197, 201, 202, 199, 202, 201, 201, 191, 201, 201, 204, 203, 188, 204, 205, 203, 202, 191, 201, 201, 204, 194, 202, 204, 191, 205, 204, 194, 203, 206, 191, 204, 197, 194, 210, 196, 205, 195, 206, 195, 196, 196, 208, 205, 190, 202, 200, 211, 196, 196, 200, 202, 199, 199, 202, 201, 202, 202, 200, 188, 201, 203, 203, 202, 194, 206, 193, 207, 192, 205, 194, 209, 194, 206, 195, 206, 193, 209, 193, 206, 195, 195, 207, 194, 200, 207, 195, 197, 200, 207, 195, 200, 207, 194, 200, 199, 199, 200, 198, 198, 201, 202, 207, 202, 200, 190, 203, 203, 202, 192, 200, 203, 203, 204, 191, 203, 204, 205, 190, 203, 205, 192, 204, 205, 191, 205, 193, 207, 192, 204, 194, 208, 194, 209, 195, 207, 197, 194, 207, 193, 199, 204, 197, 209, 197, 199, 199, 204, 197, 198, 197, 203, 201, 201, 200, 204, 187, 203, 202, 202, 203, 191, 201, 203, 208, 199, 193, 206, 202, 190, 203, 199, 203, 204, 190, 208, 204, 193, 204, 190, 209, 196, 208, 194, 195, 204, 195, 209, 195, 194, 211, 198, 190, 205, 198, 211, 200, 200, 201, 199, 199, 202, 201, 188, 199, 206, 201, 203, 202, 189, 203, 204, 204, 188, 204, 203, 199, 203, 204, 193, 206, 193, 206, 189, 207, 206, 192, 203, 195, 210, 193, 195, 205, 206, 192, 209, 194, 198, 208, 197, 197, 198, 207, 194, 201, 198, 200, 200, 195, 207, 200, 200, 199, 201, 193, 200, 200, 212, 196, 197, 202, 200, 201, 199, 200, 195, 208, 197, 195, 207, 195, 210, 194, 194, 207, 195, 198, 209, 196, 195, 207, 197, 207, 195, 196, 208, 194, 197, 206, 195, 197, 208, 195, 207, 195, 207, 188, 201, 201, 202, 196, 206, 204, 194, 206, 196, 204, 196, 205, 194, 194, 212, 195, 206, 191, 202, 202, 203, 203, 190, 203, 205, 190, 202, 202, 204, 201, 192, 203, 203, 192, 205, 202, 202, 202, 191, 201, 205, 203, 190, 205, 205, 190, 203, 203, 203, 191, 209, 196, 195, 197, 206, 202, 203, 201, 196, 204, 197, 196, 205, 193, 208, 194, 205, 203, 191, 202, 206, 202, 191, 203, 198, 202, 202, 202, 203, 190, 205, 203, 191, 203, 205, 202, 190, 202, 203, 202, 203, 197, 203, 191, 206, 192, 202, 202, 203, 202, 193, 205, 202, 192, 205, 204, 194, 198, 198, 209, 199, 197, 198, 199, 200, 198, 199, 210, 193, 204, 194, 206, 205, 193, 196, 206, 204, 195, 206, 193, 197, 210, 194, 194, 208, 193, 207, 197, 206, 193, 196, 207, 195, 207, 197, 195, 205, 195, 208, 193, 208, 195, 206, 195, 200, 195, 211, 199, 199, 196, 197, 199, 210, 187, 202, 210, 197, 196, 206, 193, 205, 194, 204, 204, 195, 205, 194, 206, 181, 216, 198, 199, 200, 200, 202, 193, 209, 204, 197, 194, 207, 199, 197, 203, 201, 190, 201, 196, 204, 200, 203, 200, 198, 194, 208, 198, 198, 211, 199, 201, 189, 202, 201, 199, 202, 205, 188, 204, 211, 195, 197, 197, 207, 196, 198, 207, 196, 207, 196, 202, 194, 203, 203, 190, 204, 202, 204, 193, 205, 194, 208, 195, 206, 195, 196, 207, 194, 207, 194, 206, 196, 199, 206, 196, 199, 195, 199, 209, 197, 201, 202, 201, 198, 197, 201, 199, 199, 207, 193, 205, 198, 196, 205, 193, 208, 193, 205, 194, 206, 204, 194, 196, 205, 205, 195, 204, 193, 205, 194, 205, 194, 206, 195, 208, 200, 194, 198, 209, 195, 200, 203, 198, 195, 207, 200, 195, 206, 197, 195, 209, 197, 199, 197, 197, 206, 198, 199, 206, 193, 205, 193, 207, 193, 205, 196, 204, 205, 192, 205, 193, 206, 195, 207, 193, 208, 192, 205, 193, 208, 194, 206, 195, 206, 194, 208, 192, 206, 195, 205, 195, 208, 196, 195, 206, 198, 195, 208, 195, 197, 208, 199, 199, 198, 198, 201, 196, 209, 13], "killed_ms": 61203, "recovery": {"steady_per_100ms": 199.6, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160009, "listener": {"listener_packets": 75264, "listener_received": 37632, "listener_deliveries": 37632, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "epochs-layout", "round": 2, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 18.5, "steady_cpu_ms_per_s": 150.0, "senders_steady_cpu_ms_per_s": 180.0, "recovery_cpu_ms_first_10s": 1310.0, "senders_cpu_ms_first_10s": 1690.0, "generator": {"devices": 10000, "made": 160006, "stored": 160006, "sends": 160055, "again": 49, "stored_ms_p50": 1.013, "stored_ms_p99": 6.311, "stored_ms_max": 39.561, "longest_gap_ms": 0, "gap_from_ms": 0, "p50_ms_by_second_made": [4.72, 4.62, 4.71, 4.78, 4.9, 0.91, 1.15, 1.67, 1.81, 1.91, 0.99, 1.46, 1.37, 1.48, 1.52, 0.89, 0.91, 1.6, 1.86, 1.99, 0.93, 0.92, 1.28, 1.42, 1.53, 1.01, 1.49, 1.69, 1.77, 1.56, 0.92, 0.96, 1.32, 1.52, 2.03, 1.0, 1.38, 1.44, 1.68, 1.4, 0.85, 0.85, 0.85, 0.87, 1.05, 0.84, 0.83, 0.83, 0.84, 0.93, 0.93, 0.91, 0.92, 0.95, 1.03, 0.91, 0.91, 0.91, 0.94, 1.03, 0.92, 0.86, 0.91, 1.03, 1.14, 0.91, 0.9, 0.9, 0.92, 1.01, 0.9, 0.88, 0.89, 0.81, 0.87, 0.81, 0.84, 0.86, 0.92, 1.0, 0.93], "p99_ms_by_second_made": [6.45, 6.71, 6.45, 6.7, 6.93, 1.96, 2.04, 2.19, 2.46, 2.43, 2.07, 2.21, 2.46, 3.05, 1.99, 1.62, 1.6, 2.13, 2.38, 2.33, 2.39, 1.8, 1.76, 2.11, 1.96, 2.04, 2.13, 2.29, 3.8, 1.94, 1.84, 1.68, 2.52, 2.28, 2.62, 2.27, 2.46, 2.6, 2.89, 2.13, 1.33, 1.29, 1.39, 1.36, 2.61, 1.33, 1.26, 1.48, 1.31, 1.33, 1.28, 1.31, 1.36, 1.39, 1.46, 1.3, 1.57, 1.26, 1.5, 1.88, 1.82, 38.78, 1.46, 1.42, 1.55, 1.44, 1.31, 1.39, 1.54, 1.78, 1.32, 1.41, 2.63, 1.17, 1.3, 1.14, 1.51, 1.27, 1.6, 1.42, 1.08]}, "timeline_100ms": [191, 184, 212, 195, 207, 197, 192, 196, 215, 201, 195, 200, 202, 202, 200, 196, 203, 184, 202, 215, 205, 193, 190, 205, 203, 204, 187, 213, 187, 213, 187, 203, 192, 215, 203, 188, 208, 200, 204, 187, 201, 205, 209, 183, 202, 209, 187, 203, 212, 198, 210, 194, 209, 195, 194, 207, 193, 207, 193, 208, 196, 195, 208, 194, 206, 194, 206, 191, 204, 205, 193, 206, 194, 208, 191, 210, 192, 208, 194, 195, 203, 198, 200, 211, 195, 199, 197, 200, 199, 201, 203, 202, 190, 203, 202, 204, 202, 189, 203, 206, 195, 202, 204, 203, 201, 191, 200, 203, 203, 203, 189, 205, 207, 188, 202, 207, 201, 191, 203, 197, 206, 198, 200, 197, 208, 196, 194, 209, 192, 207, 197, 201, 193, 203, 208, 199, 197, 197, 197, 212, 188, 210, 188, 202, 211, 190, 199, 201, 200, 202, 209, 193, 208, 193, 206, 194, 205, 194, 207, 194, 194, 206, 194, 207, 194, 207, 193, 207, 193, 207, 198, 193, 206, 195, 204, 196, 207, 193, 208, 195, 200, 196, 201, 211, 198, 197, 199, 198, 198, 201, 203, 198, 203, 201, 200, 203, 200, 188, 202, 204, 194, 208, 200, 207, 192, 196, 206, 194, 205, 205, 192, 205, 197, 208, 193, 196, 206, 194, 205, 195, 206, 198, 197, 209, 195, 196, 206, 196, 196, 209, 196, 200, 203, 202, 197, 198, 199, 199, 198, 199, 200, 199, 203, 202, 200, 199, 201, 204, 200, 202, 197, 203, 194, 204, 194, 199, 203, 203, 202, 190, 205, 203, 195, 205, 192, 204, 203, 193, 206, 205, 193, 206, 199, 196, 199, 203, 195, 206, 192, 208, 197, 199, 202, 200, 202, 189, 205, 200, 203, 202, 203, 200, 191, 203, 199, 201, 202, 203, 202, 189, 207, 195, 196, 211, 194, 206, 195, 207, 194, 206, 194, 195, 211, 195, 206, 194, 194, 209, 195, 207, 195, 195, 201, 203, 196, 209, 195, 200, 196, 210, 199, 198, 203, 198, 198, 199, 199, 201, 200, 193, 200, 199, 207, 207, 188, 206, 192, 207, 194, 209, 196, 203, 203, 192, 200, 198, 203, 199, 202, 201, 203, 200, 193, 206, 199, 204, 192, 202, 205, 191, 205, 202, 200, 196, 199, 208, 197, 193, 207, 194, 205, 195, 200, 200, 209, 197, 192, 208, 202, 198, 198, 200, 200, 201, 199, 200, 196, 201, 202, 198, 206, 204, 194, 207, 191, 204, 204, 191, 204, 204, 190, 204, 206, 194, 204, 202, 192, 204, 203, 191, 204, 203, 195, 206, 203, 192, 203, 204, 192, 203, 203, 203, 194, 207, 190, 203, 204, 194, 209, 195, 197, 199, 200, 199, 198, 204, 204, 194, 207, 195, 203, 201, 194, 204, 203, 202, 191, 203, 205, 191, 202, 202, 204, 193, 202, 203, 202, 201, 201, 190, 201, 201, 205, 194, 202, 201, 203, 201, 202, 190, 203, 202, 194, 206, 201, 202, 191, 203, 203, 202, 202, 194, 202, 195, 203, 205, 196, 196, 209, 198, 193, 205, 196, 199, 205, 194, 206, 194, 205, 206, 193, 205, 196, 196, 207, 192, 207, 203, 195, 204, 193, 206, 198, 196, 205, 195, 205, 194, 207, 193, 206, 196, 197, 209, 194, 207, 195, 194, 208, 196, 197, 209, 196, 205, 196, 196, 208, 201, 198, 199, 194, 204, 196, 208, 193, 204, 193, 206, 205, 194, 206, 193, 197, 209, 193, 204, 193, 205, 205, 193, 206, 192, 208, 196, 205, 193, 204, 194, 205, 206, 193, 205, 198, 198, 205, 194, 195, 210, 195, 196, 199, 211, 189, 202, 207, 198, 198, 197, 199, 210, 194, 205, 197, 196, 203, 198, 202, 204, 202, 189, 202, 201, 200, 198, 208, 195, 195, 207, 194, 206, 195, 206, 198, 197, 206, 194, 207, 197, 196, 206, 196, 207, 197, 198, 196, 196, 209, 197, 197, 198, 208, 198, 202, 202, 200, 199, 199, 200, 199, 201, 196, 196, 211, 189, 209, 194, 198, 201, 199, 198, 211, 198, 195, 208, 193, 204, 192, 205, 204, 192, 205, 205, 196, 196, 204, 193, 204, 205, 194, 205, 193, 206, 197, 197, 205, 195, 206, 196, 205, 195, 207, 195, 201, 199, 195, 210, 197, 197, 197, 199, 207, 205, 195, 196, 204, 204, 194, 205, 193, 204, 193, 204, 197, 206, 204, 192, 206, 192, 203, 204, 192, 205, 195, 199, 205, 205, 201, 191, 202, 199, 202, 201, 204, 193, 201, 202, 201, 202, 201, 201, 190, 203, 207, 194, 203, 204, 191, 205, 204, 193, 201, 201, 203, 193, 201, 201, 202, 202, 201, 201, 200, 201, 191, 204, 199, 205, 197, 203, 201, 201, 188, 201, 203, 203, 193, 205, 204, 194, 204, 204, 195, 205, 199, 194, 204, 194, 206, 196, 206, 194, 207, 196, 198, 197, 207, 196, 197, 198, 210, 197, 12], "killed_ms": 61202, "recovery": {"steady_per_100ms": 200.0, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160006, "listener": {"listener_packets": 75230, "listener_received": 37615, "listener_deliveries": 37615, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "epochs-no-accept", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 24.9, "steady_cpu_ms_per_s": 160.0, "senders_steady_cpu_ms_per_s": 170.0, "recovery_cpu_ms_first_10s": 1310.0, "senders_cpu_ms_first_10s": 1600.0, "generator": {"devices": 10000, "made": 119999, "stored": 119999, "sends": 120058, "again": 59, "stored_ms_p50": 0.937, "stored_ms_p99": 4.708, "stored_ms_max": 1008.412, "longest_gap_ms": 0, "gap_from_ms": 0, "p50_ms_by_second_made": [4.05, 4.19, 4.39, 4.5, 4.61, 0.89, 0.93, 0.96, 1.03, 1.07, 0.94, 0.93, 0.86, 0.86, 0.9, 0.85, 0.89, 0.92, 0.99, 0.94, 0.93, 0.85, 0.85, 0.87, 1.01, 0.92, 0.91, 1.08, 0.86, 0.91, 0.86, 0.85, 0.9, 0.98, 1.05, 0.92, 0.91, 0.91, 0.98, 1.04, 0.93, 0.91, 0.91, 0.96, 0.91, 0.85, 0.87, 0.83, 0.91, 1.02, 0.92, 0.92, 1.03, 1.13, 1.22, 0.94, 0.9, 0.9, 0.93, 1.03, 0.0], "p99_ms_by_second_made": [4.53, 4.68, 5.06, 6.2, 6.22, 1.39, 1.31, 1.4, 1.82, 1.46, 1.42, 1.95, 1.26, 1.3, 1.46, 1.2, 1.34, 1.44, 1.83, 1.56, 2.24, 1.3, 2.07, 1.3, 1.48, 1.41, 1.41, 2.65, 1.28, 1.32, 1.21, 1.24, 1.31, 1.42, 1.46, 1.31, 1.31, 1.69, 1.68, 1.41, 1.33, 1.3, 1.41, 2.73, 1.29, 1.26, 2.87, 1.3, 1.36, 1.43, 1.38, 40.07, 1.59, 1.65, 1.57, 1.44, 1.31, 1.4, 1.38, 2.77, 0.0]}, "timeline_100ms": [190, 200, 200, 202, 184, 204, 204, 203, 203, 201, 201, 200, 200, 192, 206, 189, 206, 206, 185, 205, 206, 187, 207, 208, 199, 192, 196, 210, 190, 210, 192, 212, 192, 197, 203, 207, 191, 211, 193, 193, 213, 193, 193, 199, 201, 214, 197, 201, 196, 202, 205, 204, 203, 194, 206, 192, 204, 205, 191, 203, 204, 194, 206, 196, 194, 207, 193, 207, 193, 205, 194, 209, 195, 207, 196, 197, 198, 210, 195, 195, 197, 203, 210, 197, 197, 196, 210, 195, 202, 202, 198, 196, 198, 201, 200, 200, 201, 199, 199, 198, 206, 194, 206, 197, 197, 208, 196, 205, 193, 204, 195, 206, 191, 211, 191, 207, 204, 192, 201, 203, 202, 203, 190, 203, 203, 192, 206, 203, 193, 203, 202, 203, 190, 204, 204, 200, 197, 204, 193, 203, 205, 191, 204, 206, 195, 206, 193, 195, 205, 205, 192, 202, 202, 203, 192, 202, 203, 204, 201, 191, 204, 202, 201, 193, 207, 195, 205, 194, 204, 204, 193, 205, 193, 208, 195, 207, 194, 195, 209, 194, 196, 205, 206, 196, 195, 207, 195, 202, 194, 209, 193, 204, 205, 196, 195, 205, 196, 198, 207, 194, 209, 197, 199, 195, 207, 194, 205, 190, 207, 203, 192, 202, 202, 202, 203, 194, 203, 204, 191, 203, 202, 203, 203, 190, 204, 205, 192, 197, 203, 203, 202, 202, 190, 203, 204, 194, 204, 205, 196, 196, 208, 198, 196, 197, 210, 198, 198, 196, 198, 207, 199, 193, 206, 205, 193, 208, 195, 195, 205, 195, 208, 193, 208, 192, 207, 195, 195, 205, 204, 194, 205, 194, 205, 202, 194, 203, 200, 205, 193, 203, 203, 191, 204, 205, 193, 204, 202, 193, 204, 203, 193, 205, 204, 192, 206, 195, 204, 194, 205, 193, 203, 203, 201, 202, 192, 204, 203, 192, 202, 203, 203, 203, 190, 202, 203, 205, 190, 203, 202, 203, 192, 202, 202, 202, 195, 208, 194, 205, 194, 207, 196, 194, 207, 195, 208, 190, 208, 197, 196, 209, 198, 199, 199, 197, 199, 203, 199, 197, 209, 198, 195, 205, 194, 205, 194, 207, 194, 206, 194, 205, 194, 206, 193, 204, 207, 195, 205, 193, 205, 193, 205, 194, 204, 206, 194, 196, 206, 195, 207, 191, 209, 195, 207, 193, 197, 200, 206, 196, 203, 200, 198, 196, 208, 197, 199, 198, 198, 201, 210, 198, 194, 207, 193, 206, 195, 206, 193, 206, 193, 207, 193, 205, 193, 206, 194, 207, 193, 206, 206, 193, 205, 194, 204, 194, 207, 197, 194, 207, 196, 206, 193, 205, 195, 209, 198, 193, 201, 197, 205, 204, 195, 205, 193, 205, 194, 207, 192, 205, 205, 195, 203, 193, 202, 203, 205, 193, 204, 202, 191, 204, 198, 202, 205, 191, 203, 203, 203, 191, 202, 202, 201, 202, 202, 202, 190, 205, 201, 203, 192, 202, 203, 202, 192, 206, 192, 208, 193, 210, 198, 196, 196, 209, 197, 196, 197, 200, 208, 199, 198, 198, 205, 194, 206, 193, 206, 197, 205, 193, 208, 194, 206, 175, 215, 198, 200, 200, 197, 199, 198, 210, 198, 208, 198, 198, 199, 200, 197, 198, 212, 200, 198, 197, 200, 199, 201, 203, 200, 200, 202, 189, 200, 201, 202, 202, 202, 193, 203, 203, 204, 192, 200, 210, 200, 199, 201, 201, 200, 197, 198, 200, 198, 196, 206, 205, 193, 196, 204, 205, 193, 207, 192, 206, 192, 206, 195, 207, 193, 207, 196, 206, 194, 205, 195, 205, 198, 195, 206, 195, 208, 197, 200, 197, 195, 206, 198, 197, 206, 193, 205, 195, 12], "killed_ms": 51103, "recovery": {"steady_per_100ms": 200.1, "silent_100ms_steps": 0, "caught_up_ms": 900}, "applied": 119999, "listener": {"listener_packets": 35430, "listener_received": 17715, "listener_deliveries": 17715, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "scans all", "seconds": 60, "kill_at": 50, "memo": true}
diff --git a/research/experiments/019-idle-links/2026-09-29-epochs-idle-linux-aarch64.jsonl b/research/experiments/019-idle-links/2026-09-29-epochs-idle-linux-aarch64.jsonl
new file mode 100644
index 0000000..e3dda8b
--- /dev/null
+++ b/research/experiments/019-idle-links/2026-09-29-epochs-idle-linux-aarch64.jsonl
@@ -0,0 +1 @@
+{"senders": 10000, "idle_ms": 2000, "start_empty_seconds": 0.005, "empty": {"rss_kb": 7904, "hwm_kb": 7904, "anonymous_kb": 1920}, "start_allowed_seconds": 0.01, "allowed": {"rss_kb": 8832, "hwm_kb": 8832, "anonymous_kb": 2864}, "send": {"devices": 10000, "stored": 10000, "failed": 0, "resent": 0, "packets": 10000, "seconds": 3.728, "per_second": 2682, "stored_ms_p50": 93.07, "stored_ms_p99": 117.041, "stored_ms_max": 212.59}, "node_cpu_ms_per_send": 0.307, "sent": {"rss_kb": 30512, "hwm_kb": 30512, "anonymous_kb": 21920}, "after_idle": {"rss_kb": 29808, "hwm_kb": 29808, "anonymous_kb": 21216}, "wake": {"devices": 1000, "stored": 1000, "failed": 0, "resent": 0, "packets": 1000, "seconds": 0.524, "per_second": 1908, "stored_ms_p50": 0.152, "stored_ms_p99": 0.889, "stored_ms_max": 1.257}, "node_cpu_ms_per_wake": 0.15, "listener": {"listener_packets": 23100, "listener_received": 11000, "listener_deliveries": 11000, "listener_woken": 11000, "listener_remembered": 1000, "listener_swept": 10000, "listener_active": 1000, "listener_keyed": 11000, "listener_secrets": 11105, "listener_epochs": 0}, "store_bytes": 9512196, "allowed_bytes_per_sender": 96.7, "after_idle_bytes_per_sender": 1975.9, "active_bytes_per_sender": 72.1}
diff --git a/research/experiments/019-idle-links/2026-09-29-epochs-restart-linux-aarch64.jsonl b/research/experiments/019-idle-links/2026-09-29-epochs-restart-linux-aarch64.jsonl
new file mode 100644
index 0000000..209f35a
--- /dev/null
+++ b/research/experiments/019-idle-links/2026-09-29-epochs-restart-linux-aarch64.jsonl
@@ -0,0 +1,10 @@
+{"commit": "a70cf07", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 18.6, "steady_cpu_ms_per_s": 90.0, "senders_steady_cpu_ms_per_s": 60.0, "recovery_cpu_ms_first_10s": 1330.0, "senders_cpu_ms_first_10s": 910.0, "generator": {"devices": 10000, "made": 160006, "stored": 160006, "sends": 160050, "again": 44, "stored_ms_p50": 0.397, "stored_ms_p99": 3.864, "stored_ms_max": 35.437, "longest_gap_ms": 0, "gap_from_ms": 0, "keyed": 0, "secrets": 0, "epochs": 0, "p50_ms_by_second_made": [3.57, 3.69, 3.74, 3.8, 3.82, 0.3, 0.32, 0.37, 0.47, 0.5, 0.37, 0.32, 0.32, 0.34, 0.37, 0.32, 0.31, 0.32, 0.35, 0.41, 0.33, 0.39, 0.43, 0.44, 0.4, 0.29, 0.31, 0.33, 0.34, 0.45, 0.34, 0.31, 0.33, 0.39, 0.38, 0.36, 0.4, 0.42, 0.44, 0.47, 0.31, 0.31, 0.33, 0.35, 0.37, 0.37, 0.4, 0.42, 0.45, 0.48, 0.38, 0.41, 0.42, 0.45, 0.49, 0.38, 0.34, 0.33, 0.36, 0.38, 0.3, 0.61, 0.66, 0.7, 0.71, 0.6, 0.44, 0.45, 0.48, 0.51, 0.39, 0.4, 0.32, 0.35, 0.36, 0.31, 0.36, 0.42, 0.34, 0.39, 0.57], "p99_ms_by_second_made": [7.47, 4.95, 4.08, 4.56, 4.56, 0.67, 0.58, 2.22, 1.42, 0.85, 1.03, 0.54, 0.56, 0.6, 0.61, 0.88, 0.61, 1.26, 0.57, 0.88, 0.74, 0.67, 0.71, 0.9, 2.29, 0.58, 0.76, 0.81, 0.58, 0.76, 0.84, 0.6, 0.61, 3.88, 0.65, 1.23, 0.69, 0.71, 0.83, 0.91, 2.19, 0.59, 0.69, 0.63, 0.7, 0.73, 0.69, 0.73, 0.92, 0.69, 0.69, 0.89, 0.67, 0.78, 0.74, 0.75, 1.44, 0.63, 0.8, 0.64, 0.61, 35.0, 0.88, 1.26, 0.94, 0.91, 0.77, 0.91, 0.76, 0.79, 0.67, 5.94, 1.41, 0.69, 0.66, 0.75, 0.76, 2.0, 0.59, 1.03, 0.73]}, "timeline_100ms": [182, 208, 190, 207, 192, 209, 192, 209, 191, 199, 212, 192, 210, 192, 194, 211, 192, 209, 193, 192, 211, 194, 212, 193, 196, 194, 214, 194, 193, 212, 195, 194, 211, 195, 196, 197, 201, 214, 197, 195, 196, 212, 199, 198, 198, 196, 196, 201, 209, 195, 211, 205, 194, 196, 206, 196, 206, 194, 206, 196, 196, 205, 196, 207, 197, 195, 207, 196, 203, 200, 197, 196, 209, 192, 209, 196, 199, 197, 199, 201, 201, 201, 200, 198, 198, 202, 202, 201, 201, 202, 202, 190, 203, 204, 203, 191, 203, 204, 193, 205, 200, 199, 198, 200, 201, 204, 195, 200, 206, 195, 206, 196, 194, 207, 196, 206, 196, 197, 206, 195, 207, 195, 195, 207, 198, 197, 206, 195, 207, 196, 196, 207, 196, 197, 208, 197, 197, 196, 208, 197, 197, 208, 197, 198, 199, 198, 207, 197, 198, 199, 207, 194, 206, 197, 199, 198, 205, 195, 205, 194, 206, 196, 205, 195, 196, 206, 196, 206, 195, 207, 195, 195, 206, 197, 207, 192, 208, 195, 196, 207, 197, 195, 209, 196, 197, 201, 204, 196, 197, 209, 197, 197, 197, 209, 198, 191, 210, 196, 200, 198, 207, 194, 205, 195, 205, 196, 201, 198, 198, 200, 198, 200, 210, 199, 200, 199, 199, 197, 201, 199, 200, 200, 199, 201, 201, 201, 202, 199, 200, 201, 200, 201, 201, 190, 201, 202, 201, 203, 200, 189, 211, 196, 202, 200, 198, 197, 208, 196, 198, 208, 195, 205, 194, 206, 195, 196, 204, 200, 201, 195, 206, 196, 205, 195, 206, 196, 206, 194, 196, 198, 210, 191, 206, 196, 206, 197, 196, 206, 196, 207, 197, 196, 197, 208, 197, 196, 208, 197, 197, 207, 197, 198, 197, 207, 201, 191, 202, 201, 203, 202, 199, 199, 198, 199, 203, 198, 205, 195, 205, 195, 195, 208, 194, 206, 194, 208, 196, 195, 206, 196, 207, 196, 197, 207, 196, 198, 206, 196, 196, 207, 196, 196, 208, 197, 200, 199, 193, 206, 200, 200, 198, 198, 209, 198, 197, 199, 199, 205, 202, 198, 200, 194, 207, 194, 205, 199, 199, 198, 200, 198, 205, 204, 199, 200, 199, 200, 199, 198, 199, 200, 199, 201, 200, 201, 199, 202, 201, 198, 201, 200, 200, 194, 201, 200, 202, 202, 200, 201, 200, 201, 201, 201, 201, 192, 202, 204, 201, 191, 202, 204, 201, 203, 198, 194, 205, 196, 205, 194, 205, 195, 206, 195, 206, 195, 205, 197, 195, 205, 196, 206, 195, 207, 197, 196, 207, 197, 194, 207, 197, 202, 197, 197, 207, 197, 197, 200, 208, 197, 197, 197, 209, 198, 197, 198, 200, 207, 199, 197, 197, 197, 205, 197, 200, 199, 209, 198, 200, 198, 200, 199, 197, 199, 209, 199, 200, 196, 205, 200, 200, 200, 200, 190, 200, 200, 210, 191, 201, 200, 200, 199, 200, 202, 201, 202, 201, 203, 190, 201, 207, 201, 201, 191, 200, 203, 202, 204, 190, 202, 202, 202, 199, 200, 197, 199, 209, 189, 211, 199, 198, 199, 199, 199, 200, 201, 199, 200, 201, 198, 203, 199, 199, 201, 200, 199, 201, 201, 201, 200, 200, 200, 201, 202, 200, 191, 199, 202, 202, 201, 203, 201, 200, 191, 203, 204, 202, 192, 202, 201, 203, 203, 198, 200, 197, 198, 199, 199, 207, 201, 198, 200, 196, 198, 199, 209, 195, 206, 197, 196, 207, 195, 196, 207, 197, 197, 206, 197, 196, 208, 197, 197, 207, 198, 196, 197, 197, 207, 204, 196, 198, 198, 208, 198, 199, 198, 196, 210, 198, 199, 198, 197, 206, 197, 205, 195, 206, 195, 195, 206, 195, 206, 195, 163, 238, 195, 207, 197, 207, 195, 197, 207, 196, 197, 207, 197, 196, 197, 208, 197, 198, 207, 198, 198, 198, 198, 198, 199, 211, 196, 200, 199, 197, 198, 210, 198, 199, 199, 198, 198, 199, 208, 197, 194, 207, 195, 206, 195, 208, 194, 195, 206, 195, 207, 199, 201, 200, 200, 201, 200, 201, 201, 194, 197, 200, 202, 200, 202, 203, 201, 191, 202, 202, 202, 202, 192, 201, 203, 203, 201, 192, 203, 203, 202, 192, 205, 203, 192, 203, 202, 204, 191, 208, 202, 199, 200, 199, 200, 199, 200, 199, 199, 201, 200, 200, 195, 209, 197, 196, 206, 194, 198, 200, 204, 196, 206, 195, 207, 195, 205, 195, 206, 196, 197, 197, 208, 197, 196, 210, 196, 197, 198, 208, 197, 199, 197, 197, 210, 197, 196, 198, 208, 194, 205, 195, 206, 194, 206, 197, 203, 195, 205, 195, 205, 195, 195, 201, 200, 210, 191, 209, 195, 200, 205, 192, 200, 199, 200, 199, 209, 197, 196, 207, 196, 197, 208, 197, 198, 196, 207, 198, 196, 208, 196, 199, 198, 208, 197, 197, 199, 200, 202, 11], "killed_ms": 61202, "recovery": {"steady_per_100ms": 199.3, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160006, "listener": {"listener_packets": 75302, "listener_received": 37651, "listener_deliveries": 37651, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "own timers", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "6152bd8", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 26.9, "steady_cpu_ms_per_s": 110.0, "senders_steady_cpu_ms_per_s": 70.0, "recovery_cpu_ms_first_10s": 1320.0, "senders_cpu_ms_first_10s": 1010.0, "generator": {"devices": 10000, "made": 160000, "stored": 160000, "sends": 198470, "again": 68, "stored_ms_p50": 0.411, "stored_ms_p99": 4.159, "stored_ms_max": 84.916, "longest_gap_ms": 0, "gap_from_ms": 0, "keyed": 30000, "secrets": 0, "epochs": 0, "p50_ms_by_second_made": [3.78, 3.86, 3.91, 3.94, 3.98, 0.33, 0.32, 0.34, 0.35, 0.38, 0.37, 0.4, 0.42, 0.44, 0.46, 0.37, 0.39, 0.42, 0.44, 0.47, 0.37, 0.38, 0.32, 0.34, 0.37, 0.28, 0.35, 0.45, 0.45, 0.47, 0.37, 0.39, 0.42, 0.44, 0.46, 0.37, 0.4, 0.4, 0.34, 0.36, 0.3, 0.31, 0.37, 0.44, 0.48, 0.37, 0.4, 0.42, 0.44, 0.47, 0.37, 0.4, 0.42, 0.44, 0.36, 0.28, 0.31, 0.36, 0.44, 0.47, 0.36, 0.69, 0.74, 0.74, 0.77, 0.45, 0.34, 0.35, 0.36, 0.45, 0.39, 0.4, 0.42, 0.43, 0.46, 0.37, 0.4, 0.42, 0.44, 0.46, 0.0], "p99_ms_by_second_made": [4.18, 4.31, 5.4, 4.37, 5.71, 2.64, 0.67, 0.69, 0.68, 0.75, 0.92, 0.66, 0.82, 0.73, 0.96, 0.63, 0.74, 0.76, 0.84, 0.85, 0.71, 1.07, 0.64, 0.64, 0.69, 0.55, 0.74, 1.04, 0.78, 0.76, 0.79, 0.67, 0.75, 0.8, 0.79, 0.63, 0.67, 1.15, 0.67, 0.6, 6.25, 0.76, 0.78, 0.77, 0.89, 0.65, 0.71, 0.75, 0.88, 0.94, 0.76, 0.89, 0.81, 1.01, 1.05, 0.58, 0.59, 0.98, 0.83, 1.81, 0.79, 35.81, 1.01, 1.05, 1.36, 0.79, 0.72, 0.67, 0.67, 1.44, 0.73, 0.68, 0.75, 0.84, 0.77, 0.64, 0.82, 0.9, 0.8, 0.83, 0.0]}, "timeline_100ms": [190, 202, 195, 189, 203, 203, 203, 201, 203, 201, 185, 203, 202, 202, 204, 204, 186, 204, 205, 204, 200, 189, 205, 207, 188, 205, 207, 190, 197, 208, 204, 188, 204, 207, 187, 207, 207, 189, 206, 208, 188, 207, 187, 207, 204, 196, 208, 191, 200, 202, 211, 205, 194, 205, 200, 196, 206, 196, 198, 206, 195, 206, 194, 196, 207, 197, 197, 207, 197, 195, 208, 195, 207, 197, 197, 197, 208, 198, 197, 197, 207, 196, 196, 208, 196, 197, 198, 210, 199, 197, 198, 197, 209, 197, 198, 198, 197, 200, 210, 198, 198, 197, 198, 208, 198, 198, 198, 200, 196, 210, 199, 198, 199, 199, 200, 201, 199, 200, 200, 198, 200, 198, 201, 199, 201, 199, 201, 200, 209, 200, 200, 191, 200, 200, 201, 200, 200, 202, 203, 200, 201, 200, 201, 201, 190, 202, 203, 202, 194, 201, 199, 208, 197, 197, 197, 210, 198, 199, 199, 198, 199, 199, 199, 209, 198, 199, 200, 199, 202, 200, 199, 199, 199, 200, 200, 200, 201, 201, 201, 201, 200, 199, 200, 200, 201, 191, 201, 202, 203, 195, 204, 202, 201, 201, 191, 202, 202, 203, 201, 192, 209, 197, 197, 197, 209, 199, 199, 200, 201, 198, 199, 200, 195, 208, 201, 193, 207, 198, 200, 195, 206, 195, 206, 196, 196, 206, 196, 198, 208, 197, 197, 207, 196, 197, 206, 197, 196, 208, 198, 197, 196, 208, 196, 198, 198, 208, 199, 198, 199, 196, 206, 194, 205, 204, 194, 205, 194, 207, 195, 204, 195, 205, 194, 206, 195, 200, 199, 200, 203, 199, 200, 199, 200, 201, 201, 200, 197, 204, 203, 194, 200, 200, 200, 201, 201, 201, 201, 193, 202, 202, 202, 200, 202, 192, 200, 202, 202, 203, 193, 201, 208, 198, 197, 199, 201, 201, 198, 197, 200, 208, 198, 198, 199, 198, 199, 199, 204, 197, 201, 199, 199, 209, 194, 197, 201, 200, 201, 200, 203, 200, 200, 200, 199, 201, 201, 201, 201, 195, 202, 201, 200, 200, 201, 201, 201, 191, 202, 202, 203, 201, 198, 197, 198, 209, 198, 198, 198, 199, 199, 198, 210, 198, 199, 198, 199, 201, 199, 201, 200, 199, 201, 200, 195, 203, 202, 199, 205, 199, 197, 196, 207, 196, 206, 198, 196, 196, 209, 197, 198, 197, 208, 196, 197, 208, 198, 198, 197, 198, 209, 198, 194, 205, 194, 205, 203, 196, 206, 195, 198, 203, 197, 196, 206, 195, 207, 195, 207, 199, 197, 195, 206, 195, 207, 196, 197, 200, 200, 202, 202, 200, 199, 200, 200, 201, 201, 201, 201, 191, 202, 200, 201, 202, 201, 201, 202, 198, 193, 204, 205, 201, 198, 197, 197, 198, 209, 198, 198, 198, 199, 202, 206, 198, 198, 199, 199, 199, 200, 200, 202, 199, 200, 199, 200, 201, 200, 199, 202, 201, 202, 201, 200, 199, 200, 201, 200, 201, 196, 196, 202, 203, 201, 201, 201, 192, 201, 202, 203, 192, 205, 202, 197, 197, 208, 198, 198, 197, 199, 200, 199, 209, 199, 199, 199, 199, 200, 201, 200, 200, 199, 198, 199, 199, 200, 201, 200, 200, 202, 201, 201, 201, 199, 196, 205, 200, 200, 199, 197, 198, 208, 200, 196, 197, 207, 197, 198, 197, 209, 191, 209, 197, 194, 204, 205, 194, 204, 194, 206, 195, 206, 194, 206, 194, 206, 194, 206, 195, 206, 197, 197, 207, 195, 196, 206, 198, 197, 207, 199, 198, 202, 196, 197, 200, 200, 201, 200, 201, 201, 202, 203, 191, 200, 202, 201, 200, 201, 201, 202, 193, 207, 201, 197, 198, 197, 208, 197, 199, 199, 199, 200, 197, 209, 142, 254, 203, 191, 203, 206, 191, 205, 203, 198, 196, 204, 203, 192, 203, 205, 193, 205, 193, 203, 204, 193, 204, 205, 192, 205, 205, 193, 205, 192, 205, 204, 193, 206, 197, 203, 196, 197, 208, 192, 204, 202, 196, 205, 193, 205, 194, 207, 193, 205, 202, 195, 207, 196, 197, 207, 196, 199, 206, 195, 196, 208, 197, 196, 208, 197, 198, 199, 197, 208, 196, 197, 208, 197, 197, 197, 209, 200, 197, 197, 197, 208, 192, 201, 199, 208, 194, 204, 202, 198, 198, 199, 197, 199, 210, 199, 200, 191, 210, 199, 198, 200, 198, 199, 200, 198, 202, 200, 200, 198, 199, 201, 200, 201, 201, 200, 201, 203, 200, 201, 200, 200, 200, 201, 200, 200, 191, 203, 201, 199, 200, 202, 200, 201, 202, 201, 193, 204, 203, 197, 197, 198, 208, 198, 199, 197, 200, 201, 199, 197, 203, 206, 199, 199, 200, 199, 201, 200, 202, 199, 200, 202, 199, 190, 201, 200, 201, 202, 205, 199, 200, 200, 199, 202, 201, 200, 191, 203, 202, 199, 200, 202, 202, 201, 191, 201, 202, 206, 190, 11], "killed_ms": 61203, "recovery": {"steady_per_100ms": 199.0, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160000, "listener": {"listener_packets": 87107, "listener_received": 51767, "listener_deliveries": 37681, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "own timers", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "epochs", "round": 1, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 26.7, "steady_cpu_ms_per_s": 120.0, "senders_steady_cpu_ms_per_s": 70.0, "recovery_cpu_ms_first_10s": 1220.0, "senders_cpu_ms_first_10s": 800.0, "generator": {"devices": 10000, "made": 160009, "stored": 160009, "sends": 160075, "again": 66, "stored_ms_p50": 0.669, "stored_ms_p99": 5.05, "stored_ms_max": 38.559, "longest_gap_ms": 0, "gap_from_ms": 0, "keyed": 50000, "secrets": 0, "epochs": 10000, "p50_ms_by_second_made": [4.73, 4.75, 4.69, 4.65, 4.65, 0.73, 0.93, 1.37, 1.37, 1.47, 1.24, 1.27, 1.33, 1.37, 1.37, 1.23, 1.24, 1.33, 0.87, 0.88, 0.7, 0.79, 0.84, 1.38, 1.41, 1.15, 1.24, 1.28, 1.34, 1.37, 0.94, 0.8, 0.84, 0.9, 1.08, 0.88, 1.11, 1.09, 1.09, 1.15, 0.4, 0.41, 0.35, 0.38, 0.4, 0.29, 0.35, 0.43, 0.45, 0.47, 0.33, 0.31, 0.32, 0.35, 0.37, 0.34, 0.39, 0.43, 0.44, 0.47, 0.37, 0.68, 0.73, 0.76, 0.79, 0.69, 0.34, 0.34, 0.35, 0.38, 0.29, 0.39, 0.42, 0.44, 0.46, 0.37, 0.39, 0.42, 0.43, 0.46, 0.36], "p99_ms_by_second_made": [5.27, 7.86, 5.65, 5.52, 5.71, 1.38, 1.58, 1.75, 1.88, 1.98, 1.62, 1.62, 1.65, 1.73, 1.81, 1.7, 1.62, 2.22, 1.29, 1.28, 1.19, 1.19, 1.49, 1.73, 1.91, 1.61, 1.56, 1.7, 1.85, 1.84, 1.87, 1.25, 1.37, 2.02, 3.34, 2.14, 2.16, 2.4, 2.72, 2.27, 0.76, 1.25, 0.66, 0.72, 0.72, 0.57, 0.62, 0.93, 0.8, 1.01, 1.06, 0.59, 0.66, 0.78, 0.64, 0.71, 0.68, 0.92, 0.78, 0.79, 0.64, 37.96, 1.14, 1.06, 1.09, 2.36, 0.9, 0.67, 0.78, 0.65, 0.7, 0.79, 0.87, 0.85, 0.79, 0.78, 1.03, 0.96, 0.77, 0.92, 0.42]}, "timeline_100ms": [181, 202, 204, 194, 203, 210, 194, 185, 207, 204, 195, 193, 207, 215, 182, 209, 200, 188, 199, 213, 191, 207, 190, 214, 204, 185, 208, 206, 197, 203, 185, 213, 185, 218, 185, 211, 185, 214, 197, 202, 192, 208, 195, 197, 210, 197, 202, 194, 208, 194, 207, 202, 202, 201, 204, 192, 202, 202, 203, 192, 202, 203, 203, 190, 208, 194, 202, 203, 193, 204, 197, 205, 195, 205, 198, 196, 207, 194, 206, 194, 197, 209, 198, 194, 211, 196, 194, 210, 196, 196, 199, 207, 199, 193, 200, 210, 197, 197, 200, 196, 206, 204, 191, 204, 204, 201, 192, 202, 204, 192, 208, 192, 208, 191, 208, 203, 194, 204, 194, 205, 196, 205, 193, 208, 200, 192, 207, 195, 208, 194, 194, 210, 195, 197, 199, 208, 194, 197, 212, 196, 197, 195, 211, 195, 200, 197, 208, 195, 198, 198, 202, 204, 203, 193, 206, 192, 204, 205, 194, 203, 194, 204, 204, 192, 209, 192, 204, 195, 204, 204, 195, 207, 194, 207, 189, 205, 205, 193, 204, 192, 200, 205, 205, 193, 198, 205, 194, 205, 207, 194, 195, 208, 195, 206, 198, 196, 205, 193, 208, 195, 203, 201, 201, 191, 205, 203, 202, 190, 202, 202, 203, 192, 205, 204, 193, 204, 204, 192, 205, 204, 193, 206, 193, 205, 194, 207, 192, 205, 205, 200, 195, 195, 209, 196, 196, 208, 196, 197, 197, 209, 199, 196, 197, 210, 189, 199, 209, 200, 200, 200, 191, 206, 204, 191, 208, 194, 204, 195, 204, 204, 194, 204, 193, 208, 194, 207, 197, 197, 208, 194, 196, 205, 199, 196, 209, 194, 195, 210, 195, 196, 210, 196, 195, 210, 199, 196, 195, 209, 197, 195, 197, 211, 198, 196, 198, 197, 201, 200, 210, 198, 197, 203, 194, 208, 195, 205, 191, 204, 203, 192, 205, 204, 194, 205, 198, 205, 193, 204, 193, 204, 196, 204, 206, 195, 196, 208, 196, 205, 195, 194, 207, 196, 198, 205, 197, 197, 209, 196, 206, 187, 207, 202, 195, 209, 194, 201, 194, 210, 196, 196, 207, 201, 193, 200, 199, 199, 204, 205, 190, 200, 208, 193, 206, 195, 207, 194, 204, 194, 202, 207, 196, 194, 205, 197, 205, 197, 199, 204, 194, 206, 195, 202, 206, 192, 198, 209, 200, 194, 206, 196, 192, 209, 194, 208, 195, 197, 207, 198, 207, 195, 202, 198, 199, 200, 201, 199, 200, 200, 199, 200, 200, 200, 201, 200, 200, 195, 209, 197, 196, 206, 196, 207, 196, 197, 201, 197, 209, 197, 197, 198, 208, 198, 198, 198, 201, 198, 198, 209, 198, 198, 199, 198, 198, 199, 200, 200, 210, 198, 198, 198, 205, 195, 205, 194, 198, 205, 195, 205, 195, 204, 205, 195, 202, 199, 198, 198, 199, 209, 199, 199, 199, 202, 199, 201, 194, 201, 203, 200, 201, 201, 199, 201, 201, 191, 204, 200, 202, 201, 201, 201, 191, 201, 201, 203, 200, 194, 202, 202, 201, 201, 199, 198, 200, 204, 197, 205, 195, 197, 206, 195, 205, 196, 207, 196, 199, 195, 207, 195, 206, 194, 206, 195, 206, 195, 200, 197, 206, 196, 207, 195, 196, 207, 197, 197, 198, 208, 197, 198, 197, 208, 197, 198, 197, 210, 198, 198, 197, 197, 208, 197, 205, 194, 205, 198, 200, 198, 199, 198, 199, 199, 209, 198, 198, 198, 202, 198, 200, 198, 200, 201, 208, 193, 207, 191, 199, 201, 201, 201, 202, 200, 201, 200, 201, 201, 192, 203, 202, 200, 201, 201, 202, 191, 201, 203, 204, 202, 190, 201, 202, 200, 198, 202, 206, 198, 200, 199, 198, 197, 208, 198, 198, 166, 234, 197, 201, 197, 209, 198, 198, 198, 198, 199, 210, 199, 189, 211, 199, 199, 198, 200, 199, 199, 200, 200, 204, 199, 200, 199, 200, 201, 200, 201, 201, 200, 192, 201, 201, 201, 201, 201, 197, 197, 208, 198, 199, 196, 208, 197, 200, 194, 206, 204, 195, 206, 199, 196, 196, 206, 196, 206, 195, 196, 207, 196, 199, 208, 197, 195, 209, 196, 196, 197, 197, 212, 199, 197, 197, 208, 198, 197, 197, 198, 208, 198, 200, 199, 198, 197, 210, 197, 194, 206, 195, 205, 196, 206, 195, 205, 196, 206, 197, 198, 199, 199, 201, 199, 198, 199, 199, 210, 198, 200, 199, 200, 202, 194, 197, 200, 200, 200, 201, 200, 201, 201, 202, 202, 201, 200, 202, 190, 201, 200, 201, 202, 204, 202, 191, 200, 201, 200, 209, 198, 198, 198, 200, 197, 206, 201, 198, 198, 197, 199, 200, 209, 188, 212, 197, 198, 198, 198, 199, 201, 199, 200, 205, 200, 200, 200, 200, 200, 199, 201, 201, 200, 203, 200, 200, 200, 201, 190, 201, 201, 201, 202, 195, 204, 201, 201, 202, 201, 11], "killed_ms": 61203, "recovery": {"steady_per_100ms": 199.3, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160009, "listener": {"listener_packets": 75298, "listener_received": 37649, "listener_deliveries": 37649, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000, "listener_keyed": 10000, "listener_secrets": 0, "listener_epochs": 0}}, "generator": "own timers", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "a70cf07", "round": 2, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 26.6, "steady_cpu_ms_per_s": 110.0, "senders_steady_cpu_ms_per_s": 70.0, "recovery_cpu_ms_first_10s": 1150.0, "senders_cpu_ms_first_10s": 800.0, "generator": {"devices": 10000, "made": 160001, "stored": 160001, "sends": 160056, "again": 55, "stored_ms_p50": 0.406, "stored_ms_p99": 3.791, "stored_ms_max": 37.553, "longest_gap_ms": 0, "gap_from_ms": 0, "keyed": 0, "secrets": 0, "epochs": 0, "p50_ms_by_second_made": [3.55, 3.65, 3.66, 3.72, 3.76, 0.32, 0.34, 0.39, 0.38, 0.38, 0.28, 0.33, 0.39, 0.44, 0.47, 0.33, 0.32, 0.32, 0.34, 0.39, 0.36, 0.4, 0.43, 0.45, 0.46, 0.37, 0.4, 0.41, 0.44, 0.48, 0.38, 0.36, 0.33, 0.35, 0.36, 0.29, 0.39, 0.43, 0.44, 0.45, 0.37, 0.41, 0.41, 0.45, 0.47, 0.38, 0.39, 0.35, 0.34, 0.37, 0.29, 0.32, 0.42, 0.44, 0.46, 0.37, 0.4, 0.42, 0.45, 0.48, 0.37, 0.58, 0.62, 0.51, 0.5, 0.42, 0.34, 0.35, 0.45, 0.49, 0.39, 0.4, 0.38, 0.34, 0.39, 0.28, 0.31, 0.39, 0.44, 0.46, 0.32], "p99_ms_by_second_made": [4.03, 4.05, 4.03, 4.07, 4.21, 0.87, 0.69, 1.19, 0.98, 0.7, 0.74, 0.81, 0.9, 0.76, 0.94, 1.62, 0.56, 0.59, 0.73, 0.86, 0.75, 0.84, 0.75, 0.81, 0.82, 0.66, 0.78, 0.72, 0.76, 0.84, 0.74, 1.53, 0.58, 0.69, 0.71, 1.84, 0.88, 0.74, 0.83, 0.75, 0.6, 0.71, 0.71, 0.78, 0.84, 0.69, 0.69, 1.26, 0.67, 0.67, 0.54, 0.64, 0.72, 0.78, 0.98, 0.68, 0.74, 1.49, 0.84, 0.76, 0.76, 36.87, 1.01, 1.3, 0.75, 0.7, 0.66, 1.26, 0.86, 0.77, 0.68, 0.91, 0.97, 0.68, 4.83, 0.6, 0.74, 0.8, 0.77, 1.53, 0.36]}, "timeline_100ms": [182, 210, 191, 208, 191, 208, 191, 211, 191, 208, 192, 209, 192, 207, 194, 193, 211, 194, 210, 191, 206, 195, 192, 209, 192, 211, 193, 211, 193, 193, 211, 192, 210, 194, 193, 211, 194, 197, 212, 193, 195, 211, 193, 195, 212, 195, 195, 198, 212, 194, 210, 195, 206, 196, 207, 195, 197, 197, 207, 196, 207, 197, 196, 208, 195, 197, 198, 209, 197, 196, 208, 196, 195, 200, 199, 203, 202, 203, 197, 198, 196, 208, 198, 200, 198, 198, 207, 199, 199, 197, 199, 201, 205, 197, 198, 197, 199, 210, 198, 197, 205, 195, 204, 194, 205, 194, 201, 204, 194, 205, 195, 207, 196, 206, 194, 206, 198, 198, 196, 207, 197, 202, 196, 197, 207, 195, 199, 201, 201, 200, 201, 200, 201, 200, 200, 200, 203, 191, 202, 200, 201, 201, 201, 203, 201, 191, 207, 195, 203, 201, 196, 204, 201, 195, 206, 194, 208, 199, 197, 198, 203, 196, 206, 196, 195, 207, 198, 196, 206, 195, 207, 195, 205, 197, 195, 207, 197, 198, 206, 196, 196, 206, 199, 197, 207, 197, 197, 200, 198, 208, 198, 197, 196, 199, 208, 196, 198, 199, 210, 196, 194, 208, 198, 199, 198, 199, 199, 200, 202, 204, 199, 199, 199, 200, 198, 199, 201, 203, 199, 201, 200, 200, 199, 201, 200, 200, 202, 197, 195, 200, 202, 200, 200, 202, 201, 202, 203, 191, 202, 200, 201, 201, 199, 201, 201, 202, 193, 203, 203, 200, 199, 198, 198, 198, 210, 197, 200, 199, 198, 199, 199, 200, 198, 207, 202, 200, 192, 203, 199, 200, 199, 199, 199, 200, 200, 210, 190, 201, 200, 200, 200, 200, 200, 200, 199, 201, 203, 203, 202, 201, 191, 200, 201, 203, 201, 202, 192, 205, 202, 202, 198, 198, 198, 198, 200, 199, 201, 202, 199, 198, 209, 197, 202, 197, 195, 206, 196, 209, 195, 195, 206, 196, 205, 197, 199, 203, 197, 199, 207, 196, 197, 207, 195, 197, 207, 197, 198, 199, 202, 202, 198, 196, 206, 197, 197, 199, 210, 200, 197, 197, 205, 194, 205, 195, 206, 199, 196, 200, 206, 195, 205, 195, 197, 201, 199, 200, 201, 207, 200, 199, 200, 200, 200, 201, 200, 190, 202, 202, 201, 199, 201, 201, 200, 202, 201, 191, 203, 202, 201, 200, 200, 201, 201, 201, 201, 200, 190, 204, 201, 201, 198, 198, 208, 199, 198, 198, 198, 200, 198, 209, 199, 200, 199, 200, 200, 199, 201, 202, 199, 200, 199, 200, 200, 200, 199, 200, 202, 191, 202, 198, 200, 202, 200, 202, 199, 201, 203, 196, 198, 201, 201, 201, 201, 202, 201, 197, 197, 204, 202, 192, 209, 199, 198, 199, 199, 199, 199, 202, 198, 198, 209, 199, 198, 200, 198, 200, 200, 201, 198, 199, 200, 202, 201, 197, 206, 195, 197, 209, 195, 206, 195, 197, 206, 197, 197, 207, 198, 199, 196, 208, 197, 196, 198, 209, 197, 197, 198, 202, 197, 208, 194, 205, 195, 205, 195, 205, 195, 207, 195, 205, 194, 197, 206, 196, 207, 195, 196, 199, 207, 196, 206, 197, 199, 202, 200, 200, 201, 192, 201, 202, 201, 201, 201, 200, 200, 200, 200, 203, 200, 201, 191, 201, 200, 201, 202, 201, 199, 204, 202, 189, 210, 197, 198, 198, 199, 208, 199, 201, 198, 199, 199, 199, 200, 200, 199, 199, 200, 202, 199, 199, 199, 201, 199, 200, 200, 200, 196, 204, 200, 200, 200, 200, 201, 203, 202, 202, 191, 204, 201, 202, 201, 191, 202, 201, 203, 202, 201, 194, 202, 202, 198, 199, 197, 204, 205, 197, 199, 200, 198, 197, 209, 155, 244, 193, 206, 194, 196, 201, 206, 195, 206, 195, 206, 195, 208, 196, 196, 198, 206, 195, 207, 198, 198, 203, 202, 200, 190, 203, 201, 202, 200, 202, 201, 202, 191, 202, 203, 203, 191, 203, 199, 198, 210, 199, 200, 199, 200, 201, 200, 200, 200, 200, 196, 198, 207, 196, 196, 198, 208, 195, 206, 196, 196, 208, 196, 195, 208, 199, 196, 203, 197, 207, 200, 190, 203, 200, 204, 192, 204, 203, 202, 202, 190, 202, 202, 201, 202, 194, 203, 205, 199, 197, 199, 198, 200, 198, 206, 194, 210, 199, 199, 199, 199, 200, 199, 199, 199, 202, 198, 201, 198, 200, 202, 199, 203, 196, 208, 198, 195, 206, 196, 197, 207, 196, 197, 207, 198, 199, 197, 207, 197, 195, 205, 202, 200, 200, 200, 201, 198, 198, 198, 202, 204, 194, 196, 206, 195, 206, 194, 207, 194, 206, 195, 205, 196, 206, 196, 198, 206, 196, 195, 206, 196, 199, 200, 200, 199, 205, 200, 200, 200, 200, 200, 200, 201, 202, 195, 197, 199, 202, 205, 193, 204, 196, 200, 210, 198, 199, 197, 197, 11], "killed_ms": 61203, "recovery": {"steady_per_100ms": 199.2, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160001, "listener": {"listener_packets": 75294, "listener_received": 37647, "listener_deliveries": 37647, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "own timers", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "6152bd8", "round": 2, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 18.9, "steady_cpu_ms_per_s": 110.0, "senders_steady_cpu_ms_per_s": 70.0, "recovery_cpu_ms_first_10s": 1410.0, "senders_cpu_ms_first_10s": 1150.0, "generator": {"devices": 10000, "made": 160001, "stored": 160001, "sends": 200528, "again": 44, "stored_ms_p50": 0.404, "stored_ms_p99": 4.243, "stored_ms_max": 36.71, "longest_gap_ms": 0, "gap_from_ms": 0, "keyed": 30000, "secrets": 0, "epochs": 0, "p50_ms_by_second_made": [3.9, 3.95, 4.02, 4.17, 4.17, 0.3, 0.37, 0.43, 0.47, 0.48, 0.37, 0.39, 0.4, 0.35, 0.37, 0.29, 0.3, 0.38, 0.45, 0.47, 0.37, 0.39, 0.42, 0.45, 0.48, 0.37, 0.39, 0.42, 0.43, 0.37, 0.28, 0.32, 0.33, 0.4, 0.47, 0.37, 0.4, 0.41, 0.45, 0.47, 0.38, 0.39, 0.43, 0.45, 0.44, 0.3, 0.31, 0.33, 0.36, 0.45, 0.28, 0.31, 0.33, 0.35, 0.38, 0.36, 0.41, 0.33, 0.35, 0.36, 0.31, 0.49, 0.7, 0.77, 0.79, 0.61, 0.42, 0.42, 0.45, 0.47, 0.37, 0.39, 0.41, 0.43, 0.46, 0.36, 0.35, 0.32, 0.35, 0.35, 0.36], "p99_ms_by_second_made": [4.32, 4.68, 5.25, 4.66, 4.63, 0.65, 0.79, 1.2, 0.8, 3.27, 0.67, 0.78, 3.5, 0.81, 0.77, 0.62, 0.73, 1.01, 0.8, 0.82, 0.73, 0.72, 0.7, 2.08, 0.93, 0.81, 0.77, 1.0, 2.4, 0.64, 0.64, 1.22, 0.63, 0.77, 0.8, 0.61, 0.93, 0.81, 0.8, 0.82, 0.79, 0.72, 0.71, 0.75, 1.13, 1.12, 0.74, 0.61, 0.65, 1.06, 0.65, 0.58, 0.61, 0.67, 0.75, 0.72, 0.89, 0.65, 0.71, 0.7, 0.97, 36.17, 0.96, 1.05, 1.07, 0.99, 0.97, 0.85, 0.77, 0.85, 0.72, 1.03, 0.77, 0.78, 0.82, 0.73, 2.01, 0.6, 0.71, 0.65, 0.39]}, "timeline_100ms": [179, 209, 192, 210, 191, 211, 191, 193, 210, 197, 195, 212, 192, 192, 211, 193, 212, 193, 200, 198, 197, 214, 194, 195, 193, 202, 214, 197, 193, 197, 214, 196, 195, 195, 200, 211, 196, 196, 195, 199, 217, 197, 197, 198, 196, 198, 198, 200, 216, 200, 209, 194, 205, 195, 205, 195, 206, 196, 196, 208, 196, 195, 206, 196, 198, 200, 200, 200, 199, 202, 201, 201, 200, 200, 200, 195, 201, 202, 201, 204, 202, 191, 199, 202, 201, 202, 202, 202, 201, 194, 203, 190, 208, 201, 202, 202, 190, 204, 202, 203, 199, 197, 198, 198, 209, 197, 198, 199, 198, 200, 199, 208, 201, 198, 198, 199, 199, 198, 201, 201, 202, 199, 194, 206, 199, 204, 196, 197, 206, 198, 197, 208, 199, 197, 197, 197, 207, 197, 197, 199, 210, 197, 198, 200, 197, 207, 198, 198, 197, 199, 205, 205, 194, 204, 194, 205, 194, 206, 195, 198, 207, 195, 205, 195, 204, 194, 206, 195, 206, 197, 197, 206, 196, 204, 200, 195, 202, 200, 201, 201, 202, 201, 199, 192, 201, 201, 203, 202, 201, 191, 202, 201, 202, 200, 200, 202, 201, 191, 203, 206, 199, 196, 198, 209, 198, 198, 199, 198, 200, 199, 199, 201, 207, 199, 198, 198, 199, 201, 199, 201, 201, 199, 201, 200, 199, 200, 200, 201, 200, 201, 203, 199, 198, 200, 201, 201, 200, 201, 200, 193, 204, 200, 203, 191, 202, 201, 202, 202, 195, 204, 200, 198, 199, 197, 209, 198, 198, 199, 199, 201, 199, 198, 204, 205, 199, 198, 198, 200, 199, 202, 199, 199, 201, 199, 200, 201, 201, 201, 200, 203, 191, 201, 199, 201, 208, 199, 198, 198, 197, 199, 209, 197, 199, 196, 208, 197, 197, 198, 208, 200, 195, 204, 195, 206, 193, 206, 193, 206, 194, 207, 191, 201, 209, 194, 206, 195, 205, 196, 198, 198, 206, 196, 207, 195, 195, 207, 196, 199, 206, 198, 196, 207, 197, 196, 198, 202, 201, 201, 202, 203, 193, 197, 202, 202, 201, 202, 201, 192, 201, 205, 197, 197, 210, 198, 196, 198, 199, 210, 199, 200, 198, 198, 199, 199, 198, 199, 209, 200, 199, 192, 199, 210, 200, 199, 200, 199, 200, 200, 200, 191, 201, 210, 191, 201, 201, 202, 201, 201, 203, 192, 202, 201, 202, 201, 201, 200, 191, 202, 201, 204, 199, 198, 198, 198, 209, 201, 198, 198, 199, 200, 199, 198, 199, 209, 199, 198, 199, 200, 199, 203, 199, 199, 200, 201, 199, 199, 201, 201, 200, 193, 200, 201, 201, 201, 201, 201, 201, 201, 201, 191, 202, 200, 208, 195, 206, 197, 202, 199, 197, 199, 205, 198, 196, 198, 204, 205, 194, 199, 206, 196, 196, 205, 195, 207, 195, 206, 194, 207, 195, 203, 197, 195, 208, 195, 207, 196, 197, 207, 196, 198, 197, 207, 199, 197, 197, 200, 209, 198, 197, 197, 198, 208, 198, 197, 200, 201, 201, 200, 204, 193, 206, 194, 204, 194, 205, 205, 194, 205, 198, 197, 206, 195, 206, 195, 196, 206, 195, 207, 195, 197, 207, 195, 207, 196, 195, 207, 197, 196, 206, 198, 198, 196, 208, 197, 197, 208, 197, 197, 197, 209, 198, 198, 197, 198, 208, 197, 196, 199, 200, 205, 197, 204, 202, 198, 198, 198, 197, 210, 197, 201, 200, 198, 199, 199, 198, 199, 199, 206, 199, 201, 198, 196, 207, 196, 208, 195, 197, 207, 196, 198, 197, 207, 197, 197, 207, 197, 197, 208, 197, 200, 198, 196, 208, 197, 197, 197, 207, 197, 198, 199, 206, 193, 209, 195, 205, 194, 204, 195, 205, 195, 206, 162, 233, 206, 197, 195, 206, 196, 203, 194, 203, 205, 193, 204, 193, 204, 205, 193, 204, 194, 205, 204, 194, 207, 193, 206, 193, 206, 193, 207, 196, 206, 195, 195, 206, 204, 193, 207, 195, 197, 204, 203, 193, 204, 202, 194, 201, 203, 205, 194, 205, 202, 199, 200, 199, 199, 199, 198, 199, 202, 201, 200, 200, 200, 199, 200, 199, 201, 199, 203, 200, 201, 201, 191, 201, 201, 200, 201, 201, 204, 195, 200, 202, 203, 201, 190, 201, 201, 201, 204, 198, 198, 197, 209, 198, 198, 197, 199, 208, 197, 198, 198, 199, 200, 209, 198, 198, 202, 202, 200, 201, 198, 200, 200, 200, 198, 198, 201, 200, 201, 201, 200, 202, 190, 210, 200, 200, 200, 200, 192, 203, 200, 202, 202, 201, 197, 193, 201, 200, 204, 199, 197, 209, 197, 198, 197, 208, 198, 198, 200, 199, 196, 192, 209, 208, 197, 194, 205, 195, 208, 195, 205, 195, 207, 195, 195, 206, 196, 206, 198, 197, 207, 196, 197, 197, 208, 197, 197, 197, 209, 199, 195, 198, 207, 197, 197, 208, 197, 195, 199, 11], "killed_ms": 61202, "recovery": {"steady_per_100ms": 199.3, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160001, "listener": {"listener_packets": 88241, "listener_received": 52037, "listener_deliveries": 37641, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000}}, "generator": "own timers", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "epochs", "round": 2, "row": {"devices": 10000, "period_ms": 5000, "memo": true, "restart_ms": 18.6, "steady_cpu_ms_per_s": 100.0, "senders_steady_cpu_ms_per_s": 60.0, "recovery_cpu_ms_first_10s": 1300.0, "senders_cpu_ms_first_10s": 910.0, "generator": {"devices": 10000, "made": 160000, "stored": 160000, "sends": 160044, "again": 44, "stored_ms_p50": 0.649, "stored_ms_p99": 5.067, "stored_ms_max": 36.234, "longest_gap_ms": 0, "gap_from_ms": 0, "keyed": 50000, "secrets": 0, "epochs": 10000, "p50_ms_by_second_made": [4.74, 4.66, 4.62, 4.69, 4.71, 0.73, 0.78, 0.81, 1.36, 0.99, 0.72, 0.76, 0.83, 0.88, 1.44, 1.24, 1.25, 1.3, 1.37, 1.45, 1.25, 1.29, 0.93, 0.85, 1.0, 0.75, 0.92, 1.24, 1.32, 1.41, 1.17, 1.28, 1.27, 1.13, 0.89, 0.7, 0.74, 0.75, 0.82, 1.15, 0.43, 0.34, 0.37, 0.38, 0.4, 0.29, 0.4, 0.43, 0.45, 0.49, 0.38, 0.4, 0.42, 0.45, 0.48, 0.37, 0.41, 0.35, 0.35, 0.37, 0.29, 0.5, 0.73, 0.76, 0.78, 0.67, 0.42, 0.42, 0.45, 0.47, 0.37, 0.39, 0.42, 0.35, 0.36, 0.27, 0.29, 0.31, 0.42, 0.47, 0.0], "p99_ms_by_second_made": [5.72, 5.69, 5.27, 6.68, 5.85, 1.26, 1.21, 1.27, 2.71, 2.0, 1.26, 1.14, 1.51, 1.62, 1.77, 1.78, 1.81, 1.66, 1.87, 1.82, 1.62, 2.1, 1.7, 1.31, 1.9, 1.25, 1.5, 1.74, 1.87, 1.79, 1.96, 1.74, 2.1, 1.93, 1.45, 1.44, 1.52, 1.57, 2.07, 2.17, 1.72, 0.93, 0.66, 0.68, 0.73, 0.61, 0.83, 0.8, 0.74, 0.81, 0.74, 0.7, 0.83, 0.76, 0.83, 0.74, 1.13, 0.74, 0.61, 0.69, 0.61, 35.37, 1.02, 1.07, 1.13, 0.94, 0.84, 0.95, 0.9, 0.84, 0.9, 0.71, 0.95, 1.0, 0.68, 0.74, 0.59, 0.61, 0.75, 0.81, 0.0]}, "timeline_100ms": [190, 194, 205, 193, 206, 201, 188, 209, 205, 187, 206, 207, 186, 206, 205, 189, 209, 186, 217, 200, 188, 210, 195, 200, 207, 193, 190, 212, 206, 194, 206, 188, 209, 203, 197, 189, 214, 188, 197, 212, 198, 204, 195, 189, 211, 195, 195, 218, 183, 214, 206, 203, 191, 200, 201, 201, 204, 203, 192, 202, 203, 202, 192, 202, 203, 194, 204, 203, 193, 204, 204, 192, 205, 204, 192, 208, 193, 205, 193, 205, 205, 193, 200, 195, 203, 199, 198, 210, 193, 201, 197, 207, 196, 208, 195, 196, 209, 193, 196, 209, 193, 200, 201, 202, 201, 204, 201, 194, 199, 203, 203, 201, 192, 203, 203, 193, 205, 203, 192, 204, 205, 196, 195, 203, 204, 193, 206, 193, 204, 204, 193, 204, 195, 204, 205, 194, 208, 192, 207, 191, 208, 196, 195, 207, 196, 200, 197, 198, 207, 200, 195, 205, 204, 191, 203, 198, 203, 202, 203, 191, 203, 204, 192, 204, 205, 200, 193, 203, 195, 206, 195, 204, 194, 206, 204, 196, 195, 204, 195, 207, 193, 206, 196, 207, 198, 197, 197, 209, 197, 199, 196, 207, 196, 196, 199, 202, 208, 194, 199, 208, 192, 206, 192, 205, 204, 195, 206, 195, 195, 204, 195, 205, 195, 207, 204, 191, 204, 195, 204, 201, 196, 206, 204, 193, 206, 194, 208, 191, 205, 194, 205, 194, 205, 194, 205, 196, 208, 194, 207, 195, 206, 195, 205, 194, 206, 198, 195, 206, 190, 205, 198, 202, 202, 203, 194, 201, 205, 199, 196, 204, 192, 206, 204, 193, 206, 197, 193, 203, 199, 205, 197, 196, 207, 194, 206, 194, 206, 197, 196, 210, 196, 194, 208, 196, 196, 208, 198, 196, 197, 210, 198, 197, 195, 208, 195, 201, 198, 209, 197, 202, 194, 206, 194, 208, 195, 199, 197, 206, 193, 207, 193, 208, 196, 194, 207, 196, 207, 193, 206, 196, 196, 201, 209, 198, 193, 203, 196, 209, 195, 198, 208, 196, 195, 210, 196, 195, 199, 200, 206, 196, 205, 201, 196, 197, 208, 196, 198, 197, 208, 198, 196, 205, 202, 199, 203, 191, 203, 202, 201, 201, 192, 201, 203, 203, 202, 192, 205, 194, 204, 203, 195, 202, 202, 203, 189, 206, 202, 196, 203, 205, 193, 203, 192, 206, 194, 208, 198, 191, 212, 191, 201, 207, 194, 205, 197, 197, 208, 198, 197, 199, 200, 200, 200, 203, 206, 194, 205, 201, 195, 205, 194, 197, 207, 196, 206, 197, 199, 197, 200, 205, 197, 197, 208, 197, 197, 198, 198, 211, 197, 198, 198, 199, 197, 209, 197, 199, 198, 198, 209, 198, 198, 198, 198, 199, 209, 200, 198, 201, 198, 199, 196, 206, 194, 205, 194, 207, 195, 205, 195, 205, 198, 199, 199, 198, 199, 201, 200, 204, 199, 201, 199, 200, 200, 200, 200, 201, 202, 200, 201, 201, 200, 200, 198, 194, 200, 202, 201, 203, 201, 195, 198, 202, 202, 202, 201, 193, 204, 204, 190, 203, 199, 199, 209, 198, 198, 202, 200, 199, 198, 199, 198, 199, 200, 206, 203, 200, 201, 199, 200, 200, 199, 201, 200, 190, 210, 191, 201, 201, 201, 201, 201, 201, 200, 201, 200, 194, 200, 201, 201, 202, 201, 201, 202, 191, 202, 203, 203, 192, 202, 203, 198, 199, 199, 209, 198, 201, 198, 200, 199, 198, 199, 200, 199, 198, 209, 191, 200, 200, 208, 194, 204, 197, 206, 197, 198, 197, 208, 197, 196, 207, 196, 197, 206, 198, 195, 208, 198, 198, 197, 207, 198, 197, 198, 198, 207, 199, 198, 199, 197, 199, 205, 196, 206, 194, 206, 195, 206, 196, 205, 194, 205, 155, 247, 191, 202, 204, 201, 192, 202, 204, 198, 198, 198, 200, 209, 201, 199, 199, 199, 199, 200, 201, 199, 200, 200, 202, 200, 201, 200, 199, 200, 201, 199, 201, 200, 201, 188, 203, 200, 202, 197, 209, 197, 197, 197, 198, 209, 199, 196, 198, 209, 195, 198, 199, 199, 200, 200, 201, 204, 205, 190, 200, 210, 189, 202, 202, 201, 201, 200, 201, 201, 201, 200, 201, 195, 202, 201, 203, 190, 201, 202, 202, 201, 203, 192, 202, 201, 203, 202, 192, 209, 198, 199, 198, 197, 200, 200, 199, 209, 199, 199, 200, 197, 199, 197, 201, 198, 203, 206, 201, 198, 201, 199, 200, 200, 200, 201, 200, 198, 192, 202, 199, 207, 196, 207, 198, 197, 198, 207, 196, 197, 207, 197, 197, 197, 210, 198, 198, 196, 198, 205, 195, 204, 205, 193, 207, 195, 205, 194, 206, 194, 206, 194, 205, 195, 206, 196, 195, 205, 196, 206, 196, 205, 196, 205, 196, 196, 207, 195, 196, 207, 200, 200, 201, 200, 201, 201, 194, 200, 201, 201, 202, 201, 191, 200, 204, 202, 202, 201, 191, 11], "killed_ms": 61202, "recovery": {"steady_per_100ms": 199.2, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160000, "listener": {"listener_packets": 75346, "listener_received": 37673, "listener_deliveries": 37673, "listener_woken": 10000, "listener_remembered": 10000, "listener_swept": 0, "listener_active": 10000, "listener_keyed": 10000, "listener_secrets": 0, "listener_epochs": 0}}, "generator": "own timers", "seconds": 80, "kill_at": 60, "memo": true}
+{"commit": "6152bd8", "memo": false, "row": {"devices": 10000, "period_ms": 5000, "memo": false, "restart_ms": 26.8, "steady_cpu_ms_per_s": 100.0, "senders_steady_cpu_ms_per_s": 70.0, "recovery_cpu_ms_first_10s": 2840.0, "senders_cpu_ms_first_10s": 890.0, "generator": {"devices": 10000, "made": 160008, "stored": 160008, "sends": 197171, "again": 55, "stored_ms_p50": 0.396, "stored_ms_p99": 4.281, "stored_ms_max": 60.643, "longest_gap_ms": 0, "gap_from_ms": 0, "keyed": 30000, "secrets": 0, "epochs": 0, "p50_ms_by_second_made": [3.92, 3.95, 3.97, 4.02, 4.09, 0.28, 0.31, 0.4, 0.37, 0.36, 0.27, 0.29, 0.3, 0.43, 0.45, 0.35, 0.38, 0.35, 0.33, 0.35, 0.27, 0.3, 0.4, 0.42, 0.45, 0.36, 0.38, 0.41, 0.43, 0.46, 0.36, 0.38, 0.41, 0.36, 0.35, 0.27, 0.29, 0.31, 0.41, 0.45, 0.36, 0.38, 0.4, 0.42, 0.46, 0.35, 0.38, 0.4, 0.37, 0.39, 0.27, 0.31, 0.32, 0.41, 0.44, 0.28, 0.29, 0.31, 0.33, 0.46, 0.36, 3.84, 3.84, 3.89, 3.94, 3.81, 0.45, 0.43, 0.45, 0.48, 0.38, 0.39, 0.42, 0.43, 0.46, 0.37, 0.39, 0.41, 0.43, 0.46, 0.4], "p99_ms_by_second_made": [4.52, 7.89, 4.5, 4.43, 4.46, 0.81, 1.0, 4.46, 4.48, 0.88, 0.85, 0.56, 0.54, 0.72, 0.72, 0.59, 0.78, 1.29, 0.57, 0.65, 0.55, 0.57, 0.7, 0.74, 0.8, 0.88, 0.65, 0.74, 1.47, 0.91, 0.62, 0.71, 0.7, 1.48, 0.7, 0.53, 0.61, 0.54, 0.76, 0.71, 0.76, 0.64, 0.66, 0.69, 0.8, 0.58, 0.66, 0.68, 1.97, 1.36, 0.68, 2.41, 0.77, 0.75, 0.98, 0.61, 0.78, 0.64, 0.64, 0.89, 0.71, 55.04, 4.26, 4.35, 4.35, 8.86, 4.39, 0.72, 0.88, 0.83, 1.2, 0.76, 0.74, 0.75, 0.81, 1.29, 0.7, 0.74, 0.77, 0.8, 0.46]}, "timeline_100ms": [177, 207, 190, 216, 186, 208, 208, 188, 208, 189, 206, 207, 190, 209, 188, 216, 183, 208, 207, 189, 210, 189, 211, 190, 209, 190, 209, 190, 209, 191, 211, 191, 212, 192, 191, 211, 192, 210, 191, 210, 193, 192, 211, 192, 212, 193, 193, 212, 193, 208, 211, 194, 206, 195, 204, 195, 205, 193, 206, 191, 210, 197, 195, 206, 195, 207, 194, 205, 195, 207, 195, 206, 197, 197, 199, 201, 199, 198, 189, 208, 203, 205, 202, 198, 196, 198, 208, 196, 197, 208, 200, 196, 200, 198, 196, 208, 197, 196, 208, 197, 195, 204, 204, 193, 205, 195, 206, 196, 205, 194, 206, 194, 207, 194, 205, 195, 205, 195, 205, 194, 206, 195, 206, 194, 206, 196, 195, 205, 194, 207, 201, 199, 201, 200, 200, 200, 200, 199, 200, 201, 201, 200, 201, 200, 200, 190, 203, 200, 201, 201, 197, 208, 198, 197, 197, 202, 204, 197, 197, 209, 198, 198, 197, 199, 197, 200, 209, 198, 198, 200, 199, 200, 199, 206, 196, 198, 206, 196, 196, 206, 197, 206, 195, 196, 206, 197, 196, 207, 196, 207, 198, 195, 197, 208, 197, 197, 199, 206, 197, 197, 205, 203, 193, 204, 204, 195, 202, 198, 205, 194, 206, 194, 206, 195, 205, 194, 206, 194, 206, 195, 196, 209, 201, 199, 198, 200, 200, 199, 201, 199, 200, 199, 201, 200, 200, 200, 200, 200, 199, 200, 202, 199, 200, 201, 201, 201, 200, 200, 191, 202, 199, 207, 197, 198, 197, 202, 208, 197, 198, 199, 198, 198, 208, 198, 198, 199, 198, 198, 211, 199, 200, 198, 200, 199, 201, 200, 199, 199, 199, 200, 204, 199, 198, 199, 200, 202, 200, 200, 200, 199, 202, 199, 202, 201, 191, 200, 203, 200, 201, 202, 198, 198, 207, 198, 196, 198, 209, 197, 198, 197, 199, 208, 200, 198, 199, 199, 198, 198, 208, 198, 201, 200, 199, 200, 198, 200, 199, 200, 199, 200, 197, 200, 207, 197, 196, 206, 196, 206, 195, 197, 207, 196, 197, 207, 196, 197, 201, 206, 197, 197, 205, 203, 195, 205, 194, 205, 194, 204, 194, 204, 203, 197, 205, 195, 204, 195, 204, 197, 197, 205, 196, 206, 195, 207, 194, 196, 207, 195, 205, 195, 197, 207, 199, 200, 199, 200, 200, 200, 200, 201, 201, 200, 201, 201, 200, 201, 200, 200, 197, 194, 210, 196, 197, 198, 207, 198, 199, 198, 198, 209, 199, 197, 199, 198, 197, 205, 203, 198, 198, 198, 200, 200, 199, 199, 199, 200, 210, 198, 199, 201, 200, 199, 200, 201, 199, 200, 200, 200, 200, 200, 201, 201, 200, 201, 192, 201, 204, 202, 200, 201, 199, 196, 196, 209, 197, 198, 198, 197, 208, 198, 198, 198, 198, 210, 197, 199, 198, 197, 200, 209, 199, 199, 201, 198, 198, 200, 198, 200, 199, 199, 201, 199, 203, 200, 197, 207, 197, 199, 204, 196, 202, 194, 204, 198, 208, 196, 198, 197, 207, 197, 203, 197, 205, 194, 205, 193, 205, 204, 195, 195, 205, 198, 197, 208, 194, 205, 196, 205, 195, 206, 196, 196, 206, 195, 205, 202, 196, 196, 207, 196, 196, 206, 197, 200, 201, 200, 201, 202, 202, 199, 201, 200, 194, 201, 200, 195, 210, 200, 197, 198, 195, 205, 206, 193, 204, 194, 205, 195, 204, 194, 206, 194, 208, 196, 204, 195, 205, 194, 206, 194, 207, 195, 197, 208, 195, 206, 196, 195, 205, 196, 207, 196, 197, 208, 195, 195, 208, 197, 197, 205, 197, 197, 199, 205, 198, 205, 192, 201, 201, 200, 198, 209, 199, 197, 196, 208, 198, 198, 197, 198, 209, 177, 203, 214, 200, 183, 202, 204, 202, 200, 202, 203, 191, 202, 201, 202, 202, 201, 202, 202, 183, 203, 204, 204, 202, 202, 202, 185, 203, 202, 203, 205, 186, 205, 203, 203, 205, 186, 204, 205, 189, 205, 201, 202, 199, 199, 200, 201, 200, 201, 201, 207, 200, 203, 197, 199, 199, 211, 199, 193, 199, 201, 202, 201, 199, 201, 201, 201, 201, 201, 194, 197, 203, 203, 201, 200, 202, 190, 201, 201, 201, 203, 202, 197, 197, 202, 202, 202, 194, 200, 208, 199, 195, 198, 198, 209, 200, 198, 199, 198, 198, 199, 201, 201, 198, 209, 199, 199, 198, 200, 200, 201, 202, 201, 199, 200, 200, 201, 199, 200, 200, 201, 191, 202, 199, 201, 200, 201, 199, 201, 200, 202, 202, 202, 190, 200, 204, 201, 202, 201, 198, 199, 200, 201, 197, 198, 209, 199, 197, 199, 198, 199, 200, 199, 209, 199, 199, 200, 199, 199, 199, 201, 200, 201, 200, 198, 200, 200, 200, 200, 201, 201, 203, 200, 199, 200, 191, 201, 200, 201, 200, 203, 202, 194, 199, 201, 202, 201, 202, 202, 11], "killed_ms": 61203, "recovery": {"steady_per_100ms": 199.7, "silent_100ms_steps": 0, "caught_up_ms": 200}, "applied": 160008, "listener": {"listener_packets": 83666, "listener_received": 48997, "listener_deliveries": 37633, "listener_woken": 10000, "listener_remembered": 0, "listener_swept": 0, "listener_active": 10000}}, "generator": "own timers", "seconds": 80, "kill_at": 60}
+{"commit": "epochs", "memo": false, "row": {"devices": 10000, "period_ms": 5000, "memo": false, "restart_ms": 26.7, "steady_cpu_ms_per_s": 130.0, "senders_steady_cpu_ms_per_s": 70.0, "recovery_cpu_ms_first_10s": 5570.0, "senders_cpu_ms_first_10s": 4810.0, "generator": {"devices": 10000, "made": 160000, "stored": 160000, "sends": 244711, "again": 61966, "stored_ms_p50": 0.772, "stored_ms_p99": 4217.941, "stored_ms_max": 7749.079, "longest_gap_ms": 800, "gap_from_ms": 61200, "keyed": 80000, "secrets": 0, "epochs": 20000, "p50_ms_by_second_made": [4.75, 4.75, 4.7, 4.63, 4.7, 0.73, 0.98, 1.29, 1.43, 1.49, 1.23, 1.26, 1.35, 1.28, 0.87, 0.71, 0.75, 0.86, 1.0, 1.42, 1.23, 1.25, 1.32, 1.31, 1.38, 1.24, 1.25, 1.32, 1.36, 1.34, 0.81, 0.93, 0.84, 0.9, 1.03, 0.97, 0.82, 0.78, 0.78, 0.82, 0.32, 0.42, 0.48, 0.4, 0.41, 0.32, 0.32, 0.35, 0.45, 0.48, 0.37, 0.41, 0.43, 0.47, 0.48, 0.38, 0.41, 0.44, 0.45, 0.47, 0.38, 1036.73, 1095.77, 2058.23, 2696.79, 1659.21, 173.75, 766.32, 122.32, 0.4, 0.3, 0.33, 0.44, 0.45, 0.48, 0.38, 0.41, 0.45, 0.35, 0.38, 0.0], "p99_ms_by_second_made": [6.19, 5.74, 5.23, 6.25, 5.75, 1.47, 1.72, 1.88, 1.86, 1.78, 1.62, 1.61, 1.72, 1.98, 1.35, 1.21, 1.25, 1.48, 1.71, 2.0, 1.62, 1.74, 1.72, 1.76, 1.9, 1.71, 1.76, 1.9, 2.33, 2.62, 1.41, 1.66, 1.41, 1.39, 1.88, 2.25, 2.49, 1.58, 1.6, 1.71, 0.71, 0.78, 1.04, 0.8, 0.69, 1.27, 0.81, 0.7, 0.82, 0.81, 0.66, 0.71, 0.8, 0.88, 0.86, 0.69, 0.7, 0.82, 0.84, 0.78, 0.75, 7176.77, 6806.44, 5810.76, 4926.8, 3749.59, 2591.82, 1807.02, 844.65, 1.12, 0.73, 0.62, 0.77, 0.75, 0.85, 0.73, 0.75, 1.11, 0.63, 0.65, 0.0]}, "timeline_100ms": [179, 209, 201, 189, 200, 205, 195, 194, 213, 187, 205, 206, 207, 185, 206, 206, 188, 208, 207, 188, 216, 180, 207, 205, 200, 198, 187, 207, 197, 204, 199, 203, 210, 191, 202, 188, 218, 201, 189, 192, 218, 200, 189, 203, 199, 202, 199, 204, 195, 206, 209, 200, 202, 191, 201, 203, 202, 202, 192, 203, 204, 192, 203, 204, 192, 205, 204, 192, 198, 207, 198, 206, 193, 205, 194, 202, 198, 197, 200, 208, 195, 208, 191, 207, 197, 195, 205, 195, 199, 201, 198, 209, 196, 196, 211, 195, 197, 199, 200, 199, 203, 202, 204, 191, 203, 206, 191, 203, 205, 193, 205, 204, 194, 202, 203, 193, 204, 204, 193, 205, 197, 206, 193, 195, 206, 196, 206, 193, 210, 192, 206, 194, 208, 194, 206, 196, 203, 194, 203, 197, 196, 208, 194, 206, 194, 207, 195, 206, 196, 197, 206, 203, 191, 201, 202, 203, 203, 191, 203, 203, 195, 199, 204, 204, 191, 204, 205, 191, 205, 205, 194, 204, 195, 206, 197, 194, 204, 205, 195, 206, 194, 204, 193, 206, 193, 206, 193, 199, 209, 198, 199, 196, 198, 208, 196, 198, 199, 210, 198, 195, 198, 200, 204, 203, 202, 194, 206, 191, 209, 196, 204, 190, 211, 192, 206, 195, 204, 196, 196, 207, 197, 195, 210, 192, 207, 196, 196, 208, 195, 207, 195, 199, 194, 212, 195, 200, 200, 196, 199, 200, 200, 208, 197, 198, 207, 196, 200, 197, 201, 197, 206, 202, 193, 204, 205, 195, 195, 207, 195, 204, 197, 207, 194, 206, 192, 197, 203, 205, 198, 195, 200, 202, 207, 194, 196, 206, 196, 203, 205, 198, 197, 199, 198, 197, 209, 192, 209, 195, 200, 199, 199, 198, 200, 199, 209, 196, 199, 207, 200, 198, 194, 203, 204, 192, 206, 195, 203, 206, 197, 193, 203, 198, 207, 192, 203, 197, 204, 205, 193, 205, 195, 207, 196, 202, 198, 196, 207, 194, 208, 194, 197, 205, 194, 209, 196, 196, 207, 196, 199, 199, 199, 198, 208, 195, 208, 199, 195, 202, 201, 199, 202, 190, 204, 207, 190, 205, 196, 203, 195, 204, 206, 198, 194, 203, 197, 204, 203, 203, 194, 200, 200, 206, 190, 202, 205, 194, 202, 204, 195, 203, 204, 193, 204, 192, 205, 205, 192, 207, 196, 208, 193, 205, 192, 206, 203, 195, 197, 207, 197, 195, 201, 206, 195, 207, 195, 197, 209, 195, 198, 207, 196, 196, 198, 200, 202, 200, 202, 201, 202, 202, 200, 190, 201, 201, 203, 202, 204, 191, 203, 204, 196, 200, 197, 208, 199, 198, 200, 198, 200, 199, 197, 200, 210, 198, 199, 198, 201, 198, 200, 200, 205, 195, 206, 195, 205, 196, 196, 204, 198, 206, 194, 196, 206, 195, 207, 195, 205, 198, 197, 207, 195, 197, 209, 197, 197, 197, 208, 196, 200, 197, 201, 202, 203, 200, 201, 189, 203, 201, 203, 202, 201, 193, 201, 201, 202, 201, 193, 201, 204, 203, 197, 199, 198, 208, 198, 199, 199, 198, 199, 200, 199, 199, 200, 201, 198, 210, 190, 210, 192, 199, 200, 202, 199, 200, 200, 200, 202, 202, 203, 201, 190, 202, 200, 202, 202, 202, 192, 201, 203, 204, 201, 192, 202, 202, 201, 203, 193, 202, 203, 203, 198, 199, 197, 199, 199, 203, 205, 198, 200, 199, 198, 199, 199, 199, 200, 201, 200, 199, 201, 199, 200, 203, 199, 200, 201, 201, 201, 200, 196, 198, 200, 201, 201, 200, 201, 201, 203, 202, 192, 203, 200, 204, 191, 202, 201, 202, 204, 201, 193, 202, 199, 198, 198, 209, 198, 200, 200, 199, 199, 199, 199, 155, 0, 0, 0, 0, 0, 0, 0, 0, 8, 33, 135, 100, 157, 116, 119, 149, 114, 118, 141, 121, 121, 144, 124, 164, 143, 134, 143, 132, 141, 112, 173, 116, 172, 156, 129, 158, 138, 147, 110, 79, 96, 48, 71, 135, 44, 70, 34, 92, 123, 152, 344, 347, 374, 286, 188, 250, 164, 220, 229, 210, 186, 144, 138, 176, 104, 231, 167, 207, 267, 331, 317, 567, 1893, 1108, 922, 562, 292, 244, 382, 219, 265, 201, 197, 199, 200, 210, 198, 199, 195, 207, 195, 205, 195, 196, 208, 195, 197, 206, 195, 206, 196, 197, 206, 197, 196, 206, 199, 200, 199, 200, 200, 200, 201, 201, 202, 200, 193, 200, 201, 200, 200, 201, 201, 202, 203, 201, 192, 201, 201, 202, 203, 201, 190, 203, 202, 202, 192, 203, 208, 199, 198, 198, 198, 199, 198, 210, 200, 199, 199, 199, 199, 199, 198, 200, 201, 200, 201, 199, 199, 201, 206, 190, 201, 200, 199, 203, 202, 197, 207, 198, 197, 197, 207, 198, 196, 199, 209, 197, 198, 197, 205, 202, 197, 197, 199, 199, 200, 199, 11], "killed_ms": 61203, "recovery": {"steady_per_100ms": 199.1, "silent_100ms_steps": 8, "caught_up_ms": 7800}, "applied": 160000, "listener": {"listener_packets": 105883, "listener_received": 58843, "listener_deliveries": 37226, "listener_woken": 10000, "listener_remembered": 1431, "listener_swept": 0, "listener_active": 10000, "listener_keyed": 11687, "listener_secrets": 20007, "listener_epochs": 10000}}, "generator": "own timers", "seconds": 80, "kill_at": 60}
+{"commit": "6152bd8", "memo": false, "row": {"devices": 10000, "period_ms": 5000, "memo": false, "restart_ms": 18.9, "steady_cpu_ms_per_s": 90.0, "senders_steady_cpu_ms_per_s": 60.0, "recovery_cpu_ms_first_10s": 2760.0, "senders_cpu_ms_first_10s": 840.0, "generator": {"devices": 10000, "made": 160000, "stored": 160000, "sends": 197475, "again": 33, "stored_ms_p50": 0.387, "stored_ms_p99": 4.228, "stored_ms_max": 46.188, "longest_gap_ms": 0, "gap_from_ms": 0, "keyed": 30000, "secrets": 0, "epochs": 0, "p50_ms_by_second_made": [3.89, 3.93, 3.96, 4.02, 4.13, 0.38, 0.42, 0.45, 0.49, 0.39, 0.3, 0.33, 0.34, 0.39, 0.37, 0.29, 0.31, 0.33, 0.36, 0.48, 0.36, 0.31, 0.32, 0.34, 0.37, 0.34, 0.41, 0.34, 0.34, 0.37, 0.28, 0.31, 0.41, 0.44, 0.52, 0.35, 0.33, 0.35, 0.35, 0.38, 0.38, 0.41, 0.43, 0.36, 0.37, 0.29, 0.31, 0.33, 0.45, 0.47, 0.37, 0.41, 0.41, 0.44, 0.48, 0.37, 0.4, 0.43, 0.46, 0.37, 0.29, 3.71, 3.83, 3.91, 3.94, 3.79, 0.35, 0.35, 0.38, 0.41, 0.31, 0.32, 0.33, 0.35, 0.49, 0.3, 0.31, 0.33, 0.35, 0.47, 0.0], "p99_ms_by_second_made": [4.31, 4.36, 4.54, 4.57, 4.76, 0.74, 0.86, 0.73, 1.35, 0.64, 0.86, 1.25, 0.74, 0.99, 1.67, 0.6, 0.65, 0.7, 0.72, 0.76, 0.89, 0.61, 0.61, 0.7, 0.74, 0.69, 0.96, 1.28, 0.65, 0.69, 0.66, 0.64, 0.8, 0.77, 1.39, 1.07, 0.77, 1.55, 0.6, 0.72, 0.65, 0.8, 2.0, 0.97, 0.65, 0.55, 0.57, 0.71, 0.78, 0.76, 0.69, 0.67, 1.02, 0.75, 2.32, 0.66, 0.73, 0.83, 2.23, 0.83, 0.54, 39.22, 4.36, 5.28, 5.22, 4.26, 4.09, 0.9, 1.3, 1.49, 0.7, 0.69, 0.72, 0.62, 1.43, 0.84, 0.61, 0.61, 0.67, 0.75, 0.0]}, "timeline_100ms": [177, 208, 207, 188, 208, 189, 208, 189, 209, 202, 198, 191, 209, 209, 190, 209, 191, 209, 191, 192, 211, 191, 210, 191, 211, 191, 212, 194, 192, 215, 195, 192, 211, 193, 193, 211, 193, 210, 195, 196, 199, 194, 213, 194, 195, 214, 195, 194, 195, 213, 202, 211, 198, 198, 199, 197, 199, 199, 209, 191, 201, 199, 199, 204, 200, 200, 200, 201, 201, 201, 202, 201, 200, 190, 201, 200, 201, 201, 202, 202, 203, 192, 201, 201, 203, 201, 202, 190, 199, 204, 199, 198, 209, 198, 197, 197, 203, 206, 198, 199, 196, 205, 194, 207, 193, 206, 194, 205, 194, 207, 197, 197, 200, 201, 199, 206, 195, 205, 195, 205, 199, 199, 197, 206, 196, 196, 207, 197, 196, 201, 198, 208, 195, 197, 209, 196, 199, 201, 200, 204, 198, 200, 196, 197, 209, 197, 197, 198, 203, 200, 206, 195, 205, 194, 204, 195, 205, 195, 204, 197, 207, 195, 195, 206, 196, 206, 195, 206, 196, 197, 207, 197, 196, 206, 197, 195, 205, 198, 197, 208, 199, 196, 197, 207, 197, 196, 207, 198, 197, 202, 202, 203, 190, 202, 202, 202, 201, 202, 201, 193, 199, 199, 208, 195, 197, 199, 205, 205, 194, 197, 207, 196, 206, 195, 205, 197, 195, 205, 195, 209, 196, 196, 207, 195, 196, 207, 195, 207, 196, 197, 197, 210, 195, 196, 206, 197, 206, 197, 196, 199, 199, 208, 197, 198, 199, 198, 208, 198, 197, 198, 207, 196, 204, 194, 198, 208, 199, 197, 199, 200, 200, 199, 199, 198, 210, 199, 199, 199, 199, 201, 195, 205, 198, 196, 206, 196, 206, 196, 196, 208, 198, 196, 207, 196, 197, 197, 207, 197, 196, 209, 199, 198, 198, 198, 207, 198, 197, 198, 208, 199, 196, 195, 205, 205, 195, 203, 197, 204, 194, 207, 196, 196, 206, 195, 206, 194, 206, 195, 206, 196, 197, 198, 200, 199, 200, 201, 200, 200, 200, 202, 202, 202, 201, 200, 200, 200, 200, 202, 200, 192, 203, 202, 200, 203, 197, 202, 191, 198, 211, 201, 200, 195, 201, 202, 195, 206, 195, 205, 195, 197, 206, 196, 206, 196, 196, 207, 196, 206, 200, 200, 192, 199, 206, 197, 203, 196, 201, 202, 196, 207, 198, 196, 207, 197, 196, 198, 208, 197, 196, 202, 205, 198, 197, 199, 197, 209, 198, 197, 200, 203, 199, 199, 198, 199, 199, 208, 198, 198, 198, 199, 200, 199, 200, 200, 202, 200, 199, 199, 200, 207, 192, 202, 198, 201, 199, 202, 199, 200, 204, 196, 208, 198, 196, 198, 209, 197, 197, 196, 210, 197, 198, 197, 208, 199, 197, 198, 197, 208, 196, 198, 207, 196, 204, 195, 204, 194, 205, 195, 205, 195, 206, 195, 206, 195, 196, 206, 195, 206, 194, 206, 198, 197, 206, 198, 195, 207, 196, 196, 207, 198, 202, 201, 199, 202, 190, 201, 201, 203, 200, 201, 203, 191, 201, 201, 202, 202, 201, 201, 193, 203, 198, 200, 208, 198, 198, 198, 198, 198, 209, 200, 201, 199, 199, 198, 200, 199, 200, 199, 199, 201, 204, 200, 198, 199, 199, 200, 200, 200, 200, 202, 201, 201, 200, 200, 199, 201, 201, 201, 191, 203, 202, 194, 201, 201, 208, 192, 201, 202, 202, 194, 201, 208, 198, 198, 197, 199, 209, 198, 198, 200, 200, 199, 199, 199, 199, 199, 199, 200, 209, 191, 203, 202, 199, 200, 201, 200, 200, 201, 200, 202, 194, 197, 201, 201, 202, 202, 201, 201, 193, 207, 196, 198, 207, 197, 198, 197, 207, 197, 197, 199, 209, 194, 205, 195, 204, 195, 204, 195, 205, 196, 206, 196, 189, 199, 200, 199, 200, 198, 201, 201, 210, 201, 200, 199, 201, 200, 200, 200, 200, 184, 211, 190, 201, 201, 201, 201, 201, 201, 201, 201, 200, 203, 201, 202, 185, 202, 203, 204, 202, 205, 183, 200, 217, 198, 198, 198, 199, 199, 198, 203, 201, 200, 206, 207, 196, 197, 206, 196, 196, 208, 198, 197, 197, 208, 200, 199, 196, 199, 207, 199, 199, 199, 199, 201, 198, 197, 208, 198, 198, 199, 195, 206, 199, 197, 198, 210, 197, 200, 197, 200, 198, 207, 194, 207, 195, 195, 206, 195, 206, 197, 198, 208, 195, 196, 205, 196, 206, 195, 206, 197, 198, 199, 203, 196, 207, 197, 196, 207, 195, 198, 208, 197, 197, 196, 209, 196, 197, 208, 196, 199, 199, 201, 198, 202, 195, 210, 198, 198, 204, 192, 200, 208, 194, 196, 206, 195, 206, 194, 205, 195, 207, 195, 207, 196, 195, 206, 196, 207, 194, 207, 198, 196, 195, 206, 196, 207, 196, 196, 207, 197, 198, 198, 207, 196, 197, 208, 197, 198, 197, 209, 199, 198, 198, 200, 203, 200, 193, 203, 203, 193, 11], "killed_ms": 61202, "recovery": {"steady_per_100ms": 200.0, "silent_100ms_steps": 0, "caught_up_ms": 700}, "applied": 160000, "listener": {"listener_packets": 83603, "listener_received": 49245, "listener_deliveries": 37606, "listener_woken": 10000, "listener_remembered": 0, "listener_swept": 0, "listener_active": 10000}}, "generator": "own timers", "seconds": 80, "kill_at": 60}
+{"commit": "epochs", "memo": false, "row": {"devices": 10000, "period_ms": 5000, "memo": false, "restart_ms": 18.6, "steady_cpu_ms_per_s": 80.0, "senders_steady_cpu_ms_per_s": 70.0, "recovery_cpu_ms_first_10s": 5430.0, "senders_cpu_ms_first_10s": 4730.0, "generator": {"devices": 10000, "made": 160008, "stored": 160008, "sends": 243768, "again": 61185, "stored_ms_p50": 0.779, "stored_ms_p99": 4111.094, "stored_ms_max": 7808.787, "longest_gap_ms": 800, "gap_from_ms": 61200, "keyed": 80000, "secrets": 0, "epochs": 20000, "p50_ms_by_second_made": [4.79, 4.67, 4.66, 4.65, 4.7, 0.75, 0.93, 1.12, 0.89, 0.91, 0.72, 0.73, 1.0, 1.37, 1.39, 1.24, 1.33, 1.34, 1.37, 1.41, 1.16, 1.25, 1.29, 1.13, 0.86, 0.76, 0.78, 0.85, 1.03, 1.36, 1.24, 1.28, 1.25, 1.34, 1.41, 1.03, 1.06, 1.14, 1.14, 1.12, 0.3, 0.33, 0.36, 0.38, 0.48, 0.41, 0.31, 0.33, 0.35, 0.37, 0.3, 0.4, 0.33, 0.35, 0.37, 0.32, 0.38, 0.42, 0.35, 0.37, 0.28, 1037.54, 1070.2, 2064.95, 2856.58, 1605.9, 215.37, 706.3, 33.01, 0.38, 0.28, 0.32, 0.34, 0.44, 0.45, 0.35, 0.38, 0.4, 0.43, 0.46, 0.33], "p99_ms_by_second_made": [5.87, 5.22, 5.73, 5.75, 5.68, 1.27, 1.55, 2.24, 1.31, 1.33, 1.17, 1.16, 1.83, 1.83, 2.23, 1.61, 1.77, 1.75, 1.75, 1.96, 1.65, 1.81, 2.05, 2.83, 1.31, 1.14, 1.18, 1.29, 1.79, 1.82, 1.82, 1.82, 1.84, 1.93, 2.06, 2.15, 2.24, 2.5, 2.17, 2.36, 0.61, 0.74, 0.69, 2.56, 4.69, 0.9, 0.69, 0.66, 0.72, 0.76, 0.64, 1.0, 0.63, 0.66, 0.63, 1.86, 0.84, 1.06, 0.6, 0.66, 0.57, 7132.37, 6808.1, 5376.24, 4855.33, 3689.54, 2511.96, 1809.72, 1002.06, 1.09, 0.63, 1.35, 0.83, 0.81, 0.84, 0.75, 1.06, 0.8, 0.83, 0.96, 0.48]}, "timeline_100ms": [176, 202, 205, 196, 194, 213, 206, 187, 208, 201, 198, 202, 201, 192, 204, 187, 212, 189, 215, 200, 188, 207, 190, 209, 207, 198, 187, 210, 206, 187, 208, 194, 215, 183, 214, 192, 197, 215, 182, 210, 192, 196, 219, 183, 209, 202, 184, 217, 187, 215, 202, 202, 201, 202, 190, 202, 203, 204, 191, 202, 204, 202, 192, 203, 203, 203, 193, 198, 202, 207, 194, 206, 194, 196, 207, 195, 205, 195, 205, 204, 194, 206, 194, 207, 193, 197, 205, 196, 207, 193, 207, 194, 206, 196, 195, 209, 195, 198, 208, 194, 203, 201, 202, 190, 201, 203, 204, 193, 201, 204, 203, 202, 190, 204, 202, 194, 203, 205, 192, 203, 203, 203, 191, 205, 204, 192, 197, 207, 192, 206, 196, 206, 193, 208, 193, 199, 207, 199, 195, 209, 196, 195, 209, 197, 197, 203, 197, 199, 208, 193, 196, 202, 201, 204, 194, 204, 204, 194, 203, 204, 194, 207, 190, 209, 190, 209, 192, 207, 192, 204, 206, 192, 206, 196, 205, 197, 194, 210, 195, 205, 196, 194, 209, 195, 205, 197, 195, 200, 206, 195, 208, 198, 195, 197, 207, 199, 198, 199, 197, 209, 194, 202, 202, 203, 190, 206, 193, 204, 205, 192, 206, 194, 204, 207, 193, 197, 208, 194, 204, 193, 206, 194, 205, 196, 207, 194, 196, 209, 196, 196, 208, 196, 208, 197, 198, 196, 201, 198, 205, 195, 205, 195, 205, 194, 208, 196, 208, 196, 193, 208, 192, 202, 202, 203, 193, 204, 206, 192, 205, 193, 202, 204, 203, 194, 205, 194, 206, 194, 205, 193, 204, 205, 194, 207, 195, 196, 207, 195, 207, 193, 206, 195, 205, 196, 195, 200, 199, 207, 197, 197, 210, 197, 196, 201, 198, 200, 196, 211, 201, 196, 197, 206, 191, 207, 200, 194, 204, 198, 205, 198, 193, 206, 195, 206, 197, 198, 197, 206, 195, 209, 197, 197, 197, 203, 202, 197, 199, 199, 208, 196, 208, 196, 200, 196, 196, 200, 209, 199, 198, 198, 198, 198, 208, 202, 198, 202, 199, 199, 191, 202, 208, 203, 192, 201, 203, 194, 205, 193, 200, 201, 204, 202, 191, 206, 206, 190, 210, 199, 193, 203, 194, 211, 191, 208, 203, 196, 199, 194, 204, 195, 210, 192, 206, 193, 204, 194, 209, 192, 205, 194, 201, 208, 192, 210, 190, 198, 202, 209, 196, 202, 198, 207, 195, 196, 206, 196, 197, 207, 197, 206, 195, 196, 207, 196, 196, 209, 198, 198, 197, 206, 197, 196, 207, 198, 196, 198, 200, 210, 197, 198, 198, 198, 208, 198, 197, 198, 199, 199, 208, 190, 208, 200, 198, 201, 198, 201, 197, 201, 204, 202, 198, 200, 198, 199, 199, 199, 202, 204, 200, 201, 194, 205, 194, 207, 195, 206, 199, 197, 206, 195, 196, 206, 195, 206, 198, 196, 199, 208, 197, 197, 196, 207, 196, 197, 207, 196, 200, 199, 207, 197, 197, 207, 198, 196, 197, 201, 209, 197, 197, 198, 207, 194, 204, 195, 205, 194, 208, 196, 195, 200, 210, 189, 210, 191, 207, 202, 198, 196, 207, 196, 196, 205, 195, 199, 204, 196, 199, 208, 196, 197, 207, 196, 196, 208, 198, 196, 200, 197, 208, 197, 197, 208, 197, 197, 197, 208, 201, 198, 197, 198, 205, 194, 205, 194, 203, 197, 206, 201, 196, 206, 196, 196, 206, 195, 198, 204, 198, 201, 200, 200, 201, 199, 200, 198, 198, 202, 200, 200, 198, 210, 197, 197, 207, 196, 197, 197, 199, 209, 196, 197, 208, 198, 196, 197, 207, 198, 200, 198, 197, 208, 195, 205, 193, 204, 204, 194, 197, 206, 195, 206, 201, 131, 0, 0, 0, 0, 0, 0, 0, 0, 11, 44, 127, 117, 111, 101, 119, 135, 143, 107, 138, 133, 128, 158, 159, 126, 112, 168, 128, 132, 128, 140, 161, 191, 134, 123, 193, 118, 190, 153, 123, 38, 112, 29, 51, 83, 72, 65, 120, 72, 142, 122, 235, 552, 265, 279, 283, 139, 199, 232, 154, 264, 180, 222, 152, 184, 159, 227, 189, 257, 411, 225, 290, 2465, 1104, 803, 285, 240, 232, 261, 254, 240, 323, 208, 196, 198, 200, 198, 208, 198, 194, 204, 204, 193, 205, 195, 200, 206, 195, 206, 195, 205, 194, 205, 193, 202, 201, 197, 206, 195, 206, 195, 206, 195, 205, 197, 203, 199, 199, 200, 201, 200, 200, 199, 200, 201, 191, 201, 201, 201, 200, 202, 200, 201, 200, 201, 200, 194, 200, 202, 197, 208, 196, 197, 207, 198, 200, 199, 197, 198, 210, 199, 198, 199, 197, 198, 205, 200, 199, 199, 198, 199, 209, 198, 199, 199, 201, 201, 201, 200, 201, 200, 199, 199, 200, 201, 189, 203, 201, 202, 201, 200, 201, 201, 200, 202, 192, 203, 202, 202, 11], "killed_ms": 61202, "recovery": {"steady_per_100ms": 198.8, "silent_100ms_steps": 8, "caught_up_ms": 7700}, "applied": 160008, "listener": {"listener_packets": 105495, "listener_received": 58425, "listener_deliveries": 37282, "listener_woken": 10000, "listener_remembered": 1404, "listener_swept": 0, "listener_active": 10000, "listener_keyed": 11692, "listener_secrets": 20007, "listener_epochs": 10000}}, "generator": "own timers", "seconds": 80, "kill_at": 60}
diff --git a/research/experiments/019-idle-links/x25519.c b/research/experiments/019-idle-links/x25519.c
new file mode 100644
index 0000000..6ae0079
--- /dev/null
+++ b/research/experiments/019-idle-links/x25519.c
@@ -0,0 +1,49 @@
+/* What an epoch's X25519 costs here (docs/research/099-link-epochs.md): a
+ * pair made, a raw private half taken in (OpenSSL works out its public half
+ * again), and the secret with a peer's public key.
+ *
+ * cc -O2 x25519.c -lcrypto -o x25519 && ./x25519 */
+#include <openssl/evp.h>
+#include <stdio.h>
+#include <time.h>
+
+static double now(void) {
+ struct timespec t;
+ clock_gettime(CLOCK_MONOTONIC, &t);
+ return (double)t.tv_sec + (double)t.tv_nsec / 1e9;
+}
+
+int main(void) {
+ enum { N = 2000 };
+ unsigned char private_key[32], peer[32], out[32];
+ size_t length = 32;
+ EVP_PKEY *other = EVP_PKEY_Q_keygen(NULL, NULL, "X25519"), *mine = NULL;
+ EVP_PKEY_get_raw_public_key(other, peer, &length);
+ double t = now();
+ for (int i = 0; i < N; ++i) {
+ EVP_PKEY *k = EVP_PKEY_Q_keygen(NULL, NULL, "X25519");
+ length = 32;
+ EVP_PKEY_get_raw_private_key(k, private_key, &length);
+ EVP_PKEY_free(k);
+ }
+ printf("{\"pair_us\":%.1f,", (now() - t) / N * 1e6);
+ t = now();
+ for (int i = 0; i < N; ++i) EVP_PKEY_free(EVP_PKEY_new_raw_private_key(EVP_PKEY_X25519, NULL, private_key, 32));
+ printf("\"private_in_us\":%.1f,", (now() - t) / N * 1e6);
+ mine = EVP_PKEY_new_raw_private_key(EVP_PKEY_X25519, NULL, private_key, 32);
+ EVP_PKEY *theirs = EVP_PKEY_new_raw_public_key(EVP_PKEY_X25519, NULL, peer, 32);
+ EVP_PKEY_CTX *context = EVP_PKEY_CTX_new(mine, NULL);
+ EVP_PKEY_derive_init(context);
+ EVP_PKEY_derive_set_peer(context, theirs);
+ t = now();
+ for (int i = 0; i < N; ++i) {
+ length = 32;
+ EVP_PKEY_derive(context, out, &length);
+ }
+ printf("\"secret_us\":%.1f,\"openssl\":\"%s\"}\n", (now() - t) / N * 1e6, OpenSSL_version(OPENSSL_VERSION));
+ EVP_PKEY_CTX_free(context);
+ EVP_PKEY_free(theirs);
+ EVP_PKEY_free(mine);
+ EVP_PKEY_free(other);
+ return 0;
+}