-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JQ1.6 is much slower than JQ1.5 #2069
Comments
Hi @taylorwin , can you provide the test data and test environment? |
Linux VM-51-109-ubuntu 4.4.0-151-generic #178-Ubuntu SMP Tue Jun 11 08:30:22 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux Data provided is not convenient |
If you're able to, would you mind pulling down master and building it using the instructions in the README? (I've copied them here for convenience) git submodule update --init
autoreconf -fi
./configure --with-oniguruma=builtin --disable-maintainer-mode
make -j8 We've made some pretty major improvements to jq's startup time (and other things) since 1.6 was released that should significantly help, and I'd like to see if it fixes the slowdown you're seeing. |
When will this version be released? |
Hello! Just another report from Ubuntu 16.04 LTS. Test command:
Results: jq-1.5 jq-1.6 jq-1.6-119-g5b9e63e-dirty |
I also have trouble with extremly slow jq after upgrading Ubuntu 18 to 20 (and with this...from jq 1.5.1 to 1.6)
Linux kernel is the same on my both Ubuntu versions to exclude eventually issues based on kernel configuration Same issue on every upgraded machine. Every jq command in our bash script work on Ub20 extremly slow. |
Isn't this issue solved yet Same test as @diafour
jq-1.5 core i3: jq-1.6 core i7 |
The current master branch should run much faster than 1.6- we had some amazing work contributed to improve our link times. On my machine, your test produces roughly similar completion times between 1.5 and master. Master is still a little bit slower than 1.5, but significantly faster than 1.6 was. I modified your test slightly to only try to measure jq's link-time performance (because that's where the cost increase from 1.5 to 1.6 was): % time bash -c 'for i in `seq 1 1000` ; do jq -n . > /dev/null; done' # This is master on my machine
real 5.49
user 2.56
sys 1.54
% time bash -c 'for i in `seq 1 1000` ; do jq-1.5 -n . > /dev/null; done'
real 4.69
user 2.58
sys 1.15
% time bash -c 'for i in `seq 1 1000` ; do jq-1.6 -n . > /dev/null; done'
real 28.18
user 24.83
sys 1.72 |
On an old laptop, with jq 1.7: $ time bash -c 'for i in `seq 1 1000` ; do jq -n . > /dev/null; done'
real 0m3.564s
user 0m2.007s
sys 0m1.595s jq 1.7 has been released; closing |
Processing the same data
jq 1.6
real 0m1.957s
user 0m1.744s
sys 0m0.004s
jq 1.5
real 0m0.177s
user 0m0.012s
sys 0m0.004s
The text was updated successfully, but these errors were encountered: