Closed
Bug 237041
Opened 21 years ago
Closed 17 years ago
compile options for improved minimo speed on arm.
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
INVALID
Future
People
(Reporter: chofmann, Unassigned)
References
Details
(Keywords: mobile)
Attachments
(1 file)
|
17.83 KB,
application/x-zip-compressed
|
Details |
Here are the options to try with GCC 3.3 when
compiling for ARM target:
-Os -finline-limit=1
-mno-apcs-frame -fno-schedule-insns
-mno-thumb-iterwork -fno-optimize-sibling-calls
-fomit-frame-pointer -fno-if-conversion
-ffunction-sections -fno-thread-jumps
-fno-force-mem -fno-hosted
-fno-foce-addr -fno-expensive-optimizations
-fno-inline-functions -fargument-noalias-global
-fbranch-probabilities
-fno-gcse -fno-rerun-cse-after-loop
These options should be optimal for COMPILATION SPEED.
( IF you want to optimize for size, you should
replace "-fno-gcse -fno-rerun-cse-after-loop"
with "-fno-data-sections -fnew-ra". BUT the
optimized set of options for compilation speed
produces SMALLER code that "-Os" alone... )
I guess somebody should check that these options
are safe. For example, -fargument-noalias-global
seems suspect...
let's optimize for speed and generate new performance and memory graphs to compare.
| Reporter | ||
Comment 1•21 years ago
|
||
adding cls in case he know anything about any of these options.
Sorry, I haven't played with any of those besides -Os. Maybe bryner has?
| Reporter | ||
Comment 3•21 years ago
|
||
------- Additional Comment #4 From chris hofmann 2004-03-20 07:55 PST [reply]
-------
Created an attachment (id=144405)
mem use graph with these options
------- Additional Comment #5 From chris hofmann 2004-03-20 07:59 PST [reply]
-------
comparison mem us graph from release 0.1.
http://www.mozilla.org/projects/minimo/releases/arm/0.1/minimo-mem.gif
some improvememt, but it is not quite apples to apples comparison since we might
have made ground with other fixes between minimo 0.1 (mozilla 1.7 alpha) and
1.7b where this minimo snapshot came from.
| Reporter | ||
Comment 4•21 years ago
|
||
Comment 5•21 years ago
|
||
In the build that the data was collected against, I did not use the follow
compiler options since they did _not_ produce a launchable build.
-fno-foce-addr
-mno-apcs-frame
-mno-thumb-iterwork
Here is the build that was used to collect this data:
http://www.meer.net/~dougt/minimo_0.2-a1_arm.ipk
Updated•20 years ago
|
Target Milestone: --- → Future
Updated•20 years ago
|
OS: Windows XP → Linux
Updated•20 years ago
|
Assignee: dougt → nobody
Comment 6•18 years ago
|
||
this would be a great thing to have someone test again.
Keywords: mobile
Product: Minimo → Core
Comment 7•18 years ago
|
||
Do we really want to use all those "black magic" options? In particular -fargument-noalias-global will cause GCC to make assumptions which AFAIK violate the C/C++ language standards and -fnew-ra is considered broken by the GCC developers.
Most of the time on ARM platforms we only use: -g -O2 -march=armv5t (generic for most of the platforms (armv5, V6...)
or -g -O2 -march=armv6 for armv6 platforms like the N800
or more specifically -g -O2 -mcpu=arm1136jf-s -mfpu=vfp -mfloat-abi=softfp
for arm11 platforms like the N800
Comment 8•18 years ago
|
||
i do not think we want to use any black magic unless it pays off. these options were given to us from an embedder a long time ago, and we created this bug to track them. Since we didn't have any arm/gcc experts, we didn't really know what to make of the options.
Comment 9•17 years ago
|
||
agreed, lets not do any black magic
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → INVALID
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•