Skip to content

Benchmark log

Abhijeet Rastogi edited this page Oct 22, 2018 · 11 revisions

October 22

Using references, another 5% improvement in performance.

+--------------------------------+---------------+-----------+
|          DESCRIPTION           | TIME ELAPSED  |    QPS    |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 0.58 seconds  | 1,710,154 |
| lines): Parse non-existent     |               |           |
| field                          |               |           |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 1.31 seconds  | 764,676   |
| lines): Parse one simple field |               |           |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 1.63 seconds  | 613,824   |
| lines): Parse one simple field |               |           |
| with basic filter (domain      |               |           |
| contains .com)                 |               |           |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 24.11 seconds | 41,474    |
| lines): Parse one derived      |               |           |
| field via regex                |               |           |
+--------------------------------+---------------+-----------+
| 6 Go Routines: (1000000        | 5.89 seconds  | 169,686   |
| lines): Parse one derived      |               |           |
| field via regex                |               |           |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 23.12 seconds | 43,260    |
| lines): Parse one derived      |               |           |
| field with basic filter        |               |           |
| (domain equals google.com)     |               |           |
+--------------------------------+---------------+-----------+
| 4 Go Routines: (1000000        | 6.93 seconds  | 144,295   |
| lines): Parse one derived      |               |           |
| field with basic filter        |               |           |
| (domain equals google.com)     |               |           |
+--------------------------------+---------------+-----------+
| 12 Go Routines: (1000000       | 5.02 seconds  | 199,332   |
| lines): Parse one derived      |               |           |
| field with basic filter        |               |           |
| (domain equals google.com)     |               |           |
+--------------------------------+---------------+-----------+
| 12 Go Routines: (1000000       | 4.94 seconds  | 202,226   |
| lines): Parse multiple         |               |           |
| fields(simple/derived) with    |               |           |
| basic filter (domain equals    |               |           |
| google.com)                    |               |           |
+--------------------------------+---------------+-----------+

October 22

Locking is now limited to only one field. Previously, all fields did locking and wrote on the same variable.

It's now ~40-60 percent faster for real-world cases.

https://github.com/shadyabhi/jqtop/commit/10c4b15d1da1f727e912276034509494d4c1251c

+--------------------------------+---------------+-----------+
|          DESCRIPTION           | TIME ELAPSED  |    QPS    |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 0.59 seconds  | 1,696,691 |
| lines): Parse non-existent     |               |           |
| field                          |               |           |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 1.32 seconds  | 755,964   |
| lines): Parse one simple field |               |           |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 1.57 seconds  | 638,848   |
| lines): Parse one simple field |               |           |
| with basic filter (domain      |               |           |
| contains .com)                 |               |           |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 23.32 seconds | 42,883    |
| lines): Parse one derived      |               |           |
| field via regex                |               |           |
+--------------------------------+---------------+-----------+
| 6 Go Routines: (1000000        | 5.95 seconds  | 168,043   |
| lines): Parse one derived      |               |           |
| field via regex                |               |           |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 22.44 seconds | 44,566    |
| lines): Parse one derived      |               |           |
| field with basic filter        |               |           |
| (domain equals google.com)     |               |           |
+--------------------------------+---------------+-----------+
| 4 Go Routines: (1000000        | 6.94 seconds  | 144,111   |
| lines): Parse one derived      |               |           |
| field with basic filter        |               |           |
| (domain equals google.com)     |               |           |
+--------------------------------+---------------+-----------+
| 12 Go Routines: (1000000       | 5.12 seconds  | 195,268   |
| lines): Parse one derived      |               |           |
| field with basic filter        |               |           |
| (domain equals google.com)     |               |           |
+--------------------------------+---------------+-----------+
| 12 Go Routines: (1000000       | 5.25 seconds  | 190,440   |
| lines): Parse multiple         |               |           |
| fields(simple/derived) with    |               |           |
| basic filter (domain equals    |               |           |
| google.com)                    |               |           |
+--------------------------------+---------------+-----------+

October 14

https://github.com/shadyabhi/jqtop/commit/b8201489d659e821e993eeee709d7746a0b2c133

+--------------------------------+---------------+-----------+
|          DESCRIPTION           | TIME ELAPSED  |    QPS    |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 0.69 seconds  | 1,443,196 |
| lines): Parse non-existent     |               |           |
| field                          |               |           |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 1.27 seconds  | 789,002   |
| lines): Parse one simple field |               |           |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 1.63 seconds  | 613,448   |
| lines): Parse one simple field |               |           |
| with basic filter (domain      |               |           |
| contains .com)                 |               |           |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 26.16 seconds | 38,229    |
| lines): Parse one derived      |               |           |
| field via regex                |               |           |
+--------------------------------+---------------+-----------+
| 6 Go Routines: (1000000        | 8.68 seconds  | 115,202   |
| lines): Parse one derived      |               |           |
| field via regex                |               |           |
+--------------------------------+---------------+-----------+
| 1 Go Routines: (1000000        | 26.03 seconds | 38,420    |
| lines): Parse one derived      |               |           |
| field with basic filter        |               |           |
| (domain equals google.com)     |               |           |
+--------------------------------+---------------+-----------+
| 4 Go Routines: (1000000        | 9.83 seconds  | 101,777   |
| lines): Parse one derived      |               |           |
| field with basic filter        |               |           |
| (domain equals google.com)     |               |           |
+--------------------------------+---------------+-----------+
| 12 Go Routines: (1000000       | 8.14 seconds  | 122,891   |
| lines): Parse one derived      |               |           |
| field with basic filter        |               |           |
| (domain equals google.com)     |               |           |
+--------------------------------+---------------+-----------+

Clone this wiki locally