Re: [flexcoders] Re: Flex Builder Compiler Performance Benchmarking
MXMLC's XML embedding is terrible. For anything non-trivial, embed your XML as a ByteArray and just parse it as a String. -Josh 2009/4/16 edlueze edlu...@onegen.com I've finally had a chance to investigate my slow compiler performance and I've made a shocking discovery! As a reminder, I asked the community how long I should expect a typical compilation to take. The response I got was about 40 seconds. My clean-build compilations take about 2 hours!!! Today I eliminated the two large XML files from my project that I ask the compiler to Embed. Together, the two XML files are about 10,000 lines long. To my utter amazement, this was the primary cause of the slow compiling. My clean-build compile time went from 2 hours to less than 2 minutes! I can usually avoid the 2 hour compiles if I change just one file. But if I change two files (not including the embedded XML files that rarely need to be changed) I often trigger the long compilation. This cannot possibly be what the compiler-engineers at Adobe intended. I'm going to file a bug with Adobe, but let me know if you've got other thoughts on better workarounds. Thanks! Ted. --- In flexcoders@yahoogroups.com flexcoders%40yahoogroups.com, mmormando m...@... wrote: Hm, as you said in a later post, I'd suspect the xml file, or perhaps other resources. I'm working on a fairly large project, some Java, a few graphics and css, as well as 70+ modules of various sizes and our build time with a little homegrown Maven plugin is coming in at under 8 minutes. Please let us know if you find out what the issue is. Good luck! Mike --- In flexcoders@yahoogroups.com flexcoders%40yahoogroups.com, edlueze edlueze@ wrote: Hi Folks: Can somebody tell me what a reasonable compile-time for a Flex Application is? A clean build for my application will take about 2 hours, and an incremental compile after I've changed several files will often take an hour. If I've only changed one file then an incremental compile will usually take less than a minute. -- Therefore, send not to know For whom the bell tolls. It tolls for thee. Josh 'G-Funk' McDonald - j...@joshmcdonald.info - http://twitter.com/sophistifunk - http://flex.joshmcdonald.info/
Re: [flexcoders] Re: Flex Builder Compiler Performance Benchmarking
On Thursday 26 Mar 2009, edlueze wrote: I'll work on doing that other stuff you recommended - compiling with ANT/MXMLC, and generating the line count. I might also try upgrading Flex Just try the mxmlc that comes with Builder, rather than fighting ANT. -- Tom Chiverton Helping to assertively leverage prospective ubiquitous markets as part of the IT team of the year, '09 and '08 This email is sent for and on behalf of Halliwells LLP. Halliwells LLP is a limited liability partnership registered in England and Wales under registered number OC307980 whose registered office address is at Halliwells LLP, 3 Hardman Square, Spinningfields, Manchester, M3 3EB. A list of members is available for inspection at the registered office together with a list of those non members who are referred to as partners. We use the word ?partner? to refer to a member of the LLP, or an employee or consultant with equivalent standing and qualifications. Regulated by the Solicitors Regulation Authority. CONFIDENTIALITY This email is intended only for the use of the addressee named above and may be confidential or legally privileged. If you are not the addressee you must not read it and must not use any information contained in nor copy it nor inform any person other than Halliwells LLP or the addressee of its existence or contents. If you have received this email in error please delete it and notify Halliwells LLP IT Department on 0870 365 2500. For more information about Halliwells LLP visit www.halliwells.com.
Re: [flexcoders] Re: Flex Builder Compiler Performance Benchmarking
Also, if everything is an individual MXML application file but then you're editing code that they depend on, you're compiling all of those individual MXML files each time. That's going to take a significant amount of time because each one has to be linked. What happens if you don't have lots of applications in your project but instead only have one or two applications? Matt On 3/26/09 1:03 AM, edlueze edlu...@onegen.com wrote: Some more information about my slow compiler: I'm running on a dual-core HP workstation with 4GB of RAM. I try to limit what else I'm running (usually just Excel and Firefox) and I've been watching Task Manager without noticing anything remarkable. More recently I've been forced to work offsite on a laptop (dual-core 1GB) and the performance is a little slower. The desktop and laptop were setup completely differently with different versions of Windows. However, I was too lazy to reinstall Eclipse so I just copied over C:\eclipse (including the workspace) from my desktop to my laptop. Clue #1 - it's probably more to do with my Eclipse than my computer. Small applications compile quickly. The problem grew slowly worse over time - after a month I was forced to abandon the Build Automatically option. I haven't integrated my application, so right now it is a series of individual MXML files running by themselves in the browser (all within the same Project). Most files import other classes, and a couple include other files in a pretty ugly way. But I would have thought keeping them separate like this would reduce the compilation time. I'm not including any graphics in my application yet. But I do Embed a couple of XML files at compile-time. One of them is reasonably large (8,000 lines) and I dread changing it because the application will only see it after a full recompile. Next to those individual MXML files, the only thing that has consistently been growing is this Embedded XML file. Clue #2 - maybe the compiler doesn't like Embedding files? I'll work on doing that other stuff you recommended - compiling with ANT/MXMLC, and generating the line count. I might also try upgrading Flex Builder. If none of that works, I'll take you up on your offer (Matt) and send you the source code. All the best, Ted. --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Tim Rowe tim.r...@... wrote: With over 2,000 source and resource files in our application (just the client-side is 1k as, 500 mxml, there's another 8k8 .java on the server side), our compile time is under 30 seconds (on a C2D 2.33 w/4GB), so I would hazard a guess something's wrong. A few things to check/do: 0. Create a basic application. Does compiling even the simplest of apps take a similar amount of time? 1. Get a line counter. There's dozens out there, just grab one you're happy with (no, I don't have any particular recommendations). At least just get a file and line counter so you've got some basic metrics to base information on. 2. What is the system CPU doing? Is it burning away at 100% while compiling the whole time? Similarly, are you running out of memory? Eclipse can get pretty memory hungry, and if you're only on a 1GB system with Eclipse trying to chew 700MB, it could be paging like crazy. 3. Fire up perfmon and add some counters while you do a compile. Find out what's going on - any heavy disk thrashing, cpu/memory loading. Basically try to identify is it just doing any timed waits or blocking calls? 4. Write an ANT target to compile the source from a CLI, if you haven't done so already. Hell, you could even execute it manually. Does mxmlc.exe take the same amount of time as the eclipse build? These are just a few small things I'd consider trying/looking at which might help identify the problem Tim Rowe Software Engineer carsales.com Ltd From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of edlueze Sent: Thursday, 26 March 2009 2:07 PM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] Flex Builder Compiler Performance Benchmarking Hi Folks: Can somebody tell me what a reasonable compile-time for a Flex Application is? A clean build for my application will take about 2 hours, and an incremental compile after I've changed several files will often take an hour. If I've only changed one file then an incremental compile will usually take less than a minute. I'm using Flex Builder 3.0 in Eclipse and it would be typical for me to see the same error message repeated a dozen times (presumably the compiler has passed through the same file that many times). I was new to Flex when I started this project and I've been working on it for about 6 months. I have no idea how many lines of code I've got, but how big could it
RE: [flexcoders] Re: Flex Builder Compiler Performance Benchmarking
I originally said the same thing in the response I wrote, but removed it on the basis of getting more info before just jumping to random ideas. However, a defrag of all drives should pretty much be done as a scheduled task on any non-SSD system nightly, imo. Just set it up to run at 3am every day, and you'll never have to worry about fragmentation and the associated speed issues. --Tim From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of arieljake Sent: Friday, 27 March 2009 4:20 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Flex Builder Compiler Performance Benchmarking Hi highly recommend defragmenting your HD. --- In flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com, Tom Chiverton tom.chiver...@... wrote: On Thursday 26 Mar 2009, edlueze wrote: I'll work on doing that other stuff you recommended - compiling with ANT/MXMLC, and generating the line count. I might also try upgrading Flex Just try the mxmlc that comes with Builder, rather than fighting ANT. -- Tom Chiverton Helping to assertively leverage prospective ubiquitous markets as part of the IT team of the year, '09 and '08 This email is sent for and on behalf of Halliwells LLP. Halliwells LLP is a limited liability partnership registered in England and Wales under registered number OC307980 whose registered office address is at Halliwells LLP, 3 Hardman Square, Spinningfields, Manchester, M3 3EB. A list of members is available for inspection at the registered office together with a list of those non members who are referred to as partners. We use the word ?partner? to refer to a member of the LLP, or an employee or consultant with equivalent standing and qualifications. Regulated by the Solicitors Regulation Authority. CONFIDENTIALITY This email is intended only for the use of the addressee named above and may be confidential or legally privileged. If you are not the addressee you must not read it and must not use any information contained in nor copy it nor inform any person other than Halliwells LLP or the addressee of its existence or contents. If you have received this email in error please delete it and notify Halliwells LLP IT Department on 0870 365 2500. For more information about Halliwells LLP visit www.halliwells.com.