-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Investigate slow formatting #6016
Comments
We may need to take the line count after formatting. The same is probably true for most other files in the |
good point, do you want to edit the OP with counts or should i change the script to sort differently? we could also use a file size filter or a millisecond per kilobyte formatted score. |
Sorry for the late reply. I think including the file size would be a good metric. Ideally, we would use the file size after formatting because it makes the file easier to compare. But that's probably somewhat hard. Edit: I started updating a few |
I updated the table with the original and formatted file size. I'm not too concerned about the many MB files. But we may want to take a look why some of the <= 4MB file take so long to format. |
@konstin I remember that you changed the diffing algorithm. Do you know if this is still a problem or if we can close the issue? |
Let's close this. A pass over the slowest files would be nice but not pressing given the current performance on the test projects |
Some files are much slower to format than others, i've posted the top 20 below (for context: i can format 294k files in 290s on my 8 threads laptop, so roughly an average of 8ms per file, the real median is likely a good bit lower). The exact timings and order are inaccurate since we they come from the ecosystem check which runs in parallel, but no files should be that slow, especially since the files aren't that large. We need to format these files with a profiler attached (see CONTRIBUTING.md for instructions), find the bottleneck and optimize the relevant function.
angr:angr/angr/procedures/definitions/win32_fwpuclnt.py
angr:angr/angr/procedures/definitions/win32_rpcrt4.py
kevoreilly:CAPEv2/tests/utils_pretty_print_funcs_data.py
angr:angr/angr/procedures/definitions/win32_propsys.py
angr:angr/angr/procedures/definitions/win32_dnsapi.py
angr:angr/angr/procedures/definitions/win32_crypt32.py
angr:angr/angr/procedures/definitions/win32_kernel32.py
sympy:sympy/sympy/physics/quantum/tests/test_spin.py
debian-calibre:calibre/src/calibre/ebooks/unihandecode/jacodepoints.py
debian-calibre:calibre/src/calibre/ebooks/unihandecode/zhcodepoints.py
debian-calibre:calibre/src/calibre/ebooks/unihandecode/krcodepoints.py
pwndbg:pwndbg/pwndbg/lib/functions.py
angr:angr/angr/procedures/definitions/win32_icu.py
angr:angr/angr/procedures/definitions/win32_oleaut32.py
angr:angr/angr/procedures/definitions/win32_wldap32.py
angr:angr/angr/procedures/definitions/win32_advapi32.py
kovidgoyal:calibre/src/calibre/ebooks/unihandecode/vncodepoints.py
kovidgoyal:calibre/src/calibre/ebooks/unihandecode/jacodepoints.py
angr:angr/angr/procedures/definitions/win32_user32.py
kovidgoyal:calibre/src/calibre/ebooks/unihandecode/krcodepoints.py
The text was updated successfully, but these errors were encountered: