Rusty Russell
3cd589d2ce
bench: why does sending payments take so long under CI?
To run, use:
VALGRIND=0 TEST_BENCH=1 eatmydata pytest tests/test_connection.py::test_bench
Example of running on my laptop (without --enable-debugbuild, over of 10 runs):
FAILED tests/test_connection.py::test_bench - assert 47.403406-49.191765(48.343+/-0.48) == 0
With eatmydata:
FAILED tests/test_connection.py::test_bench - assert 25.867860-27.549878(26.5762+/-0.5) == 0
You can also run perf on l1 once it's running:
perf record --call-graph dwarf -q -p $(cat /tmp/ltests-*/test_bench_1/lightning-1/lightningd-regtest.pid)
Then ^C after 10 seconds and run "perf report".
Things which stood out:
1. Tracing in db_exec_prepared_v2 (fixed in another PR)
31.12% 0.04% lightningd lightningd [.] db_exec_prepared_v2
- 31.08% db_exec_prepared_v2
+ 22.96% db_sqlite3_exec
+ 4.46% trace_span_end
+ 1.77% trace_span_start
+ 1.11% trace_span_tag
+ 0.72% tal_free
2. Logging:
- 16.03% logv
- 8.15% maybe_print
- log_to_files
+ 4.51% __GI__IO_fflush (inlined)
+ 1.97% tal_fmt_
+ 0.51% __GI___strftime_l (inlined)
3. Notification (when nothing is listening) in notify_log:
- 6.84% maybe_notify_log
- notify_log
+ 3.37% notify_send
+ 1.75% notify_start
+ 1.71% log_notification_serialize
0.56% new_log_entry
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2025-05-08 14:01:38 +09:30
..
2025-04-02 11:22:54 +10:30
2025-04-15 19:53:47 +09:30
2025-04-29 13:31:23 +09:30
2025-05-02 13:39:33 -07:00
2023-09-21 20:08:24 +09:30
2025-02-24 19:38:37 +10:30
2023-04-09 12:41:11 +09:30
2025-02-14 22:17:21 +10:30
2025-05-06 12:27:53 +09:30
2025-05-02 13:34:21 -07:00
2025-05-05 09:31:22 -07:00
2025-02-13 21:15:45 -06:00
2025-05-08 14:01:38 +09:30
2025-05-08 14:01:38 +09:30
2024-11-17 16:04:06 +10:30
2025-05-06 12:27:53 +09:30
2025-04-29 09:38:20 +09:30
2025-05-06 12:27:53 +09:30
2023-01-09 14:50:30 -06:00
2025-05-08 14:01:38 +09:30
2025-05-08 14:01:38 +09:30
2025-05-08 10:49:31 +09:30
2024-11-19 09:06:28 +10:30
2025-04-16 08:02:14 +09:30
2024-11-21 14:15:36 +10:30
2025-02-13 21:15:45 -06:00
2024-11-17 14:25:29 +10:30
2025-01-27 11:07:04 +10:30
2024-11-12 06:42:52 +10:30
2025-03-24 13:59:58 +10:30
2025-05-08 14:01:38 +09:30
2025-05-02 13:25:11 -07:00
2025-05-08 14:01:38 +09:30