Add reference from /usr/src/linux
[can-benchmark.git] / recvmmsg / plot.gp
1 # termsize 7cm,7cm
2 set grid
3
4 set xlabel "Frames [×1000]"
5 set ylabel "RX Time [ms]"
6 set y2label "TX Time [ms]"
7 set y2tics
8 set key left reverse Left
9
10 fit ard*x+brd "data" using 1:5  via ard, brd
11 fit arm*x+brm "data" using 1:10 via arm, brm
12
13 fit awr*x+bwr "data" using 1:3 via awr, bwr
14 fit asm*x+bsm "data" using 1:8 via asm, bsm
15
16 set yrange [0:]
17 set y2range [0:]
18
19 brd=brd/1000
20 brm=brm/1000
21 bwr=bwr/1000
22 bsm=bsm/1000
23
24 plot 'data' using ($1/1000):($5/1000)  lc 1 title 'read()', \
25      'data' using ($1/1000):($10/1000) lc 1 title 'recvmmsg()', \
26      'data' using ($1/1000):($3/1000) lc 2 axes x1y2 title 'write()', \
27      'data' using ($1/1000):($8/1000) lc 2 axes x1y2 title 'sendmmsg()', \
28      ard*x+brd with lines lt 1 lc rgbcolor "#aa0000" lw 1 title "", \
29      arm*x+brm with lines lt 2 lc rgbcolor "#aa0000" lw 1 title "", \
30      awr*x+bwr with lines axes x1y2 lt 1 lc rgbcolor "#00aa00" lw 1 title "", \
31      asm*x+bsm with lines axes x1y2 lt 2 lc rgbcolor "#00aa00" lw 1 title ""
32
33 # aread*x+bread - arecv*x-brecv = 0
34 # (aread-arecv)*x = brecv-bread
35 xeq = (brm-brd)/(ard-arm)
36 print "ard = ", ard
37 print "arm = ", arm
38 print "arm/ard = ", arm/ard
39 print "Intersection at x = ", xeq
40 print ""
41
42 xeq = (bsm-bwr)/(awr-asm)
43 print "awr = ", awr
44 print "asm = ", asm
45 print "asm/awr = ", asm/awr
46 print "Intersection at x = ", xeq