AnandTech: A Brief History of Time
by Jason Clark on July 26, 2004 6:52 PM EST- Posted in
- IT Computing
AnandTech 5.0
After 5 years on the ColdFusion platform, the time had come to move on to what we think is a better platform for the future of the site - Microsoft .NET. The decision to move away from ColdFusion was a tough one in some ways. ColdFusion offers a tremendous advantage over other languages, thanks to its RAD (Rapid Application Development) roots, but the trade offs were cost and stability. Cost was definitely the major factor in our decision. Our server platform is standardized on Microsoft Windows, so .NET is free for us, while ColdFusion costs us $1299 USD per server. As we continue to grow, and keep up with the newer versions, the costs rise. One could argue that we would make up for those costs with the time that ColdFusion saves the developer. However, we found that not to be the case, and we'll explain why later.We did quite a bit of testing prior to beginning development, writing a skeleton framework and load testing it and comparing the results to ColdFusion. The results were attractive with .NET definitely, offering some serious performance gains (more to follow on our benchmark results). The architecture of the new AnandTech.com site consists of a VB.NET API behind the ASP.NET user interface; the API can be exposed as a web service with the flick of a switch, if necessary. We chose VB as it is a more natural progression from ColdFusion syntax, and offers the same performance and features as C# does. VB.NET is a completely different animal than VB; although the syntax may be similar in some ways, it offers a heck of a lot more than VB ever did.
Writing the API is what took the most time, as we had to port over our back-end framework from ColdFusion into our new VB.NET API. Our first step was to write a few functions that handled some of the tedious work in writing any web application: a database class that handles all the database calls, which reduces the amount of lines of code we had to write for each call; a few list functions; and, some other little functions that ColdFusion had built in. Those functions took a few hours at most to write, and covered the main functions that we had taken for granted in ColdFusion. After those functions were written, we found that the RAD argument started to diminish, especially with the slick IDE that Microsoft offers. Visual Studio .NET is, bar none, the best IDE that we've seen. It offers a robust development environment with extensive function insight features, which really speed up the development process. If Macromedia were to develop this kind of IDE for ColdFusion, I think the differences between the two platforms would most definitely start to diminish.
The next major piece of work that we did was to transition the interface from HTML to CSS. This was a major undertaking, but once the framework was complete, the rest just fell into place. The old site was all HTML, and had a few too many tables in it. The result was a slower rendering site, and combined with the ads, it only made the situation worse. As a result, we took a 130K site down to around 45K in HTML. Needless to say, the page rendering times are night and day in comparison.
Hardware used in version 5.0
5 x Dual AMD Athlon MP 1900+ w/ 1GB Memory
So, after we were finished, how does it perform? Take a look below.
Note: These benchmarks compare the old anandtech site to the new anandtech site, not ColdFusion to .NET. There were many changes that resulted in the performance increase, the platform was just one of them.
The graph above depcits how many requests per second the server was handling during the load test.
The graph above depicts how long the site takes (under load) to deliver the last byte to the client.
67 Comments
View All Comments
FFS - Thursday, July 29, 2004 - link
Clean design it's a half of succes.Look at Google - it is not only that powerfully search made it popular like now, but super clean design too.
The Inquirer is also nice and clean...
I 100% understand that you can't please 'em all :).
But cleanness also will bring more speed... Correct me if I'm wrong
And you still could have a style as well (that's why I mentioned [H]ard|OCP - even thou I'm not such a big fun of black and red)
simms - Thursday, July 29, 2004 - link
We still need a :cookie; emoticon.SlingXShot - Thursday, July 29, 2004 - link
With all these Anandtech versions, anandtech should be an artifical inteligence already. :-DJasonClark - Thursday, July 29, 2004 - link
FFS: Can't please em all :). We're happy with it, i do agree about the white background. It's something we're looking at, but it isnt an easy fix with the css layout.L8r.
FFS - Thursday, July 29, 2004 - link
It is very good article indeed...About speed subjectively it loads slower and slower for me on my FireFox 0.9.2. - but of cause you have benchmarked everything :)
Once I've read on Inq that there are two types of hardware lies: lies and benchmarks :)))
However improving the code for the better one and therefore the speed it is not the only thing about nice web page.
Another thing is design. And I have to admit (again from my point of view) that from version 3 to 5 its mostly regressed.
Especially that gray background covering the article so it's impossible to read during the page loading time, which a pretty long.
PLEASE remove that gray background (keep it white like on v.3)
Tabs on the top - good idea, but bad realization - no clean borders - small fonts e.t.c.
Again news section - even worst one gray on another gray - have you herd about contrast colors? :((
Too be honest best hardware-review site design so far is [H]ard|OCP...
Funny but for me this article sound like excuse for the creating the page, which loads adds very fast but ...(see above)
Is that a hidden feature of .NET We could expect everything from MS (even anti-virus prog :))
Don't get me wrong - I'm also using WinXP, and have the same opinion about it - it is not less stable then Linux in good hands,
although not that stable as Mac OS X even in "simple" hands (again I'm not Apple fun as it could seemed)...
Sorry it was already too much I wrote.
As resume - great team, superb reviews, but sorry - bad web page...
Macaw - Wednesday, July 28, 2004 - link
Nice article.The whole .NET framework is pretty extensive. I have some nice things on image-generation from .NET if you want the source. You can use GDI+ from .NET to generate uber cool graphs.
JasonClark - Wednesday, July 28, 2004 - link
SlingXShot, lol jobless? We innovate, so that means writing new code and improving all the time. Sitting on the same code for 10 years doesn't seem very innovative to me. There is ALWAYS room for improvement, thus versions. If people didn't freshen their code we'd still be running windows 3.11 for workgroups, yek.Brickster, we're using SQL Server 2000 on Windows 2003 Enterpise server. That is running on a quad opteron 848 with 8GB of ram and 150 GB Raid 10 array. Can we say overkill :)
SlingXShot - Wednesday, July 28, 2004 - link
JasonClark, just that you have so many version of Anandtech, I guess you need the new versions of software to change code or you would be jobless right?Brickster - Wednesday, July 28, 2004 - link
Jason, maybe I missed it, but what database platform are you using with the latest AT 5.0?Thanks again!
Brickster
fbaum - Wednesday, July 28, 2004 - link
Heyyo Jason, thx for the reply, and for qualifying the graphs. Would love to see a fair platform compario but that would be a lot of work and as you pointed out that's not really the point. I'm using VS 2003 on a project now, developing a C# .NET web service to interface with a B2B messaging hub, it's kind of complex, and I'm yearning a bit for the more immediately gratifying CF web development I had on my previous project. As a CF fan I felt compelled to put in my $0.02.
Cheers,
Felix