SlideShare a Scribd company logo
1 of 15
Download to read offline
mxmlc: fitter, happier, more productive
Brian Deitte
more productive (with faster compiles)
Tips for Flex Builder 3
• Build every application in one project using
  multiple source paths
• Build parts of the applications as SWCs
• Close extra projects
• Use a system font instead of embedding fonts
• Turn off "Copy non-embedded files to source
  folder"
• Turn off "Build Automatically"
• More tips at: http://www.deitte.com/
  archives/2008/10/how_do_you_spee.htm
General Flex 3 Speedup
• To get a 25% speedup, use pieces of Flex 4:
  http://www.deitte.com/archives/2008/10/
  a_faster_flex_3.htm

• Want more of a speedup? Use Flex 4
Tips for Flash Builder 4
• Use the Flex 4 SDK

• Use the Flex Builder 3 tips other than using
  one large project
fitter (with smaller SWFs)
Use You Compiler Options Wisely
• Use framework RSL... if at all possible:
http://livedocs.adobe.com/flex/3/html/
help.html?content=rsl_09.html

• Use conditional compilation... with care:
http://livedocs.adobe.com/flex/3/html/
help.html?content=compilers_21.html
Third-party Happiness
• Third-party projects can help with smaller
  SWFs
• Tested with 431 KB SWF that uses framework
  RSL, Cairngorm, and has a lot of embedded
  images
• Also tested with a 254 KB SWF that only uses
  AS3, architected for size, and has no
  embedded images
Flash Optimizer
• http://www.flashoptimizer.com/

• Using "Good" compression settings:
  • SWF #1: 17% savings
  • SWF #2: 0% savings
secureSWF
• http://www.kindisoft.com

• Using the "Optimize for size" settings:
  • SWF #1: 4% savings
  • SWF #2: 5% savings
Apparat Reducer
• http://code.google.com/p/apparat/

• At .5 for both settings:
  • SWF #1: 3% savings
  • SWF #2: 0% savings
Apparat TAAS
• http://code.google.com/p/apparat/
• Look for more details as they show up on
  http://blog.joa-ebert.com/
• Lots of excitement around the project with
  many potential compiler optimizations
• Based on TODOs in TaasBuilder.java, not
  usable right now for real SWFs
Flex 4 Changes
• Image compression in Embed. To quote:

"The fix for SDK-18954 adds Embed support for smoothing,
compression and quality. For example:

  [Embed (source='foo.png', smoothing="false",
compression="true", quality="80")]
  private var bar:Class;

smoothing and compression are booleans and quality is a
percentage between 0 and 100. quality requires that
compression be true. The actual smoothing is implemented by
the player at runtime."
Future Changes?
• In Alchemy: C to LLVM to AVM2 bytecode

• In iPhone kit: AS3 to LLVM to ARM assembly
  code

• In Future: AS3 to LLVM to AVM2 bytecode?
happier (with answers to your questions)

More Related Content

What's hot

5 wordpress squeeze site plugins
5 wordpress squeeze site plugins5 wordpress squeeze site plugins
5 wordpress squeeze site plugins
gen78tau7
 
Week 11 - Hosting and Migration
Week 11 - Hosting and MigrationWeek 11 - Hosting and Migration
Week 11 - Hosting and Migration
henri_makembe
 
Week 5 - Introduction to plug-ins and widgets
Week 5 - Introduction to plug-ins and widgetsWeek 5 - Introduction to plug-ins and widgets
Week 5 - Introduction to plug-ins and widgets
henri_makembe
 
Week 7 introduction to theme development
Week 7   introduction to theme developmentWeek 7   introduction to theme development
Week 7 introduction to theme development
henri_makembe
 
PHPNW14 - Getting Started With AWS
PHPNW14 - Getting Started With AWSPHPNW14 - Getting Started With AWS
PHPNW14 - Getting Started With AWS
benwaine
 
Week 9 - Introduction to Child Themes
Week 9  - Introduction to Child ThemesWeek 9  - Introduction to Child Themes
Week 9 - Introduction to Child Themes
henri_makembe
 

What's hot (20)

Build 2017 - B8093 - Nextgen UWP app distribution: Building extensible, strea...
Build 2017 - B8093 - Nextgen UWP app distribution: Building extensible, strea...Build 2017 - B8093 - Nextgen UWP app distribution: Building extensible, strea...
Build 2017 - B8093 - Nextgen UWP app distribution: Building extensible, strea...
 
Joomla 4.0 what's coming in future
Joomla 4.0   what's coming in futureJoomla 4.0   what's coming in future
Joomla 4.0 what's coming in future
 
Tips for site builders and administrators
Tips for site builders and administratorsTips for site builders and administrators
Tips for site builders and administrators
 
5 wordpress squeeze site plugins
5 wordpress squeeze site plugins5 wordpress squeeze site plugins
5 wordpress squeeze site plugins
 
Week 11 - Hosting and Migration
Week 11 - Hosting and MigrationWeek 11 - Hosting and Migration
Week 11 - Hosting and Migration
 
Using composer with WordPress
Using composer with WordPressUsing composer with WordPress
Using composer with WordPress
 
I Can Haz More Performanz?
I Can Haz More Performanz?I Can Haz More Performanz?
I Can Haz More Performanz?
 
Week 5 - Introduction to plug-ins and widgets
Week 5 - Introduction to plug-ins and widgetsWeek 5 - Introduction to plug-ins and widgets
Week 5 - Introduction to plug-ins and widgets
 
Leveraging the Power of Custom Elements in Gutenberg
Leveraging the Power of Custom Elements in GutenbergLeveraging the Power of Custom Elements in Gutenberg
Leveraging the Power of Custom Elements in Gutenberg
 
Increasing Traffic Through Optimization : The Importance of Site Speed
Increasing Traffic Through Optimization : The Importance of Site SpeedIncreasing Traffic Through Optimization : The Importance of Site Speed
Increasing Traffic Through Optimization : The Importance of Site Speed
 
Week 7 introduction to theme development
Week 7   introduction to theme developmentWeek 7   introduction to theme development
Week 7 introduction to theme development
 
wp-config Tips and Tricks
wp-config Tips and Trickswp-config Tips and Tricks
wp-config Tips and Tricks
 
PHPNW14 - Getting Started With AWS
PHPNW14 - Getting Started With AWSPHPNW14 - Getting Started With AWS
PHPNW14 - Getting Started With AWS
 
Getting started with WordPress development
Getting started with WordPress developmentGetting started with WordPress development
Getting started with WordPress development
 
Q6
Q6Q6
Q6
 
WP-CLI: WordCamp NYC 2015
WP-CLI: WordCamp NYC 2015WP-CLI: WordCamp NYC 2015
WP-CLI: WordCamp NYC 2015
 
Web Platform Installer Announcement
Web Platform Installer AnnouncementWeb Platform Installer Announcement
Web Platform Installer Announcement
 
EVOLVE'16 | Deploy | Abhishek Dwevedi | Introduction to AEM Front End Develop...
EVOLVE'16 | Deploy | Abhishek Dwevedi | Introduction to AEM Front End Develop...EVOLVE'16 | Deploy | Abhishek Dwevedi | Introduction to AEM Front End Develop...
EVOLVE'16 | Deploy | Abhishek Dwevedi | Introduction to AEM Front End Develop...
 
Week 9 - Introduction to Child Themes
Week 9  - Introduction to Child ThemesWeek 9  - Introduction to Child Themes
Week 9 - Introduction to Child Themes
 
Tooling for the productive front-end developer
Tooling for the productive front-end developerTooling for the productive front-end developer
Tooling for the productive front-end developer
 

Similar to mxmlc: fitter, happier, more productive

Freelancer Weapons of mass productivity
Freelancer Weapons of mass productivityFreelancer Weapons of mass productivity
Freelancer Weapons of mass productivity
Gregg Coppen
 

Similar to mxmlc: fitter, happier, more productive (20)

Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...
Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...
Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...
 
JS digest. Decemebr 2017
JS digest. Decemebr 2017JS digest. Decemebr 2017
JS digest. Decemebr 2017
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate Usability
 
How to prepare a project for automated deployment?
How to prepare a project for automated deployment?How to prepare a project for automated deployment?
How to prepare a project for automated deployment?
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress Applications
 
AEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly toolsAEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly tools
 
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
 
Manual 5
Manual 5Manual 5
Manual 5
 
Know the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css frameworkKnow the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css framework
 
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
 
20 x Tips to better Optimize your Flash content
20 x Tips to better Optimize your Flash content20 x Tips to better Optimize your Flash content
20 x Tips to better Optimize your Flash content
 
Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webparts
 
Freelancer Weapons of mass productivity
Freelancer Weapons of mass productivityFreelancer Weapons of mass productivity
Freelancer Weapons of mass productivity
 
Building JavaScript
Building JavaScriptBuilding JavaScript
Building JavaScript
 
Working with Shortcodes in WordPress
Working with Shortcodes in WordPressWorking with Shortcodes in WordPress
Working with Shortcodes in WordPress
 
Introduction to Office Development Topics
Introduction to Office Development TopicsIntroduction to Office Development Topics
Introduction to Office Development Topics
 
Flash Development Guide
Flash Development GuideFlash Development Guide
Flash Development Guide
 
WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019
 

More from Brian Deitte (7)

A Case Study in CQRS/ES
A Case Study in CQRS/ESA Case Study in CQRS/ES
A Case Study in CQRS/ES
 
Delivering Ads in IMA 3
Delivering Ads in IMA 3Delivering Ads in IMA 3
Delivering Ads in IMA 3
 
Life Of An Ad
Life Of An AdLife Of An Ad
Life Of An Ad
 
How RIA Advertising Works (And a Little Bit About Brightcove)
How RIA Advertising Works (And a Little Bit About Brightcove)How RIA Advertising Works (And a Little Bit About Brightcove)
How RIA Advertising Works (And a Little Bit About Brightcove)
 
SDK Hackery
SDK HackerySDK Hackery
SDK Hackery
 
Platform as Art: A Developer’s Perspective
Platform as Art: A Developer’s PerspectivePlatform as Art: A Developer’s Perspective
Platform as Art: A Developer’s Perspective
 
Aftermix And Video
Aftermix And VideoAftermix And Video
Aftermix And Video
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 

mxmlc: fitter, happier, more productive

  • 1. mxmlc: fitter, happier, more productive Brian Deitte
  • 2. more productive (with faster compiles)
  • 3. Tips for Flex Builder 3 • Build every application in one project using multiple source paths • Build parts of the applications as SWCs • Close extra projects • Use a system font instead of embedding fonts • Turn off "Copy non-embedded files to source folder" • Turn off "Build Automatically" • More tips at: http://www.deitte.com/ archives/2008/10/how_do_you_spee.htm
  • 4. General Flex 3 Speedup • To get a 25% speedup, use pieces of Flex 4: http://www.deitte.com/archives/2008/10/ a_faster_flex_3.htm • Want more of a speedup? Use Flex 4
  • 5. Tips for Flash Builder 4 • Use the Flex 4 SDK • Use the Flex Builder 3 tips other than using one large project
  • 7. Use You Compiler Options Wisely • Use framework RSL... if at all possible: http://livedocs.adobe.com/flex/3/html/ help.html?content=rsl_09.html • Use conditional compilation... with care: http://livedocs.adobe.com/flex/3/html/ help.html?content=compilers_21.html
  • 8. Third-party Happiness • Third-party projects can help with smaller SWFs • Tested with 431 KB SWF that uses framework RSL, Cairngorm, and has a lot of embedded images • Also tested with a 254 KB SWF that only uses AS3, architected for size, and has no embedded images
  • 9. Flash Optimizer • http://www.flashoptimizer.com/ • Using "Good" compression settings: • SWF #1: 17% savings • SWF #2: 0% savings
  • 10. secureSWF • http://www.kindisoft.com • Using the "Optimize for size" settings: • SWF #1: 4% savings • SWF #2: 5% savings
  • 11. Apparat Reducer • http://code.google.com/p/apparat/ • At .5 for both settings: • SWF #1: 3% savings • SWF #2: 0% savings
  • 12. Apparat TAAS • http://code.google.com/p/apparat/ • Look for more details as they show up on http://blog.joa-ebert.com/ • Lots of excitement around the project with many potential compiler optimizations • Based on TODOs in TaasBuilder.java, not usable right now for real SWFs
  • 13. Flex 4 Changes • Image compression in Embed. To quote: "The fix for SDK-18954 adds Embed support for smoothing, compression and quality. For example: [Embed (source='foo.png', smoothing="false", compression="true", quality="80")] private var bar:Class; smoothing and compression are booleans and quality is a percentage between 0 and 100. quality requires that compression be true. The actual smoothing is implemented by the player at runtime."
  • 14. Future Changes? • In Alchemy: C to LLVM to AVM2 bytecode • In iPhone kit: AS3 to LLVM to ARM assembly code • In Future: AS3 to LLVM to AVM2 bytecode?
  • 15. happier (with answers to your questions)