path: root/ui/qt/wireshark_zh_CN.ts
diff options
authorPeter Wu <peter@lekensteyn.nl>2018-09-22 13:47:22 +0200
committerAnders Broman <a.broman58@gmail.com>2018-09-22 15:44:20 +0000
commited0741ffbd87d113033e0b1d9a4ac80c93a1f1e7 (patch)
tree19730b01a90ee2c3590f263a25707b5134d27d64 /ui/qt/wireshark_zh_CN.ts
parent557649fc566094c502fa5f475febde6fa2ef852e (diff)
fix-encoding-args.pl: fix terrible performance with large files
"fix-encoding-args.pl epan/dissectors/packet-ieee80211.c" used to take over 12 seconds to complete. After this change it is reduced to 400ms. Profiling with Devel::NYTProf showed two issues: - find_hf_array_entries (5 seconds): matching leading whitespace triggers a candidate match against every line. Fix this by removing whitespace prior to matching. - fix_encoding_args_by_hf_type (7.5 seconds): executing 2131 different substitution patterns is slow. Fix this by grouping field names and execute the substitution only once afterwards (in total 6 calls). packet-rrc.c is by far the largest file with 215k lines, this used to take forever (321s) and now completes in 1.3s. Regression tested by removing "ENC_ASCII" and "ENC_UTF_8" in dissect_venue_name_info, the expected warnings are still visible. Change-Id: I071038e8fcb56474ac41223568ce6724258c059d Reviewed-on: https://code.wireshark.org/review/29789 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'ui/qt/wireshark_zh_CN.ts')
0 files changed, 0 insertions, 0 deletions