Many have asked how the time for creating outputs can be reduced. The answer may not be all that intuitive. Those who have gone out and purchased the biggest, newest, fastest, whiz-bangy, multi-core, multi-thread, monster processor their budget can afford are usually rewarded with only a small improvement. How can this be? It is all about balance and data throughput.

General guidelines for the fastest compile times possible include having a well balanced PC. Many users make the mistake of getting an extremely fast processor and are then disappointed when the compile times improve only slightly. The thing to remember with all products like Flare is that at certain points of the generation process the processor is the slow point, but during most of the process it is the speed of the hard drive that is the slow point. Think about how many thousands of files have to be read, analyzed, modified, and then re-written to the hard drive in the typical project generation evolution. Thus the speed of the underlying hard drive system is just as important to generation times as is the processor.

You can check this very easily. Use a method of tracking CPU loading on your system (Ctrl-Alt-Dlt > Task Manager > Performance tab is a brute force method) and then compile/generate an output from Flare. Watch the CPU usage. If it spends a lot of time over 90% then a faster processor will help you. If it is rarely over 90% then a faster processor won’t help at all.

Finally, the amount of system resources also comes into play. Having an adequate amount of system memory can also significantly improve generation times in some cases (extremely large projects, many other applications concurrently running, etc.). The really good news about system memory is that the prices are falling rapidly. I just upgraded my home office machine to a full 4GB for about $50.

If I were to outfit a machine specifically for the fastest compile/generation times possible with Flare I would look at:

Dream System:
Processor – Intel Core i7 920 Nehalem 2.66GHz Quad-Core $299
Hard Drive – Western Digital VelociRaptor 10,000 RPM 16MB Cache SATA 3.0Gb/s $169
Memory – 4 GB of DDR3 $99

Median System:
Processor – Intel Core 2 Quad Q6600 2.4GHz $190 OR AMD Phenom X4 9950 2.6GHz $170
Hard Drive – Seagate Barracuda 7200.11 320GB Serial ATA-300, 7200 RPM, 16MB $65
Memory – 4 GB of DDR2 $49

Budget System:
Processor – Intel Core 2 Duo E7200 2.53GHz/1066  $119
Hard Drive – Seagate Barracuda 7200.11 320GB Serial ATA-300, 7200 RPM, 16MB $65
Memory – 2 GB of DDR2 $29

In summary, to build a hot rod Flare compiling rig you need to first get the fastest hard drive you possibly can, then add as much system memory as possible (4GB wherever possible, but at least 2GB), and only then if you have any budget left over, look at a faster processor.

I hope that this helps!

Mike

About The Author

About Mike Hamilton

Mr. Hamilton has over fifteen years of experience in training, technical communication, multimedia development, and software development. Prior to joining MadCap Software, he served as the Product Manager for Macromedia’s award-winning RoboHelp product line. Mr. Hamilton is often a featured speaker at industry events, including TEKOM and STC.

Last Modified: March 22, 2011

This entry was posted in MadCap Flare, MadCap Software, Tech Comm, Tips & Tricks. Bookmark the permalink.

Comments

  • parsonsv March 25, 2009 at 8:39 AM

    Fantastic Mike! Thanks. Your advice was just what I was looking for.

  • Ruth February 11, 2014 at 6:34 AM

    Here I was hoping for some guidance on Flare settings that might make the compilation go faster. I have Flare 9.1.1 on the higher spec machine than the best above but when “Partial Word Search” is on it takes forever….

    • Jose Sermeno Jose Sermeno May 21, 2014 at 9:29 AM

      A quick option you may look into is in the Target -> Advanced tab “Exclude content not linked directly or indirectly from the target”. This will make it so only content present in the output gets included in generated search databses. As covered in our instructions for enabling partial term search: “Enabling partial-word search in client-based outputs increases the size of the search database included with your target output. It also increases the amount of time it takes to build and publish the output.”

      Another recommendation that you could implement would be the inclusion of a Solid State hard drive in your hardware setup. The increase in read/write speed gained using an SSD can greatly benefit when dealing with large compile times. When you’re using partial word search, Flare is actually doing much more, as it has to index many variations of the content, not just individual terms. Please follow up with any additional questions!

  • David July 22, 2016 at 4:11 AM

    How about NVMe drives and alikes (upcoming Optane drives etc. in the future)? Is the bottleneck always the drive, or there comes a point where it’s rather the code implementation of MadCap’s Flare build algorithm?

    Like the majority of games use only a couple of cores since they’re programmed that way, while the newer titles are sometimes programmed to optimise it’s performance even on multi-core CPUs..

    • Mike Hamilton July 25, 2016 at 2:43 PM

      Hi David,

      For anything currently available in the mainstream, the storage drive is always the bottleneck. To the future with the drives you mention, we will have to continue to test and optimize, though it would take a massive speed improvement for the storage drive to no longer be the slow link in the chain.

      As to your question about CPU utilization, there is no automatic control but you do have manual control. In Flare you can go to the “File” tab and select “options”. There you can tell Flare how many simultaneous target builds it should attempt. I’m running a fourth generation (Haswell) Core I7 processor and I have my copy of Flare set to build 10 targets at the same time. For my machine this is a good balance of letting Flare use the majority of the CPU (each of those 10 target builds is multi-threaded so it is pushing the processor), yet still leaving me enough processing power to check email and such while Flare builds documentation in the background.

      I hope that this helps,

      Mike Hamilton

Have Something to Say?

Your email address will not be published. Required fields are marked *