Closed Bug 254241 Opened 20 years ago Closed 20 years ago

Do not lookup gtk_style_get_prop_experimental in GTK2 build

Categories

(SeaMonkey :: Themes, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: yuanyi21, Assigned: yuanyi21)

Details

(Keywords: fixed-aviary1.0, fixed1.7.5, perf)

Attachments

(1 file)

http://lxr.mozilla.org/seamonkey/source/gfx/src/gtk/nsNativeThemeGTK.cpp#96
looks up the gtk_style_get_prop_experimental in *all* libraries. That consumes a
lot of time when mozilla startup (~70% of total startup time on Solaris).
Actually, this function does not exist in gtk2 library at all. We should exclude
this from gtk2 build until someone points out some equivalent function in gtk2. 

But anyway, calling PR_FindFunctionSymbolAndLibrary at startup seems a little
bit crazy to me.
Attached patch proposed patchSplinter Review
with this patch, mozilla (solaris-sparc-gtk2) startup time can be reduced by
70%.
Attachment #155145 - Flags: review?(bryner)
Attachment #155145 - Flags: review?(bryner) → review+
Attachment #155145 - Flags: superreview?(blizzard)
Flags: blocking1.8a4?
could we get this to bake on a Linux or Sun tinderbox to see check the startup
time improvement ? With bug 197301, startup time will then be very low. 
Flags: blocking-aviary1.0?
Keywords: perf
the performance improvement on Linux is not obvious. maybe the problem is in
solaris' dlsym(). I don't know.
Attachment #155145 - Flags: superreview?(blizzard) → superreview+
We're not going to hold the 1.8a4 release for this, but it's all ready to land
so if you want it in for a4, please get it landed quickly. 
Flags: blocking1.8a4? → blocking1.8a4-
fixed.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
If the patch author or reviewers believe this belongs on the aviary branch,
please request approval. 
Flags: blocking-aviary1.0? → blocking-aviary1.0-
I think the patch is worth to be landed on aviary, because it's harmless and
very helpful to improve firefox's performance on Solaris.
Flags: blocking-aviary1.0- → blocking-aviary1.0?
Comment on attachment 155145 [details] [diff] [review]
proposed patch

a=asa for checkin to aviary branch.
Attachment #155145 - Flags: approval-aviary+
fixed in aviary branch.
Keywords: fixed-aviary1.0
is there a bug about the equiv of gtk_stype_get_prop_experimental in gtk2?
Flags: blocking-aviary1.0?
Keywords: fixed1.7.5
Product: Core → SeaMonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: