Google Chrome: First impressions (and a few benchmarks)

Google Chrome has now been released for download - see Derek's post for some opinion on this or the "leaked" information from Google.  I've installed it and I have to say that I like it a lot - the minimalist UI is rather nice (although IE7 has drifted in a similar direction), the "omnibox" (was previously the address bar) seems to actually work in terms of how it handles it's auto completion and the initial start page is a great idea.  But the thing that really got to me was just how fast it is.  And I mean ...

fast

There's lots of numbers below where I try to measure just how fast Google Chrome is compared to IE 7, but what really impressed me was when my wife (who is non-techie) browsed a few sites using Chrome and noticed the difference in speed.

To see just how real the speed increase was, I visited a number of benchmarking sites.  QuirksMode have a benchmark for creating HTML table elements via JavaScript.  As the following table outlines, IE 7 took 4,652 ms to complete all the tests and Google Chrome took 186 ms.  That's literally an order of magnitude faster.

chrome-table-gen

Celtic Kane has a benchmark which attempts to measure the core JavaScript engine.  Again, Google Chrome is literally an order of magnitude faster than IE 7 and it looks to me as if Chrome would probably come top of his overall performance table.

chrome-javascript2

As a final test, I loaded up the SunSpider test from WebKit - this is a test which purports to target real-world usage and avoid "useless" micro-benchmarks.  I expected Chrome to do well against this, since Google say that Webkit forms a big part of the Chrome browser, but Chrome managed to beat my already high expectations.  It came in 16.9 times faster than IE 7 and some of the differences were simply staggering.

chrome-javascript

Overall, this is quite an amazing first drop of code and I didn't have a single crash or notice any rendering errors.  I'll leave others to speculate on exactly what this means for Microsoft's Internet Explorer, but I think it's fair to say that Google have raised the standard of what to expect from a browser quite considerably.

[EDIT: Rory has also posted about Google Chrome.  The interesting thing is that he also includes some numbers about memory usage.]

September 2 2008

ReSharper 4.0 from JetBrains is released

The JetBrains team have been working hard at getting functionality and bug fixes into version 4.0 of ReSharper.  I'm very excited to see that it's finally reached RTM status and now fully supports Visual Studio 2008 and all the C# 3.0 goodness!  Go get it here.  For those who have been involved in the EAP program, it's actually build 819.

For those who've never tried R#, I strongly suggest that you take it for a spin.  The improvements it brings to productivity are just immense.  For the full list of features the JetBrains site has all the info, but here are a couple of my favourite features:

Go To File / MemberResharper_navigation
This functionality is brilliant at quickly navigating around large solutions.  You can type in the full name of the class / method / file that you are after, just the capital letters, you can use wildcards or you can combine all these techniques.

Refactoring Options
Yes I know that Visual Studio has included some refactoring functionality for a while now, but this one of ReSharper primary strengths.  It includes options such as:

  • Rename class / method / variable / parameter / field / property (optionally searches within comments and strings)
  • Change signature
  • Extract / inline a method
  • Extract interface / superclass
  • Push members up / pull members down
  • Introduce parameter
  • Introduce field
  • Introduce variable (I esp like the way it detects multiple occurrences of an expression of offers to replace them all)
  • Convert anonymous delegates to / from lambdas
  • Set field values from constructor arguments

There's so many of these - these are just the ones I can think of right now.  In fact, there are so many that I always keep a copy of the ReSharper keyboard mappings on my desk.

Coding in Reverse
Undoubtedly the most powerful feature available within ReSharper, JetBrains picked it out as the primary skill of the ReSharper Jedi.  This is a technique where you use variables / methods / classes before they exist.  ReSharper will then infer their definition from your usage and allow you to actualize them with a couple of keystrokes.  It's immensely powerful, but it's really got to be seen to be fully appreciated.

And More
I strongly ReSharper to all developers who want to improve their productivity ... which should be all developers.  I also strongly suggest that you take some time out to learn the featureset and some of the options available within ReSharper.  Joe White's blog series The 31 Days of ReSharper is a great place to start this journey.  Just be warned that you might get seriously hooked.

June 9 2008

Design-time perf improvements in Visual Studio 2008

Some metrics that we captured on my project: (I think the numbers speak for themselves)

Operation     VS 2005     VS 2008           % Improvement
Start the IDE 00:30 00:09 70%
Load solution 03:45 00:45 80%
Get Latest (no changes) 00:13 00:05 62%
Rebuild solution 02:21 01:58 16%
Run all tests 05:29 03:44 32%
Start the application 00:19 00:18 5%

FYI our solution has 33 projects in it (including a database project, a web application project, numerous DLLs, an EXE and a WiX installer) and there are almost 1,600 unit and integration tests.

January 28 2008

Altnetconf UK: First round of registration is closed

Registration to the first ALT.Net UK conference was recently announced by Michelle.  Unfortunately it's already full, so if you're name isn't on the participants list of people who have registered then I'm afraid you're a bit late for this round.  Ian Cooper says that another batch of registrations will open soon, so those who watch closely may still be able to attend.  I'm pleased to announce that I will be attending the conference as a Conchango representative.
January 3 2008
Newer Posts Older Posts