Wednesday, March 10, 2004 12:22 PM
Lori Pearce [MSFT]
How long does it take to produce the current LHSDK?
A loooonnnng time. Here’s a break down:
Start -> Finish = 16 hours + 4.5 hours (HXS) = ~20.5 hours!
Steps:
- Do a bunch of miscellaneous processing on the content. Including:
- snag the 100,000+ files generated by reflecting on the assemblies (see below)
- pull the ~20,000 files out of our source control system
- run some XML content conversions
- diff for API churn
- build a dummy topic set file
- run the ref TOC (table of contents) build tool
- generate the samples TOC
- merge the TOCs
- Build Index pages
- TOCMap generation
This takes approximately 8 hours!
- “Fanning” includes rules processing, lookups, samples zipping, sample page building and creates XMLPageSets for the “publishing” step = ~6 hours
- “Publishing” does XSLT transforms for all the “cosmetic work” to all the XMLPageSet files into the various doc formats (ASP/MSDN, ASPX/LHSDK, Havana, and CHM) = ~1.5 hours
- The HXS compile step then takes all of the loose HTM files generated by the publishing step and compiles them into a compressed HXS/HXI file pair = ~4.5 hours
Add ~5 hours to the total build time for the reflection step. This generates the ~100,000 files used in step 1. This does not include the time it takes to re-image our build machine. We only run this when we have a new build of the OS.
I would not call our current system “optimized” right now--it’s pretty brute force as you probably guessed. We do actually run it on Longhorn. That might not seem like the best idea considering the early state of the OS, but it has flushed out a number of bugs in the OS and the doc build system.
Our Vegas build system will not be so monolithic. To start with, there will be a lot less processing required if we deliver “publishable” XML to the content store instead of having to compile it into one monolithic Help.2 file. We will also do more processing on the fly as our writers deliver content instead of batching it up in “nightly builds.”