[Webkit-unassigned] [Bug 16302] New: [GTK] Compiler flags for optimization

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Dec 4 20:51:05 PST 2007


http://bugs.webkit.org/show_bug.cgi?id=16302

           Summary: [GTK] Compiler flags for optimization
           Product: WebKit
           Version: 525+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit Gtk
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: alp at atoker.com
                CC: mjs at apple.com


There are some compiler flags which may help increase performance and reduce
footprint in the GTK+ port.

Some appear straightforward, given that we make no use of exceptions or rtti in
JSC, WebCore or WebKit (these mainly help reduce code size, but also improve
performance):

    -fno-exceptions -fno-rtti

Others flags reported to yield benefits by the Apple WebKit team:

    -O3 makes a big difference over -O2
    -fomit-frame-pointer is a big win

Reportedly significant for JSC:

    -fstrict-aliasing

Some other flags I noticed, that may or may not be relevant:

    -fmessage-length=0 -fvisibility-inlines-hidden -fno-threadsafe-statics

Some of these flags shouldn't be used in Debug builds I'm guessing.

-fomit-frame-pointer has a bad reputation -- we might have a hard time
convincing distributions like Debian to leave it on. Numbers might help.

Is this an accurate summary? Any flags that I've missed, or any that are
redundant?

Is it worth using a different set of flags for JavaScriptCore and WebCore? It
might be easier to just use the same flags for the lot with our current build
system.

(I've successfully made a build with all those flags enabled.)


-- 
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list