talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit dea802d0abee36c3985b2d3a9da90fa662e0186c
parent 3a8a9a3168989c69ce55528f17cbfe435abe3195
Author: Oliver Lowe <o@olowe.co>
Date:   Wed, 13 Aug 2025 17:27:28 +1000

Drop home-grown profiling

Now that we've got zig we can profile using its built-in testing

Diffstat:
Mconfigure.ac | 14--------------
Msrc/advsearch.c | 8--------
Msrc/common/Makefile.am | 1-
Msrc/common/file-utils.c | 1-
Dsrc/common/timing.h | 105-------------------------------------------------------------------------------
Msrc/common/utils.c | 1-
Msrc/compose.c | 3---
Msrc/folder.c | 5-----
Msrc/folderview.c | 9---------
Msrc/main.c | 3---
Msrc/mh.c | 1-
Msrc/mimeview.c | 1-
Msrc/msgcache.c | 5-----
Msrc/password.c | 3---
Msrc/procmime.c | 1-
Msrc/procmsg.c | 5-----
Msrc/summaryview.c | 32--------------------------------
Msrc/textview.c | 17-----------------
18 files changed, 0 insertions(+), 215 deletions(-)

diff --git a/configure.ac b/configure.ac @@ -1,4 +1,3 @@ - AC_PREREQ([2.69]) m4_define([claws_VERSION], @@ -221,10 +220,6 @@ AC_ARG_ENABLE(more-addressbook-debug, [ --enable-more-addressbook-debug Build with additional addressbook debug calls], [enable_more_addressbook_debug=$enableval], [enable_more_addressbook_debug=no]) -AC_ARG_ENABLE(timing-debug, - [ --enable-timing-debug Build with timing debug calls], - [enable_timing_debug=$enableval], [enable_timing_debug=no]) - manualdir='${docdir}/manual' AC_ARG_WITH(manualdir, [ --with-manualdir=DIR Manual directory], @@ -571,15 +566,6 @@ else AC_MSG_RESULT(no) fi -AC_MSG_CHECKING([whether to build with timing debug calls]) -if test x$enable_timing_debug = xyes; then - more_debug_output_modules="$more_debug_output_modules timing" - AC_MSG_RESULT(yes) - AC_DEFINE(DEBUG_TIMING, 1, [Define if you want timing debug calls]) -else - AC_MSG_RESULT(no) -fi - dnl expat ********************************************************************** PKG_CHECK_MODULES(EXPAT, expat, HAVE_EXPAT=yes, HAVE_EXPAT=no) diff --git a/src/advsearch.c b/src/advsearch.c @@ -30,7 +30,6 @@ #include "matcher_parser.h" #include "utils.h" #include "prefs_common.h" -#include "timing.h" struct _AdvancedSearch { struct { @@ -523,9 +522,7 @@ static gboolean search_impl(MsgInfoList **messages, AdvancedSearch* search, FolderItem* folderItem, gboolean recursive) { if (recursive) { - START_TIMING("recursive"); if (!search_impl(messages, search, folderItem, FALSE)) { - END_TIMING(); return FALSE; } if (folderItem->node->children != NULL && !search->search_aborted) { @@ -534,22 +531,18 @@ static gboolean search_impl(MsgInfoList **messages, AdvancedSearch* search, FolderItem *cur = FOLDER_ITEM(node->data); debug_print("in: %s\n", cur->path); if (!search_impl(messages, search, cur, TRUE)) { - END_TIMING(); return FALSE; } } } - END_TIMING(); } else if (!folderItem->no_select) { MsgNumberList *msgnums = NULL; MsgNumberList *cur; MsgInfoList *msgs = NULL; gboolean can_search_on_server = folderItem->folder->klass->supports_server_search; - START_TIMING("folder"); if (!search_filter_folder(&msgnums, search, folderItem, can_search_on_server)) { g_slist_free(msgnums); - END_TIMING(); return FALSE; } @@ -569,7 +562,6 @@ static gboolean search_impl(MsgInfoList **messages, AdvancedSearch* search, } g_slist_free(msgnums); - END_TIMING(); } return TRUE; diff --git a/src/common/Makefile.am b/src/common/Makefile.am @@ -68,7 +68,6 @@ clawscommoninclude_HEADERS = $(arch_headers) \ claws.h \ tags.h \ template.h \ - timing.h \ utils.h \ uuencode.h \ version.h \ diff --git a/src/common/file-utils.c b/src/common/file-utils.c @@ -32,7 +32,6 @@ #include "defs.h" #include "codeconv.h" -#include "timing.h" #include "file-utils.h" gboolean prefs_common_get_flush_metadata(void); diff --git a/src/common/timing.h b/src/common/timing.h @@ -1,105 +0,0 @@ -/* - * Claws Mail -- a GTK based, lightweight, and fast e-mail client - * Copyright (C) 2005-2025 the Claws Mail team and Colin Leroy - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -/* - * This is a (quite naive) timer, to help determine the speed of various - * functions of Claws. By default START_TIMING() and END_TIMING() are NOPS, - * so that nothing gets printed out. If you change the #if, however, you'll - * be able to get functions timing information. As the implementation is - * naive, START_TIMING("message"); must be present just at the end of a - * declaration block (or compilation would fail with gcc 2.x), and the - * END_TIMING() call must be in the same scope. - */ -#ifndef __TIMING_H__ -#define __TIMING_H__ - -#include <glib.h> -#include <sys/time.h> -#ifdef HAVE_CONFIG_H -#include "claws-features.h" -#endif - -#include "utils.h" -# define mytimersub(a, b, result) \ - do { \ - (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \ - (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \ - if ((result)->tv_usec < 0) { \ - --(result)->tv_sec; \ - (result)->tv_usec += 1000000; \ - } \ - } while (0) - -#ifndef DEBUG_TIMING -#define START_TIMING(str) do {} while(0); -#define END_TIMING() do {} while(0); -#else - -#ifdef G_OS_WIN32 - -#include <windows.h> - -/* no {} by purpose */ -#define START_TIMING(str) \ - LARGE_INTEGER frequency; \ - LARGE_INTEGER start; \ - LARGE_INTEGER end; \ - LARGE_INTEGER diff; \ - const char *timing_name=str; \ - QueryPerformanceFrequency (&frequency); \ - QueryPerformanceCounter (&start); - -#define END_TIMING() \ - QueryPerformanceCounter (&end); \ - diff.QuadPart = \ - (end.QuadPart - start.QuadPart) \ - * 1000000/frequency.QuadPart; \ - debug_print("TIMING %s: %ds%03dms\n", timing_name, \ - (unsigned int) (diff.QuadPart / 1000000), \ - (unsigned int) ((diff.QuadPart / 1000) % 1000)); - -#else -/* no {} by purpose */ -#define START_TIMING(str) \ - struct timeval start; \ - struct timeval end; \ - struct timeval diff; \ - const char *timing_name=str; \ - gettimeofday(&start, NULL); - -#ifdef __GLIBC__ -#define END_TIMING() \ - gettimeofday(&end, NULL); \ - mytimersub(&end, &start, &diff); \ - debug_print("TIMING %s %s: %ds%03dms\n", \ - __FUNCTION__, \ - timing_name, (unsigned int)diff.tv_sec, \ - (unsigned int)diff.tv_usec/1000); -#else -#define END_TIMING() \ - gettimeofday(&end, NULL); \ - mytimersub(&end, &start, &diff); \ - debug_print("TIMING %s: %ds%03dms\n", \ - timing_name, (unsigned int)diff.tv_sec, \ - (unsigned int)diff.tv_usec/1000); -#endif - -#endif -#endif -#endif diff --git a/src/common/utils.c b/src/common/utils.c @@ -68,7 +68,6 @@ #include "utils.h" #include "socket.h" #include "codeconv.h" -#include "timing.h" #include "file-utils.h" #include "fence.h" diff --git a/src/compose.c b/src/compose.c @@ -98,7 +98,6 @@ #include "combobox.h" #include "hooks.h" #include "privacy.h" -#include "timing.h" #include "autofaces.h" #include "spell_entry.h" #include "headers.h" @@ -1497,7 +1496,6 @@ static Compose *compose_generic_reply(MsgInfo *msginfo, gboolean quote = FALSE; const gchar *body_fmt = NULL; gchar *s_system = NULL; - START_TIMING(""); cm_return_val_if_fail(msginfo != NULL, NULL); cm_return_val_if_fail(msginfo->folder != NULL, NULL); @@ -1659,7 +1657,6 @@ static Compose *compose_generic_reply(MsgInfo *msginfo, compose_destroy(compose); return NULL; } - END_TIMING(); return compose; } diff --git a/src/folder.c b/src/folder.c @@ -53,7 +53,6 @@ #include "partial_download.h" #include "statusbar.h" #include "gtkutils.h" -#include "timing.h" #include "compose.h" #include "main.h" #include "msgcache.h" @@ -2044,7 +2043,6 @@ static void folder_item_process_open (FolderItem *item, gint folder_item_open(FolderItem *item) { - START_TIMING(""); if (item->no_select) return -1; @@ -2057,7 +2055,6 @@ gint folder_item_open(FolderItem *item) folder_item_process_open (item, NULL, NULL, NULL); item->opened = TRUE; - END_TIMING(); return 0; } @@ -2649,7 +2646,6 @@ static void folder_item_clean_local_files(FolderItem *item, gint days) static void folder_item_read_cache(FolderItem *item) { gchar *cache_file, *mark_file, *tags_file; - START_TIMING(""); cm_return_if_fail(item != NULL); if (item->path != NULL) { @@ -2726,7 +2722,6 @@ static void folder_item_read_cache(FolderItem *item) item->tags_dirty = TRUE; } - END_TIMING(); folder_clean_cache_memory(item); } diff --git a/src/folderview.c b/src/folderview.c @@ -56,7 +56,6 @@ #include "filtering.h" #include "quicksearch.h" #include "manual.h" -#include "timing.h" #include "log.h" #include "gtkcmctree.h" @@ -2249,7 +2248,6 @@ static void folderview_selected(GtkCMCTree *ctree, GtkCMCTreeNode *row, FolderItem *item; int res = 0; GtkCMCTreeNode *old_opened = folderview->opened; - START_TIMING(""); folderview->selected = row; display = gdk_display_get_default(); @@ -2260,13 +2258,11 @@ static void folderview_selected(GtkCMCTree *ctree, GtkCMCTreeNode *row, folderview->opened); if (folderview->opened == row) { folderview->open_folder = FALSE; - END_TIMING(); return; } item = gtk_cmctree_node_get_row_data(ctree, row); if (!item) { - END_TIMING(); folderview->open_folder = FALSE; return; } @@ -2277,12 +2273,10 @@ static void folderview_selected(GtkCMCTree *ctree, GtkCMCTreeNode *row, gtk_cmctree_select(ctree, folderview->opened); } folderview->open_folder = FALSE; - END_TIMING(); return; } if (!folderview->open_folder) { - END_TIMING(); return; } @@ -2338,7 +2332,6 @@ static void folderview_selected(GtkCMCTree *ctree, GtkCMCTreeNode *row, folderview->open_folder = FALSE; can_select = TRUE; - END_TIMING(); return; } else if (res == -2 && item->no_select == FALSE) { PostponedSelectData *data = g_new0(PostponedSelectData, 1); @@ -2353,7 +2346,6 @@ static void folderview_selected(GtkCMCTree *ctree, GtkCMCTreeNode *row, if (folderview->postpone_select_id != 0) g_source_remove(folderview->postpone_select_id); folderview->postpone_select_id = g_timeout_add(500, postpone_select, data); - END_TIMING(); return; } @@ -2380,7 +2372,6 @@ static void folderview_selected(GtkCMCTree *ctree, GtkCMCTreeNode *row, folderview->open_folder = FALSE; can_select = TRUE; - END_TIMING(); } static void folderview_tree_expanded(GtkCMCTree *ctree, GtkCMCTreeNode *node, diff --git a/src/main.c b/src/main.c @@ -137,7 +137,6 @@ #include "version.h" -#include "timing.h" gchar *prog_version; @@ -566,7 +565,6 @@ int main(int argc, char *argv[]) gboolean mainwin_shown = FALSE; gint ret; - START_TIMING("startup"); sc_starting = TRUE; @@ -981,7 +979,6 @@ int main(int argc, char *argv[]) lock_socket_input_cb, mainwin, TRUE); - END_TIMING(); gtk_main(); utils_free_regex(); diff --git a/src/mh.c b/src/mh.c @@ -40,7 +40,6 @@ #include "codeconv.h" #include "statusbar.h" #include "gtkutils.h" -#include "timing.h" #include "msgcache.h" #include "file-utils.h" #include "prefs_common.h" diff --git a/src/mimeview.c b/src/mimeview.c @@ -47,7 +47,6 @@ #include "stock_pixmap.h" #include "gtk/gtkvscrollbutton.h" #include "gtk/logwindow.h" -#include "timing.h" #include "manage_window.h" #include "privacy.h" #include "file-utils.h" diff --git a/src/msgcache.c b/src/msgcache.c @@ -38,7 +38,6 @@ #include "utils.h" #include "procmsg.h" #include "codeconv.h" -#include "timing.h" #include "tags.h" #include "prefs_common.h" #include "file-utils.h" @@ -256,14 +255,12 @@ static void msgcache_get_msg_list_func(gpointer key, gpointer value, gpointer us MsgInfoList *msgcache_get_msg_list(MsgCache *cache) { MsgInfoList *msg_list = NULL; - START_TIMING(""); cm_return_val_if_fail(cache != NULL, NULL); g_hash_table_foreach((GHashTable *)cache->msgnum_table, msgcache_get_msg_list_func, (gpointer)&msg_list); cache->last_access = time(NULL); msg_list = g_slist_reverse(msg_list); - END_TIMING(); return msg_list; } @@ -1059,7 +1056,6 @@ gint msgcache_write(const gchar *cache_file, const gchar *mark_file, const gchar gchar *new_cache = NULL, *new_mark = NULL, *new_tags = NULL; int w_err = 0, wrote = 0; - START_TIMING(""); cm_return_val_if_fail(cache != NULL, -1); if (cache_file) @@ -1186,7 +1182,6 @@ gint msgcache_write(const gchar *cache_file, const gchar *mark_file, const gchar g_free(new_mark); g_free(new_tags); debug_print("msgcache_write() done.\n"); - END_TIMING(); return 0; } diff --git a/src/password.c b/src/password.c @@ -32,7 +32,6 @@ #include "common/passcrypt.h" #include "common/pkcs5_pbkdf2.h" -#include "common/timing.h" #include "common/utils.h" #include "account.h" #include "alertpanel.h" @@ -85,10 +84,8 @@ static guchar *_make_key_deriv(const gchar *passphrase, guint rounds, salt = g_base64_decode(saltpref, &saltlen); kd = g_malloc0(length); - START_TIMING("PBKDF2"); ret = pkcs5_pbkdf2(passphrase, strlen(passphrase), salt, saltlen, kd, length, rounds); - END_TIMING(); g_free(salt); diff --git a/src/procmime.c b/src/procmime.c @@ -49,7 +49,6 @@ #include "prefs_common.h" #include "prefs_gtk.h" #include "alertpanel.h" -#include "timing.h" #include "privacy.h" #include "account.h" #include "file-utils.h" diff --git a/src/procmsg.c b/src/procmsg.c @@ -48,7 +48,6 @@ #include "summaryview.h" #include "log.h" #include "tags.h" -#include "timing.h" #include "inc.h" #include "privacy.h" #include "file-utils.h" @@ -214,7 +213,6 @@ GNode *procmsg_get_thread_tree(GSList *mlist) MsgInfo *msginfo; const gchar *msgid; GSList *reflist; - START_TIMING(""); root = g_node_new(NULL); msgid_table = g_hash_table_new(g_str_hash, g_str_equal); @@ -275,7 +273,6 @@ GNode *procmsg_get_thread_tree(GSList *mlist) } if (prefs_common.thread_by_subject) { - START_TIMING("thread by subject"); for (node = root->children; node && node != NULL;) { next = node->next; msginfo = (MsgInfo *) node->data; @@ -299,7 +296,6 @@ GNode *procmsg_get_thread_tree(GSList *mlist) node = next; } - END_TIMING(); } if (prefs_common.thread_by_subject) @@ -309,7 +305,6 @@ GNode *procmsg_get_thread_tree(GSList *mlist) } g_hash_table_destroy(msgid_table); - END_TIMING(); return root; } diff --git a/src/summaryview.c b/src/summaryview.c @@ -72,7 +72,6 @@ #include "quicksearch.h" #include "partial_download.h" #include "tags.h" -#include "timing.h" #include "log.h" #include "edittags.h" #include "manual.h" @@ -1136,7 +1135,6 @@ static void summaryview_quicksearch_recurse(SummaryView *summaryview) || summaryview->folder_item == NULL) { return; } - START_TIMING(""); main_window_cursor_wait(summaryview->mainwin); summaryview_reset_recursive_folder_match(summaryview); @@ -1145,14 +1143,12 @@ static void summaryview_quicksearch_recurse(SummaryView *summaryview) summaryview_quicksearch_search_subfolders(summaryview, summaryview->folder_item); main_window_cursor_normal(summaryview->mainwin); - END_TIMING(); } static gboolean summary_check_consistency(FolderItem *item, GSList *mlist) { int u = 0, n = 0, m = 0, t = 0, r = 0, f = 0, l = 0, i = 0, w = 0; GSList *cur; - START_TIMING(""); for(cur = mlist ; cur != NULL && cur->data != NULL ; cur = g_slist_next(cur)) { MsgInfo * msginfo = (MsgInfo *) cur->data; t++; @@ -1186,10 +1182,8 @@ static gboolean summary_check_consistency(FolderItem *item, GSList *mlist) || item->unreadmarked_msgs < 0) { debug_print("Inconsistency\n"); folder_item_scan_full(item, FALSE); - END_TIMING(); return FALSE; } - END_TIMING(); return TRUE; } @@ -1224,7 +1218,6 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid if (!summaryview->mainwin) return FALSE; - START_TIMING(""); summary_switch_from_to(summaryview, item); inc_lock(); @@ -1288,7 +1281,6 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid } else { summary_unlock(summaryview); inc_unlock(); - END_TIMING(); return FALSE; } if (changed || !quicksearch_has_sat_predicate(summaryview->quicksearch)) @@ -1315,7 +1307,6 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid summary_thaw(summaryview); summary_unlock(summaryview); inc_unlock(); - END_TIMING(); return TRUE; } g_free(buf); @@ -1345,7 +1336,6 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid procmsg_msg_list_free(mlist); mlist = NULL; - START_TIMING("quicksearch"); statusbar_print_all(_("Searching in %s... \n"), summaryview->folder_item->path ? @@ -1368,10 +1358,8 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid summary_unlock(summaryview); inc_unlock(); summary_show(summaryview, summaryview->folder_item, FALSE); - END_TIMING(); return FALSE; } - END_TIMING(); } if ((summaryview->folder_item->hide_read_msgs @@ -1427,7 +1415,6 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid } if (!hidden_removed) { - START_TIMING("removing hidden"); not_killed = NULL; for(cur = mlist ; cur != NULL && cur->data != NULL ; cur = g_slist_next(cur)) { MsgInfo * msginfo = (MsgInfo *) cur->data; @@ -1439,7 +1426,6 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid } g_slist_free(mlist); mlist = not_killed; - END_TIMING(); } STATUSBAR_POP(summaryview->mainwin); @@ -1616,7 +1602,6 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid main_window_cursor_normal(summaryview->mainwin); summary_unlock(summaryview); inc_unlock(); - END_TIMING(); return TRUE; } @@ -2944,7 +2929,6 @@ void summary_sort(SummaryView *summaryview, GtkCMCTree *ctree = GTK_CMCTREE(summaryview->ctree); GtkCMCList *clist = GTK_CMCLIST(summaryview->ctree); GtkCMCListCompareFunc cmp_func = NULL; - START_TIMING(""); g_signal_handlers_block_by_func(G_OBJECT(summaryview->ctree), G_CALLBACK(summary_tree_expanded), summaryview); summary_freeze(summaryview); @@ -3033,7 +3017,6 @@ unlock: summary_thaw(summaryview); g_signal_handlers_unblock_by_func(G_OBJECT(summaryview->ctree), G_CALLBACK(summary_tree_expanded), summaryview); - END_TIMING(); } static gboolean summary_update_thread_age(GNode *node, gpointer data) @@ -3177,7 +3160,6 @@ static void summary_set_ctree_from_list(SummaryView *summaryview, gboolean vert_layout = (prefs_common.layout_mode == VERTICAL_LAYOUT); gboolean small_layout = (prefs_common.layout_mode == SMALL_LAYOUT); - START_TIMING(""); if (!mlist) return; @@ -3206,7 +3188,6 @@ static void summary_set_ctree_from_list(SummaryView *summaryview, if (summaryview->threaded) { GNode *root, *gnode; - START_TIMING("threaded"); root = procmsg_get_thread_tree(mlist); @@ -3224,10 +3205,8 @@ static void summary_set_ctree_from_list(SummaryView *summaryview, g_node_destroy(root); - END_TIMING(); } else { gchar *text[N_SUMMARY_COLS]; - START_TIMING("unthreaded"); cur = mlist; for (; mlist != NULL; mlist = mlist->next) { msginfo = (MsgInfo *)mlist->data; @@ -3254,7 +3233,6 @@ static void summary_set_ctree_from_list(SummaryView *summaryview, node); } mlist = cur; - END_TIMING(); } if (prefs_common.enable_hscrollbar && @@ -3286,19 +3264,16 @@ static void summary_set_ctree_from_list(SummaryView *summaryview, node = GTK_CMCTREE_NODE(GTK_CMCLIST(ctree)->row_list); if (prefs_common.bold_unread || prefs_common.bold_marked) { - START_TIMING("bold_unread/bold_marked"); while (node) { GtkCMCTreeNode *next = GTK_CMCTREE_NODE_NEXT(node); if (GTK_CMCTREE_ROW(node)->children) summary_set_row_marks(summaryview, node); node = next; } - END_TIMING(); } g_signal_handlers_unblock_by_func(G_OBJECT(ctree), G_CALLBACK(summary_tree_expanded), summaryview); - END_TIMING(); } static gchar *summary_complete_address(const gchar *addr) @@ -3662,7 +3637,6 @@ static void summary_display_msg_full(SummaryView *summaryview, GtkCMCTree *ctree = GTK_CMCTREE(summaryview->ctree); MsgInfo *msginfo; gint val; - START_TIMING(""); if (!new_window) { if (summaryview->displayed == row && messageview_is_visible(summaryview->messageview)) @@ -3683,7 +3657,6 @@ static void summary_display_msg_full(SummaryView *summaryview, if (!msginfo) { debug_print("NULL msginfo\n"); summary_unlock(summaryview); - END_TIMING(); return; } @@ -3747,7 +3720,6 @@ static void summary_display_msg_full(SummaryView *summaryview, messageview_set_menu_sensitive(summaryview->messageview); summary_unlock(summaryview); - END_TIMING(); } void summary_display_msg_selected(SummaryView *summaryview, @@ -5525,7 +5497,6 @@ static void summary_thread_init(SummaryView *summaryview) GtkCMCTree *ctree = GTK_CMCTREE(summaryview->ctree); GtkCMCTreeNode *node = GTK_CMCTREE_NODE(GTK_CMCLIST(ctree)->row_list); GtkCMCTreeNode *next; - START_TIMING(""); if (!summaryview->thread_collapsed) { g_signal_handlers_block_by_func(G_OBJECT(ctree), G_CALLBACK(summary_tree_expanded), summaryview); @@ -5538,7 +5509,6 @@ static void summary_thread_init(SummaryView *summaryview) g_signal_handlers_unblock_by_func(G_OBJECT(ctree), G_CALLBACK(summary_tree_expanded), summaryview); } - END_TIMING(); } static void summary_unthread_for_exec(SummaryView *summaryview) @@ -7317,7 +7287,6 @@ static void summary_sort_by_column_click(SummaryView *summaryview, } GtkCMCTreeNode *node = NULL; - START_TIMING(""); if (summaryview->sort_key == sort_key) summary_sort(summaryview, sort_key, summaryview->sort_type == SORT_ASCENDING @@ -7337,7 +7306,6 @@ static void summary_sort_by_column_click(SummaryView *summaryview, } } summary_thaw(summaryview); - END_TIMING(); } static void summary_mark_clicked(GtkWidget *button, SummaryView *summaryview) diff --git a/src/textview.c b/src/textview.c @@ -58,7 +58,6 @@ #include "image_viewer.h" #include "filesel.h" #include "inputdialog.h" -#include "timing.h" #include "tags.h" #include "manage_window.h" #include "folder_item_prefs.h" @@ -605,7 +604,6 @@ void textview_reflect_prefs(TextView *textview) void textview_show_part(TextView *textview, MimeInfo *mimeinfo, FILE *fp) { - START_TIMING(""); cm_return_if_fail(mimeinfo != NULL); cm_return_if_fail(fp != NULL); @@ -628,7 +626,6 @@ void textview_show_part(TextView *textview, MimeInfo *mimeinfo, FILE *fp) textview->stop_loading = FALSE; textview_set_position(textview, 0); - END_TIMING(); } static void textview_add_part(TextView *textview, MimeInfo *mimeinfo) @@ -643,7 +640,6 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo) gchar *content_type; gint charcount; - START_TIMING(""); cm_return_if_fail(mimeinfo != NULL); text = GTK_TEXT_VIEW(textview->text); @@ -655,7 +651,6 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo) return; } if (mimeinfo->type == MIMETYPE_MULTIPART) { - END_TIMING(); return; } @@ -669,13 +664,11 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo) fp = g_fopen(mimeinfo->data.filename, "rb"); if (!fp) { FILE_OP_ERROR(mimeinfo->data.filename, "g_fopen"); - END_TIMING(); return; } if (fseek(fp, mimeinfo->offset, SEEK_SET) < 0) { FILE_OP_ERROR(mimeinfo->data.filename, "fseek"); fclose(fp); - END_TIMING(); return; } headers = textview_scan_header(textview, fp); @@ -690,7 +683,6 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo) procheader_header_array_destroy(headers); } fclose(fp); - END_TIMING(); return; } @@ -721,18 +713,15 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo) GError *error = NULL; ClickableText *uri; - START_TIMING("inserting image"); pixbuf = procmime_get_part_as_pixbuf(mimeinfo, &error); if (error != NULL) { g_warning("can't load the image: %s", error->message); g_error_free(error); - END_TIMING(); return; } if (textview->stop_loading) { - END_TIMING(); return; } @@ -742,7 +731,6 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo) allocation.height); if (textview->stop_loading) { - END_TIMING(); return; } @@ -768,7 +756,6 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo) gtk_text_buffer_apply_tag_by_name(buffer, "link", &start_iter, &iter); - END_TIMING(); GTK_EVENTS_FLUSH(); } } else if (mimeinfo->type == MIMETYPE_TEXT) { @@ -787,21 +774,18 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo) gtk_text_buffer_create_mark(buffer, "body_end", &iter, TRUE); } } - END_TIMING(); } static void recursive_add_parts(TextView *textview, GNode *node) { GNode * iter; MimeInfo *mimeinfo; - START_TIMING(""); mimeinfo = (MimeInfo *) node->data; textview_add_part(textview, mimeinfo); if ((mimeinfo->type != MIMETYPE_MULTIPART) && (mimeinfo->type != MIMETYPE_MESSAGE)) { - END_TIMING(); return; } if (g_ascii_strcasecmp(mimeinfo->subtype, "alternative") == 0) { @@ -847,7 +831,6 @@ static void recursive_add_parts(TextView *textview, GNode *node) recursive_add_parts(textview, iter); } } - END_TIMING(); } static void textview_add_parts(TextView *textview, MimeInfo *mimeinfo)