Re: ideas on improving the performance of gtk_tree_view
- From: markku vire iki fi
- To: Federico Mena Quintero <federico ximian com>
- Cc: gtk-devel-list gnome org
- Subject: Re: ideas on improving the performance of gtk_tree_view
- Date: Thu, 29 Mar 2007 17:43:51 +0300
Hi,
On Mon, 2007-03-26 at 19:06 -0600, Federico Mena Quintero wrote:
I was looking at the GtkTreeView code and it looks like there are other
> places that could get the array treatment. One place in particular was
> the sorting machinery... GtkListStore also uses a GList of information
> for the sort headers, and walks the list in g_list_store_compare_func
> (!).
>
Using arrays in GtkTreeDataSortHeader doesn't appear to be optimal,
because their length is not constant. We would end up to
alloc/dealloc/copy sequence when adding new items.
They are also accessed according to sort_id (which can come from
application program and are not neccesarily contiguous). This means
that if we would have an ordered vector we could reach O(log n)
search time. Yes, it's better than current O(n) one.
However, why this step is needed at all for each comparisison!!
It's certainly the case that there will be more sort function calls
than changes to sort criteria. This would allow us to cache the pointer
to active GtkTreeDataSortHeader directly, providing us constant time
O(1) access. Or did I miss something?
-Markku-
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]