Wireshark-commits: [Wireshark-commits] master f19a173: Speed up column sorting.

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Fri, 28 Aug 2015 02:54:32 +0000 (UTC)
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=f19a173a8409ff62a77939e66b4a97d26cc5c149
Submitter: Gerald Combs (gerald@xxxxxxxxxxxxx)
Changed: branch: master
Repository: wireshark

Commits:

f19a173 by Gerald Combs (gerald@xxxxxxxxxxxxx):

    Speed up column sorting.
    
    The GTK+ UI sequentially dissects and caches column strings for all rows
    before sorting a column. Do the same in the Qt UI, which can improve
    performance considerably.
    
    Don't colorize packets when sorting in the Qt UI unless it's necessary.
    
    When sorting in the Qt UI, let the user cancel the initial packet
    dissection.  Note that we'll need to replace std::sort in order to
    cancel out of sorting.
    
    Use a pre-allocated and pre-compiled GRexex when we prime columns. Note
    that we probably shouldn't parse a regular expression there.
    
    Cache the last result of proto_registrar_get_byname.
    
    Note performance hot spots elsewhere in the code.
    
    To do:
    
    GeoIP in packet-ip.c is pretty slow.
    
    Bug: 11467
    Change-Id: Ib34038fee08ef0319261faeffc4eca01e52f4bd3
    Reviewed-on: https://code.wireshark.org/review/10275
    Petri-Dish: Gerald Combs <gerald@xxxxxxxxxxxxx>
    Tested-by: Petri Dish Buildbot <buildbot-no-reply@xxxxxxxxxxxxx>
    Reviewed-by: Gerald Combs <gerald@xxxxxxxxxxxxx>
    

Actions performed:

    from  01fb470   More retapping fixups.
    adds  f19a173   Speed up column sorting.


Summary of changes:
 epan/column-info.h           |    1 +
 epan/column-utils.c          |    8 +++--
 epan/proto.c                 |   37 +++++++++++++++++++--
 ui/qt/main_status_bar.cpp    |   23 +++++++++++--
 ui/qt/main_status_bar.h      |    4 +++
 ui/qt/main_window.cpp        |    6 ++++
 ui/qt/packet_list.cpp        |    4 ---
 ui/qt/packet_list_model.cpp  |   73 +++++++++++++++++++++++++++++++-----------
 ui/qt/packet_list_model.h    |    5 +++
 ui/qt/packet_list_record.cpp |   13 +++++---
 ui/qt/packet_list_record.h   |    3 +-
 11 files changed, 141 insertions(+), 36 deletions(-)