-
Notifications
You must be signed in to change notification settings - Fork 0
Benchmark log
Abhijeet Rastogi edited this page Oct 22, 2018
·
11 revisions
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) | | |
+--------------------------------+---------------+-----------+
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) | | |
+--------------------------------+---------------+-----------+
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) | | |
+--------------------------------+---------------+-----------+