1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
{
"cloud9": {
"allocation_evidence": "no allocator or allocation calls in codec",
"bytes_in": 3803125,
"bytes_out": 3803125,
"codec_allocations": 0,
"codec_ns": 11364700,
"implementation": "cloud9",
"operations": 540000,
"read_calls": 54001,
"write_calls": 27000
},
"configuration": {
"chunk": 65536,
"frames": 27000,
"go": "go1.26.5-X:nodwarf5",
"platform": "linux/amd64",
"repeats": 20,
"rounds": 1000,
"seed": 4200
},
"correctness": "all generated base-9P2000 frames agree byte-for-byte",
"measurement_notes": [
"Cloud9 codec timer excludes pipe I/O; Go timers include in-memory stream parsing and byte comparison. Do not treat these as equivalent throughput benchmarks.",
"Go allocations use runtime.MemStats deltas on a single-process run; cloud9 codec has no allocation API.",
"Cloud9 I/O counters are actual stdin/stdout syscalls; Go read counters are io.Reader calls, not syscalls.",
"These are wire-conformance probes, not differential filesystem-server semantics."
],
"references": [
{
"implementation": "9fans v0.0.7",
"operations": 540000,
"codec_ns": 116434888,
"codec_allocations": 2509437,
"allocated_bytes": 486133240,
"read_calls": 1080000,
"bytes": 76062500
},
{
"implementation": "go9p v1.18.0",
"operations": 540000,
"codec_ns": 94922755,
"codec_allocations": 3130709,
"allocated_bytes": 289069480,
"read_calls": 1080000,
"bytes": 76062500
}
],
"session": {
"bytes_read": 3156839,
"bytes_written": 646229,
"checks": "walk/open/write/read/stat/EOF/clunk, content oracle, fragmented requests and replies",
"read_calls": 454124,
"requests": 7003,
"rounds": 1000,
"seed": 4200,
"server": "go9p v1.18.0 StaticFile",
"write_calls": 217407
}
}
|