| --- |
| layout: post |
| status: PUBLISHED |
| published: true |
| title: 'Apache CMS: latest new feature is SPEED!' |
| id: 6da6308a-a876-4a7e-8d95-d7467422e65a |
| date: '2012-02-26 02:23:56 -0500' |
| categories: infra |
| tags: [] |
| permalink: infra/entry/apache_cms_latest_new_feature |
| --- |
| <p>Over the past few months the <a href="http://www.apache.org/dev/cms">Apache CMS</a> has seen lots of new improvements, all under the general theme of making the system more performant. Supporting very large sites like the <a href="http://www.openoffice.org/">Apache OpenOffice User Site</a> with almost 10 GB of content has presented new challenges, met largely with the introduction of zfs clones for generating per-user server-side working copies, changing what was an O(N) rsync job to an O(1) operation. We've also moved the update processing out-of-band to further cut down on the time it takes for the bookmarklet to produce a page, eliminating all O(N) algorithms from the process.</p> |
| <p> More recent work focuses on the merge-based publication process, which for large changesets took a considerable amount of time to process. That too has been recoded based on svnmucc and is now another O(1) operation- essentially a perfect copy of staging with a few adjustments for "external" paths.</p> |
| <p>Combine that with the activity around parallelizing the build system and you have a completely different performance profile compared to the way the system worked in 2011. In short, if you haven't tried the CMS lately, and were a bit offput by the page rendering times or build speeds, have another look! </p></p> |
| <p>Next up: describing the work done around external build support, focusing first on maven based sites.</p> |
| <p></p> |