ColdFusion MX Overview – Performance and Productivity
Page 3 — Performance and Productivity
Most techies who have heard about the faster performance of ColdFusion MX are probably wondering how in a million years something written in Java could perform better than something written in C++. Sound ridiculous? The answer is that although ColdFusion 5 was a C++ engine, it turned your CFML into PCODE, which was interpreted by the CF5 engine during page requests. In CFMX, your CFML gets truly compiled down to Java byte code. This type of code is faster for CFMX to execute, even though the Java Runtime Engine is itself inherently interpretive. In this regard, the Java stuff is good.
The big downfall you’ll immediately notice is the length of time you have to wait for your pages to compile. Even though you are writing regular CFML pages, when you save a page and request it in the browser for the first time, you won’t see it until the server first finishes translating the file to Java, and then finishes compiling it. Subsequent requests to the file are super fast, but the first one is a killer. I’ve found that the translation and compilation processes actually reduce developer productivity since a developer goes through the process of editing a .cfm file and reloading it in the browser so often. Although I haven’t seen it myself, I’ve heard reports of pages taking 3-5 seconds to compile on fast computers while the same process in CF5 was seemingly instantaneous. Listening to your hard drive churn during page development seems to be the big tradeoff for a more versatile foundation of ColdFusion.
The other disappointment with the release of the MX product line is that Macromedia has ditched ColdFusion Studio, the CFML/HTML editor that many of us loved. This is now added to my list of things I will never understand, among the ranks of the deprecation of the HTML <XMP> and <CENTER> tags from the HTML Specification.
Instead of developing a new ColdFusion Studio, Macromedia beefed up Dreamweaver to support CFML with lots of extra bells and whistles, and named it Dreamweaver MX. If your background is in design, if you like Dreamweaver, or if you are particularly fond of MacOS, I think you’ll love Dreamweaver MX. If your background is in coding and scripting, and you were productive in ColdFusion Studio, you’re probably thinking “Say it ain’t so!” with a tear trickling down your face — I swear I saw a few at the last Boston ColdFusion User Group shindig I attended when we said goodbye to Studio. It was a Kodak moment.
My biggest gripes about Dreamweaver MX are that the application takes too long to load (17 seconds on my computer, versus 6 seconds for Studio), you can’t map code snippets to keystrokes, and the search and replace feature doesn’t have all the functionality that it should.
It seems like Dreamweaver MX just has tons of other features as a result of merging Studio with Dreamweaver and Ultradev — most of which I personally don’t have any use for. Do they think the person actually using the “Create Web Photo Album…” menu option just might need to change color coding for .NET? I don’t know about you, but I only require a few simple features in an CFML/HTML editor. Too bad they don’t have a alternative lightweight version so you don’t have to pay for all of the fluff.
For these reasons, most of my collegeues and I are sticking with ColdFusion Studio 5 for now. I might eventually switch to EditPlus ($30 for the full license) which has CFML support.
Now let’s take a look at some of the nicer new coding features.