Difference between revisions of "Compiler Flags on Pidora"

From CDOT Wiki
Jump to: navigation, search
(Project Details)
(Goals by Release)
Line 37: Line 37:
  
 
'''* 0.1'''
 
'''* 0.1'''
 
+
* Create a script that compiles a list of packages from source, using different combinations of compiler flags, and outputs the sizes of the compiled binaries
Option A:
+
* Find multiple combinations of compiler flags that create smaller binaries
* Choose a set of packages to use for the duration of this project.
 
* Find combinations of compiler flags that reduce the binary size compared to the current flags
 
 
 
Option B:
 
* Choose a set of packages to optimize
 
* Find a set of compiler flags that provide the best binary size and performance optimizations for those packages
 
  
 
'''* 0.2'''
 
'''* 0.2'''
 
+
* Test the combinations found in 0.1 against a larger set of packages to ensure there is a consistent reduction in binary size
Option A:
+
* Test the performance of the smaller binaries and determine which set of compiler flags yields the best performace
* Test the compiler flag combinations found in 0.1 for performance to determine most optimal flags
 
 
 
Option B:
 
* Using the compiler flags from 0.1, test against a variety of other packages to prove optimization
 
  
 
'''* 0.3'''
 
'''* 0.3'''
 
+
* Submit a patch to the rpmmacros package recommending the new compiler flags
* Modify .rpmmacros file and submit for approval
 
  
 
== Communication ==
 
== Communication ==

Revision as of 01:30, 10 October 2013

Compiler Flags on Pidora

Project Description

Find a set of compiler flags that reduce the binary size and improve performance for packages built for Pidora.

Project Leader

Charley Jiang

Project Contributor(s)

TBD

Project Details

Find a set of compiler flags that creates smaller and more efficient binaries for Pidora, compared to the current compiler flags.

A set of packages will be selected for testing, to cover a range of dependencies and use cases, such as common utilities, libraries, and GUI tools.

The packages will be built in a Mock environment on an ARMv6 machine.

List of packages

  • TBD

Project Plan

Tracking

Project updates will be posted to this page and Charley's Blog

Key contacts

TBD

Goals by Release

Goals for each release and plans for reaching those goals:

* 0.1

  • Create a script that compiles a list of packages from source, using different combinations of compiler flags, and outputs the sizes of the compiled binaries
  • Find multiple combinations of compiler flags that create smaller binaries

* 0.2

  • Test the combinations found in 0.1 against a larger set of packages to ensure there is a consistent reduction in binary size
  • Test the performance of the smaller binaries and determine which set of compiler flags yields the best performace

* 0.3

  • Submit a patch to the rpmmacros package recommending the new compiler flags

Communication

Mailing Lists

Upsteam Wiki and Web

Links/Bugs/Tracking

Source Code Control

Blogs

Charley Jiang's Blog

Non-Seneca Participants

Planets

Project News