What does flare do during a compilation?
Every single topic that you have in your project gets examined by flare, things it starts looking for are Index keywords, conditions, Conceptual words etc. As you know Flare is a very modular HAT compared to Robohelp, instead of having things centralized you can basically rip a entire flare project apart and move individual topics around without losing its index and conditions (aslong as the condition name exists in your new project otherwise analyser will give a warning).
Now imagine having a project with 5000 topics, this means that flare has to read each topic and process it before it can continue with making the HHP/HHK/ file. Now why has Madcap decided for this approach? There are a couple of probable reasons:
1. Its more reliable
2. You aren't forced to have a centralized project file that contains all the conditional information etc.
3. it becomes interchangable you can easily move project files around without having to do a lot of manual editing (unless it involves links to topics you didnt include along).
Now how do we speed these things up? There are a few things flare really looks at for a good performance (listed in importance):
Hard Disk
Ram
CPU
1. Hard Disk
The hard disk is the most important thing you have to look at when you are working with flare, a lot of people I talk to use flare on a Laptop, laptops are machines that are always trying to optimize its portability and also how long it can last with one charge. The downfall is that most Laptop components are a lot slower then a comparable desktop PC eventhough the MHZ might be the same that does not mean that it will be equally fast (unless its a workstation laptop). Most laptops have a 5400 RPM hard disk meaning it can make 5400 rounds per minute, a desktop PC has 7200 Rounds Per Minute meaning its 33% faster alone! this ofcourse does not account for the fact that there might be different seek times, spin times etc.
The biggest advise I can give for a company that has a 4000-10,000 topics is to use a really good hard disk, either use a Raid setup or get a 10,000 RPM hard disk. Raid is basically something where you buy a few hard disks that are the same size and brand (for best results) My Raid setup at home is basically 3 x 80 gig hard disks 7200 RPM setup in Striping mode this will result in 3 hard disks working together as one hard disk. Meaning you suddenly have 3 heads reading off a cylinder then just one. The speed increase in my case was that instead of waiting 20 minutes I was waiting 6 minutes.. However I have to wanr you that raid has one giant weakness. If one hard disk fails you will lose your data on ALL drives. So be carefull with it, and make backups. There are ways to solve it on a Raid level by doing Raid 5 but I think your tech support/system administrator can help you beter then I can with one post
For people interested in knowing how to setup raid:
http://www.pctechguide.com/tutorials/RAID.htm
In the case where you cannot get a RAID setup your best option is to either try to get a 10,000 RPM hard disk or try to keep your Hard disk defragged (organized). Or you can try to increase your Ram:
2. Increasing ram
Ram is used by Windows to put information that it needs to process so whenever you open a program memory is allocated to it so it can store its data in this temporary storage. Windows itself also uses Ram aswell so as you can guess if you only have one gigabytes of RAM you have a possibility that it will run full with information. Now in the old days Windows would crash on you, or it would state it ran out of memory and close down on you. Since Windows 95 there has been something called Virtual Memory, Virtual Memory basically means that Windows uses your hard disk as a temporary place to store memory from a program. The downside to this is that it will slow down your program, but it will also require Hard Disk data meaning that you will slow down your hard disk.
If you turn off your virtual memory and start up a lot of programs Windows will suddenly give you a warning that you ran out of memory and then crash on you. So how can we ensure that our hard disk is left alone by Windows XP/Vista? The simplest solution is to upgrade your Ram, On my Vista PC I have 8 gigs of ram (64 bit IS required for this) and I have turned off my Virtual Memory meaning that whenever i start up a program its completly stored into my RAM instead of it occasionally slipping into the hard disk. But you can keep this turned on cause it MIGHT crash your Pc if you suddenly run out of memory. Although I have to add Windows Vista has a lot beter memory management then Windows XP does. I have noticed an increase in performance when doing this. But again it depends completly on your situation.
For people interested in knowing what virtual memory is:
http://en.wikipedia.org/wiki/Virtual_memory
3. CPU
The only time a CPU will help you with improving the performance of Flare is when you are using a 1.2 GHZ PC. Flare is programmed in .NET software meaning that it will be performance wise a little slow in the beginning but it should speed up after a few times. CPU speed will not magically increase your compilation by 200% if you upgrade from 1 GHZ to 3GHZ although there will be a increase, it will not be by the leaps you will be hoping for. The biggest reason for this is ofcourse simple: your reading data from your hard disk, your CPU processes it then and returns it. Your hard disk will be the one carrying the most burden not your CPU. Infact your CPU will be waiting for new data as you are compiling because the hard disk cannot keep up. So only upgrade your CPU if your Flare performance seems to be a bit slughish when your actually working in your project.
Software optimisations:
AGAIN i have to stress I am not at fault here if your Pc becomes a smoking derick so if you do not feel comfortable doing this then don't do it!
1. Turn off Windows Indexing:
Windows XP and Vista especially have something called Indexing where basically windows keeps tabs on every file you have available on your computer so when you do a file search it can give you results immediatly without having to search your hard disk. The downside however is, specially with Vista is that sometimes it will be doing a search while your compiling causing a bottleneck. although I have heard that Windows DEsktop search 4.0 has largely mitigated the performance issues people have had with the indexing service of windows. If you want to see how much this affects your PC here are two guides that helps you to disable this:
XP
http://lifehacker.com/software/optimiza ... 031440.php
Vista
http://4sysops.com/archives/how-to-disa ... ws-search/
2. Turn off your Antivirus before compiling
Again Most security programs specially in the bigger companies have a very restrictive policy of basically searching your pc constantly for viruses. This requires your harddisk to be used and it will degrade your performance as you go. So before you compile try to disable the background service until your done. (this can be done within the Antivirus itself) and turn it back on afterwards
3. Defrag your hard disk
Defrag your hard disk once a week, if your files are all nicely organized it will require less disk spins to get the files together to read. If you never defrag some files might be scattered on 200 different places on your hard disk instead of just on one location meaning it has to make 200 rounds to find all the files.
windows XP and vist ahve disk defragmenters so use these on a weekly basis, I tend to run it friday night before i shut off my PC.
For people interested in fragmentation:
http://en.wikipedia.org/wiki/Disk_fragmentation
4. Active Directory
I was once working at a Bank (no names!) and every 6 minutes my Pc would have a checkup with its active directory to see if I was keeping all my security settings in place. The results where basically that my entire PC would just not respond while it was doing this check thus slowing me down tremendously. so if this is your scenario ask your admin if there is a PC where you can do this without the slow downs. But usually your stuck with this sad situation
Well this is my first start for now
Wijnand



