Historical interest only: benchmarking scripts for various NC/Minimart/Prospect/Syndicate implementations. Mostly active during my PhD research.
Go to file
Tony Garnock-Jones cb6a481f25 observe-all-* and sum-all-* experiments 2015-03-19 01:25:59 -04:00
.gitignore Update .gitignore 2014-05-14 17:13:20 -04:00
Makefile uvserver 2014-05-05 12:04:42 -04:00
README.md observe-all-* and sum-all-* experiments 2015-03-19 01:25:59 -04:00
echo-client.rkt Avoid spurious division by zero when fast servers (e.g. uv) are fast 2015-03-18 23:19:31 -04:00
echo-server-minimart-tcp-driver.rkt Prospect echo server, and various fixes to get older experiments running again 2015-03-18 17:13:36 -04:00
echo-server-prospect-tcp-driver.rkt Prospect echo server, and various fixes to get older experiments running again 2015-03-18 17:13:36 -04:00
echo-server.rkt Adjust TCP listen backlog for non-TCP-driver minimart variant, too. 2015-03-18 21:28:58 -04:00
echoserver.erl Report connection counts 2014-05-05 12:20:07 -04:00
external-latency.rkt Prospect echo server, and various fixes to get older experiments running again 2015-03-18 17:13:36 -04:00
internal-latency-prospect.rkt Bump up the total process count for internal-latency tests 2015-03-18 23:17:14 -04:00
internal-latency-symbols-not-fixnums.rkt Bump up the total process count for internal-latency tests 2015-03-18 23:17:14 -04:00
internal-latency.rkt Bump up the total process count for internal-latency tests 2015-03-18 23:17:14 -04:00
latest-results.html observe-all-* and sum-all-* experiments 2015-03-19 01:25:59 -04:00
measure-hash.rkt Measure datastructure per-entry sizes 2014-05-06 21:13:18 -04:00
measure-routes.rkt Update to match the new terminology 2014-05-07 19:24:40 -04:00
observe-all-minimart.rkt observe-all-* and sum-all-* experiments 2015-03-19 01:25:59 -04:00
observe-all-prospect.rkt observe-all-* and sum-all-* experiments 2015-03-19 01:25:59 -04:00
pingpong.erl Noddy pingpong tests of erlang and plain racket thread IPC 2014-05-14 17:13:02 -04:00
pingpong.rkt Noddy pingpong tests of erlang and plain racket thread IPC 2014-05-14 17:13:02 -04:00
plain-racket-server.rkt Increase TCP listen connection backlog, for parity with prospect TCP driver 2015-03-18 19:04:03 -04:00
run-erlang-server.sh Add options (nicked from rabbitmq-server's startup scripts) that unbork Erlang performance 2014-05-05 14:28:14 -04:00
sum-all-minimart.rkt observe-all-* and sum-all-* experiments 2015-03-19 01:25:59 -04:00
sum-all-prospect.rkt observe-all-* and sum-all-* experiments 2015-03-19 01:25:59 -04:00
uvserver.c Report connection counts 2014-05-05 12:20:07 -04:00

README.md

Measuring NC Implementation Characteristics

  • external-latency.rkt is the driver for the roundtrip latency "echo" programs. Generally speaking, statistics for each run will be recorded into "client-grow-times", "client-ping-times" and "client-summary" tables. When the server for a run is written in Racket, additional statistics will be collected into tables "server-memory-use" and "server-connections".

    • echo-client.rkt measures roundtrip latency of pinging a remote server
    • echoserver.erl is a matching ping server in Erlang
    • echo-server-minimart-tcp-driver.rkt is a server using Minimart's TCP driver
    • echo-server-prospect-tcp-driver.rkt is a server using Prospect's TCP driver
    • echo-server.rkt is a server using Minimart, but eschewing the TCP driver
    • plain-racket-server.rkt is a server using built-in Racket threads
    • uvserver.c is a server written in C with libuv
  • internal-latency.rkt measures roundtrip latency of pinging a local peer in a Minimart world.

    • internal-latency-symbols-not-fixnums.rkt is the same, but uses symbols instead of fixnums to identify peers.
    • internal-latency-prospect.rkt is the same, but using Prospect instead of Minimart.
  • observe-all-minimart.rkt, observe-all-prospect.rkt, sum-all-minimart.rkt and sum-all-prospect.rkt measure the costs of presence notification and processing in Minimart and Prospect worlds, respectively.

  • pingpong.rkt and pingpong.erl are simple measurements of Racket's and Erlang's built-in thread communication latency, respectively. They do not use the racket-logger statistics-collection subsystem, instead printing their results to stdout.