Scope Engine v0.97 Benchmarks (2002-09-21) --------------------------------------------------------------------- The client was wrapped and executed synchronously utilizing the perl "loop.pl" script with the 'system' command. The Scope procedure run in all tests was the minimal "/sizecheck"(no, not hello_world) which job is basically only to compare the size of a spool-message file with a predefined max-size and return an exitcode either to reject the message or let it through in XMail context. Note that XMail was not involved in these tests, but the concept and measurements should be close to equal as if the client was executed by XMail. Benchmarking was done on the client-side, spanning from the first send to the last receive. The LAN tests done over a cheapo HostLink 10Mbit Hub connection. Tables are interpreted as --------------------------------------------------------------------- N calls -> N.nn wallclocks (usr + sys + cusr(*nix) + csys(*nix) = CPU) --------------------------------------------------------------------- Localhost benchmarks (server listening on loopback interface, 127.0.0.1) ---------------------------------------------------------------------- Setup #1. (Server/Client : Linux/K6-2 450MHz) --------------------------------------------------------------------- 100 -> 3.49 wallclock secs (0.00 +0.07 +0.58 +0.54 = 1.19 CPU) 1000 -> 34.29 wallclock secs (0.08 +0.58 +5.71 +5.43 = 11.80 CPU) 10000 -> 342.66 wallclock secs (0.95 +7.27 +54.26 +55.34 =117.82 CPU) --------------------------------------------------------------------- Calls per second : 29.18 Average per call : 0.034 secs --------------------------------------------------------------------- Setup #2. (Server/Client : Win2k Pro/Duron 1GHz) --------------------------------------------------------------------- 100 -> 1.66 wallclock secs (0.03 + 0.07 = 0.10 CPU) 1000 -> 16.64 wallclock secs (0.35 + 0.83 = 1.18 CPU) 10000 -> 167.39 wallclock secs (4.09 + 7.64 = 11.73 CPU) --------------------------------------------------------------------- Calls per second : 59.74 (!!!) Average per call : 0.017 secs --------------------------------------------------------------------- LAN Benchmarks (client and server on different machines) ---------------------------------------------------------------------- Setup #3. (Client Linux/P-133, Win2K/Duron 1GHz) --------------------------------------------------------------------- 100 -> 3.52 wallclock secs (0.01 +0.24 +1.68 +1.07 = 3.00 CPU) 1000 -> 37.17 wallclock secs (0.19 +1.73 +16.92 +13.19 = 32.03 CPU) 10000 -> 634.73 wallclock secs (1.81 +16.05 +171.98 +180.04 =369.88 CPU) --------------------------------------------------------------------- Calls per second: 15.75 Average per call: 0.063 secs --------------------------------------------------------------------- Setup #4. (Client Linux/P-133, Server Linux/K6-2 450MHz) --------------------------------------------------------------------- 100 -> 4.81 wallclock secs (0.00 + 0.17 +1.71 +1.16 = 3.04 CPU) 1000 -> 49.93 wallclock secs (0.16 + 1.71 +17.44 +12.55 = 31.86 CPU) 10000 -> 602.03 wallclock secs (1.70 +17.14 +170.45 +181.51 =370.80 CPU) --------------------------------------------------------------------- Calls per second: 16.61 Average per call: 0.060 secs --------------------------------------------------------------------- Setup #5. (Client Win2K/Duron 1GHz, Server Linux/K6-2 450MHz) --------------------------------------------------------------------- 100 -> 2.95 wallclock secs (0.04 + 0.05 = 0.09 CPU) 1000 -> 29.77 wallclock secs (0.27 + 0.73 = 1.00 CPU) 10000 -> 277.15 wallclock secs (3.61 + 6.72 = 10.32 CPU) --------------------------------------------------------------------- Calls per second: 36.08 Average per call: 0.028 secs --------------------------------------------------------------------- Setup #6. (Client Linux/K6-2 450MHz, Server Win2K/Duron 1GHz) --------------------------------------------------------------------- 100 -> 1.86 wallclock secs (0.01 +0.09 +0.52 +0.40 = 1.02 CPU) 1000 -> 18.40 wallclock secs (0.09 +0.69 +4.99 +4.79 = 10.56 CPU) 10000 -> 188.05 wallclock secs (0.82 +7.41 +50.53 +50.05 =108.81 CPU) --------------------------------------------------------------------- Calls per second: 53.18 Average per call: 0.019 secs ---------------------------------------------------------------------