diff options
| author | Gabriel Schneider <[email protected]> | 2026-08-25 20:30:52 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-25 20:30:52 -0300 |
| commit | 05610a2a42b3d026473aa84ddfef1592feda5f17 (patch) | |
| tree | d33a825d6315de67365263575d2ffa1546d52978 /experiments/length-RFast-fastcmp.csv | |
| parent | ce25f7950234f44dbb67af2cfde8da846d01aeeb (diff) | |
| download | esp32p4-05610a2a42b3d026473aa84ddfef1592feda5f17.tar.gz esp32p4-05610a2a42b3d026473aa84ddfef1592feda5f17.zip | |
A keystroke is now 8.37 ms, from 16.99; the remaining 6.4 ms is located
Progression on the die, five document lengths x seven trials at each step:
step fixed per char at 160 chars
ReleaseSmall 16.99 ms 54.3 us 25.56 ms
ReleaseFast 14.85 ms 34.7 us 20.30 ms 0.79x
+ ASCII grapheme 14.56 ms 12.0 us 16.46 ms 0.64x
+ ASCII print 14.27 ms 6.9 us 15.36 ms 0.60x
+ shadow grid 8.87 ms 7.3 us 10.02 ms 0.39x
+ byte compare 8.37 ms 7.1 us 9.48 ms 0.37x
Round trip is time to the FIRST response byte: ~1.95 ms of host and USB latency plus
compute. Compute is 6.42 ms and the 4 ms goal needs it under 2.05 ms, so 3.1x remains.
Every microsecond of it is now measured rather than guessed, by stage, on the die:
our walk of the grid 979 us this repo's own present()
vaxis diff + emit 2455 us vaxis walks all 480 cells, per-cell strings
pardes Surface rebuild 2000 us pardes rebuilds every cell every frame
input parse + edit 250 us
The honest reading is that the two large items are not each other's alternative.
vaxis's diff is redundant work - present() already computes exactly which cells moved,
so emitting ANSI directly from the shadow grid would remove most of that 2.46 ms. But
even a perfect renderer leaves pardes rebuilding a whole Surface per keystroke, and 4 ms
at 40x12 needs that too.
Raising the baud does not move this number. At 115200 an 81-byte reply is 7.0 ms of
wire, but almost none of it lands before the first byte; 921600 takes `settle` from
23 ms to ~16 ms and leaves the round trip where it is. Worth doing, not for this.
Diffstat (limited to 'experiments/length-RFast-fastcmp.csv')
| -rw-r--r-- | experiments/length-RFast-fastcmp.csv | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/experiments/length-RFast-fastcmp.csv b/experiments/length-RFast-fastcmp.csv new file mode 100644 index 0000000..d8937f2 --- /dev/null +++ b/experiments/length-RFast-fastcmp.csv @@ -0,0 +1,36 @@ +label,experiment,cols,rows,length,op,rep,rtt_us,settle_us,bytes +RFast-fastcmp,length,0,0,0,insert,0,8967,20293,141 +RFast-fastcmp,length,0,0,0,insert,1,8359,14491,80 +RFast-fastcmp,length,0,0,0,insert,2,8317,14505,81 +RFast-fastcmp,length,0,0,0,insert,3,8329,14497,81 +RFast-fastcmp,length,0,0,0,insert,4,8405,14681,81 +RFast-fastcmp,length,0,0,0,insert,5,8424,14734,81 +RFast-fastcmp,length,0,0,0,insert,6,8360,14482,81 +RFast-fastcmp,length,0,0,20,insert,0,8409,14602,81 +RFast-fastcmp,length,0,0,20,insert,1,8433,14612,81 +RFast-fastcmp,length,0,0,20,insert,2,8566,14751,81 +RFast-fastcmp,length,0,0,20,insert,3,8490,14723,81 +RFast-fastcmp,length,0,0,20,insert,4,8481,14673,81 +RFast-fastcmp,length,0,0,20,insert,5,8705,21462,158 +RFast-fastcmp,length,0,0,20,insert,6,8589,14632,80 +RFast-fastcmp,length,0,0,40,insert,0,8607,14792,81 +RFast-fastcmp,length,0,0,40,insert,1,8647,14810,81 +RFast-fastcmp,length,0,0,40,insert,2,8671,14958,81 +RFast-fastcmp,length,0,0,40,insert,3,8661,14769,81 +RFast-fastcmp,length,0,0,40,insert,4,8664,14902,81 +RFast-fastcmp,length,0,0,40,insert,5,8674,14772,81 +RFast-fastcmp,length,0,0,40,insert,6,8637,14979,81 +RFast-fastcmp,length,0,0,80,insert,0,9010,15048,81 +RFast-fastcmp,length,0,0,80,insert,1,8965,15295,81 +RFast-fastcmp,length,0,0,80,insert,2,8918,15317,81 +RFast-fastcmp,length,0,0,80,insert,3,9010,15223,81 +RFast-fastcmp,length,0,0,80,insert,4,8974,15153,81 +RFast-fastcmp,length,0,0,80,insert,5,9047,15299,81 +RFast-fastcmp,length,0,0,80,insert,6,9039,15215,81 +RFast-fastcmp,length,0,0,160,insert,0,9439,15670,81 +RFast-fastcmp,length,0,0,160,insert,1,9449,15591,81 +RFast-fastcmp,length,0,0,160,insert,2,9492,15671,81 +RFast-fastcmp,length,0,0,160,insert,3,9472,15629,81 +RFast-fastcmp,length,0,0,160,insert,4,9665,22480,158 +RFast-fastcmp,length,0,0,160,insert,5,9561,15724,80 +RFast-fastcmp,length,0,0,160,insert,6,9482,15679,81 |
