Measuring Page Execution Times for ASP.NET Pages

27 November 2006 - 7:57 PM / by Dominic Pettifer. 6 Comments

Technical Article - Someone asked me about the page execution time shown at the bottom of this (and every) page. So I thought I would post an article on how to incorporate a page execution timer in your own ASP.NET pages. It’s fairly simple but requires an understanding of the ASP.NET page life cycle.

Understanding the Page Lifecycle

Test imageIt measures the time taken to render this page to HTML, this includes all back end database access stuff, any user or server controls and their own database access, and data binding of web controls. Also the processing of any client side button clicks or other UI interaction and the server side code that fires in response to those events. Basically almost everything.

The ASP.NET page life cycle goes through several stages before HTML is rendered and sent to the client. First the Page.Init event is fired, all controls are initialised and have their default values set. After this the Page.Load event fires, this is where most developers put their code and do data access and data binding etc. Following this all other user or server controls are fired and go through their own lifecycle Init and Load events. Control events are then fired from UI interaction (eg. Button clicks, change events from selecting an item in a drop down list etc.). Then the Page.PreRender event fires, the last place we can make changes to control values. Finally the Page.Unload event is fired after everything gets rendered ready to be sent to the client, we use this for cleanup operations.

There are a few more that fire in between these, to do with Viewstate for instance, but a full explanation of how the ASP.NET page lifecycle works on beyond the scope of this article. Interested parties might want to look at an ASP.NET Page Lifecycle article from the Code Project.

Measuring Page Execution Times

The trick to accurately measure the page execution speed, is to start the timer as early as possible, and stop and record the time as late as possible in the page lifecycle. The earliest we can start the timer is in the Page.Init event, like so...

private int startTime;

protected void Page_Init(object sender, EventArgs e)
{
    startTime = Environment.TickCount;
}

We use the Environment class to retrieve the tick count (found in System namespace). The Tick Count is the number milliseconds that have passed since the web server computer was first switched on.

Now we need to get the end time as late as possible, so we can ensure everything else has been carried out (data access, binding, control events etc.). So we get the time in the Page.PreRender event like so...

protected void Page_PreRender(object sender, EventArgs e)
{
    int endTime = Environment.TickCount;
    double executionTime = (double)(endTime - startTime) / 1000.0;

    lblLabel.Text = "Page Execution time is " + executionTime + " seconds.";
}

We subtract the start time from the end time and divide by 1000 to get the execution time in seconds, as opposed to in milliseconds. We then assign the time to a label control, or any other control, somewhere in the page.

The reason we use the Page.PreRender event is because this is the last time we will have access to the page controls, before they are rendered to the page. We need to display the execution time on the page after all. You could possibly record the time in the Page.Unload event if you were recording the times into a database for instance, but by the time we reach this stage all HTML mark up has been rendered and we can't set anything any more.

Master Pages?

When using Master pages, the page events fire in the following order...

  • Page_Init in Master
  • Page_Init in Default.aspx
  • Page_Load in Default.aspx
  • Page_Load in Master
  • Page_PreRender in Default.aspx
  • Page_PreRender in Master

Therefore you can start and stop the timer in the Page.Init and Page.PreRender events for the Master page, and assign the result to a control on the Master page. This is handy in that it saves you rewriting the same boiler plate code for all your ASPX pages.

Conclusion

Page execution times are useful for developers wanting to optimise the performance of their aspx pages, as they provide a way to measure the difference in execution speed of the web application as they make those optimisations.

Thanks for reading. If you have any questions or something you want to point out, please leave a comment for this blog entry. Thank you!

6 Comments on "ASP.NET Page Execution Times"

Post a Comment
  • RE: ASP.NET Page Execution Times

    Couldn't get this code to work. I tried it in both a master page and a child page, but the time was shown as zero in both cases.

    If I turned on tracing, it showed the execution time, but Environment.TickCount returned the same value in both Page_Init and Page_PreRender, so the elapsed time your code reported was zero.

    Any ideas? Thanks

    Posted on 28 July 2010 - 12:33 PM / by Yossu

    • RE: RE: ASP.NET Page Execution Times

      This article is a bit old now, there are better ways to measure the page execution time of an ASP.NET page.

      Try this StackOverflow question
      http://stackoverflow.com/questions/1826657/page-generation-time-asp-net-mvc

      I shall update this article one day, but today is not that day though :-)

      Posted on 30 July 2010 - 12:37 AM / by Dominic Pettifer (Administrator)

    • Jordan Shoes

      [url=http://www.jordanshoeseur.com/jordan-shoes-c-125.html]Jordan Shoes[/url]
      [url=http://www.jordanshoeseur.com/jordan-fusion-shoes-c-126.html]Jordan Fusion shoes[/url]
      [url=http://www.jordanshoeseur.com/women-jordan-shoes-c-127.html]Women Jordan shoes[/url]
      [url=http://www.jordanshoeseur.com/kid-jordan-shoes-c-128.html]Kid Jordan shoes[/url]
      Jordan Shoes Cheap Jordans Wholesale Jordans Jumpman23

      Posted on 29 June 2011 - 4:44 AM / by Jordan Shoes

    • RE: RE: ASP.NET Page Execution Times

      <div ><a href="http://www.freerunnike.com/air-max-2011-c-6.html">Air Max 2011</a></div>
      <div ><a href="http://www.freerunnike.com/nike-air-presto-c-17.html">Nike Air Presto</a></div>
      <div ><a href="http://www.freerunnike.com/nike-free-2010-shoes-c-4.html">Nike Free 2010 Shoes</a></div>
      <div ><a href="http://www.freerunnike.com/nike-free-2011-shoes-c-5.html">Nike Free 2011 Shoes</a></div>
      <div ><a href="http://www.freerunnike.com/nike-free-30-c-1.html">Nike Free 3.0</a></div>
      <div ><a href="http://www.freerunnike.com/nike-free-50-c-2.html">Nike Free 5.0</a></div>
      <div ><a href="http://www.freerunnike.com/nike-free-70-c-3.html">Nike Free 7.0</a></div>
      <div ><a href="http://www.freerunnike.com/nike-free-hyper-tr-c-7.html">Nike Free Hyper TR</a></div>
      <div ><a href="http://www.freerunnike.com/nike-lunar-eclipse-c-8.html">Nike Lunar Eclipse</a></div>
      <div ><a href="http://www.freerunnike.com/nike-lunar-elite-c-9.html">Nike Lunar Elite</a></div>
      <div ><a href="http://www.freerunnike.com/nike-lunar-haze-c-10.html">Nike Lunar Haze</a></div>
      <div ><a href="http://www.freerunnike.com/nike-lunarglide-c-13.html">Nike Lunarglide</a></div>
      <div ><a href="http://www.freerunnike.com/nike-lunarglide2-c-14.html">Nike Lunarglide+2</a></div>
      <div ><a href="http://www.freerunnike.com/nike-lunarlite-c-15.html">Nike LunarLite</a></div>
      <div ><a href="http://www.freerunnike.com/nike-lunarswift-c-16.html">Nike Lunarswift</a></div>

      Posted on 1 July 2011 - 1:55 AM / by nike free

    • nike air max

      Nike Air Max Air Maxes Cheap Nike Air Shoes Air Max Sale Online
      <div ><a href="http://www.nikeam.com/nike-air-max-180-c-4.html">Nike Air Max 180</a></div>
      <div ><a href="http://www.nikeam.com/nike-air-max-2010-c-6.html">Nike Air Max 2010</a></div>
      <div ><a href="http://www.nikeam.com/nike-air-max-2011-c-7.html">Nike Air Max 2011</a></div>
      [url=http://www.nikeam.com/nike-air-griffey-max-c-2.html]Nike Air Griffey Max[/url]
      [url=http://www.nikeam.com/nike-air-max-2011-c-7.html]Nike Air Max 2011[/url]
      [url=http://www.nikeam.com/nike-air-max-247-c-8.html]Nike Air Max 24-7[/url]
      windows7 windows 7 win7 win 7 windows xp , window vista system
      Windows 7 Home Premium,Windows 7 Professional
      <div ><a href="http://www.cheapwin7.com/windows-7-c-1.html">Windows 7</a></div>
      <div ><a href="http://www.cheapwin7.com/office-2010-c-5.html">Office 2010</a></div>
      <div ><a href="http://www.cheapwin7.com/others-c-6.html">Others</a></div>
      [url=http://www.cheapwin7.com/windows-7-c-1.html]Windows 7[/url]
      [url=http://www.cheapwin7.com/office-2010-c-5.html]Office 2010[/url]
      [url=http://www.cheapwin7.com/others-c-6.html]Others[/url]

      Posted on 5 July 2011 - 2:34 AM / by nike air max

    • RE: RE: ASP.NET Page Execution Times

      Yossu says...
      Couldn't get this code to work. I tried it in both a master page and a child page, but the time was shown as zero in both cases.

      If I turned on tracing, it showed the execution time, but Environment.TickCount returned the same value in both Page_Init and Page_PreRender, so the elapsed time your code reported was zero.

      Any ideas? Thanks

      Posted on 26 July 2011 - 8:19 AM / by Anonymous

    • max 95

      good

      Posted on 11 August 2011 - 11:03 AM / by max 95

    • max 95

      good

      Posted on 17 August 2011 - 3:02 AM / by max 95

    • nike free run

      YES! I finally found this web page! I’ve been looking just for this article for so long!!

      Posted on 14 December 2011 - 7:34 AM / by nike free run

    • RE: RE: ASP.NET Page Execution Times

      Located in portman <a href="http://www.ukbagsoutlets.com">Louis Vuitton Outlet</a> square flagship Louis Vuitton Scarves store snare the LV almost all sold in the paragraph, and the reporter discovery, <a href="http://www.ukbagsoutlets.com/Categories_louis-vuitton-belts_10.html">LV Belts</a> its price mainly and pattern.Tis different series of price difference is <a href="http://www.ukbagsoutlets.com/Categories_louis-vuitton-bikini_11.html">Cheap Louis Vuitton Bikini</a> very big, from 5000 multivariate to tens of thousands of dollars, of which the lowest price is LV by series. The same <a href="http://www.ukbagsoutlets.com/Categories_louis-vuitton-hats_12.html">Cheap Louis Vuitton Hats</a> series bag if pattern different.LV09 graffiti special <a href="http://www.ukbagsoutlets.com">Louis Vuitton Outlet</a> works,but you can choose their home, such as famous such as Louis Vuitton Outlet <a href="http://www.ukbagsoutlets.com/Categories_louis-vuitton-jeans_13.html">Louis Vuitton Jeans Price</a> classical style by. After the price, in the mainland speedy30 lv and only need 5,600 dollars. French luxury brand louis vitton outlet is no stranger to <a href="http://www.ukbagsoutlets.com/Categories_louis-vuitton-scarves_14.html">louis vuitton scarves on sale</a> netpatriots in,almost in Shanghai streets everywhere, <a href="http://www.ukbagsoutlets.com/Categories_louis-vuitton-shoes_15.html">Louis Vuitton Shoes For Sale</a> it serves to show to the brand of luxury lover dotes <a href="http://www.ukbagsoutlets.com/Categories_louis-vuitton-watches_30.html">Louis Vuitton Watches Price</a> on degree.

      Posted on 16 December 2011 - 8:33 AM / by Louis Vuitton Outlet

  • RE: ASP.NET Page Execution Times

    Best way to get the page render time is to use Fiddler. The elapsed time shows the exact time.

    Posted on 25 February 2010 - 10:17 AM / by Suman

    • discount lv handbags

      d 30 doctoral related to economic management, software development, mold manufacturing and other business areas of expertise needed. Among them, Dr. Chen Hongyan EFI developed environment-friendly motorcycles, exhaust levels up to the European (Ⅰ Ⅰ) No standards, leading position in the country; Britain in <a href="http://www.lvseriesoutlet.com/louis-vuitton-damier-wallet-C26.html" title="damier lv wallet">damier lv wallet</a> the research and development, Dr. <a href="http://www.lvseriesoutlet.com/" title="louis vuitton handbags outlet">louis vuitton handbags outlet</a> Wang Weiping, blank. Now, from across the country more than 20,000 professionals among the <a href="http://www.lvseriesoutlet.com/louis-vuitton-damier-wallet-C26.html" title="buy lv wallet">buy lv wallet</a> various in...

      Posted on 31 May 2011 - 1:55 AM / by discount lv handbags

    • Re:

      The buy dissertation service can offer students with the the dissertation but the perfect knowledge about this good topic we would see here only.

      Posted on 17 August 2011 - 11:31 AM / by thesis writing

    • Re:

      Businessmen are always ready to pay big cash for SEO. Obviously, the article submission services should get great income.

      Posted on 22 August 2011 - 8:40 AM / by article distribution service

    • Re:

      Very often to reach the PhD degree you have to order thesis summary referring to this topic and thesis writing.

      Posted on 24 August 2011 - 2:55 AM / by dissertation

    • Re:

      The very hot outcome referring to this topic would be free for all students, just because they want thesis and good dissertations or just thesis pdf.

      Posted on 24 August 2011 - 3:23 AM / by thesis writing service

    • Re:

      It is the best time to comment that you affected me with your best outcome just about this good post. Thus, we would try to compose the format thesis on the base of your stuff. Or plausibly, that is accomplishable to notice some thesis writing service.

      Posted on 28 August 2011 - 2:06 PM / by thesis writing

    • Re:

      This best outcome just about this post would be shown at dissertation writing or in the custom thesis to buy research papers online from the essay writing services.

      Posted on 28 August 2011 - 2:59 PM / by custom thesis

    • Re:

      I had a desire to begin my firm, nevertheless I did not have enough of cash to do that. Thank heaven my friend suggested to take the loans. Thus I used the college loan and made real my old dream.

      Posted on 2 January 2012 - 10:35 AM / by business loans

  • RE: ASP.NET Page Execution Times

    Thanks for the article, it was very helpful. :D

    Posted on 6 February 2009 - 3:58 PM / by extremesanity

    • wholesale Gucci

      <a href="http://www.outletsgucci.net/gucci-sunglasses-C11.html" title="Gucci sunglasses on sale">Gucci sunglasses on sale</a> r one. Once a woman desperate, they rushed. <br> <br> see this crazy, they are usually not able to imagine such a work, running from business to sleepless nights, with the customer care about it Grievance must be reported. Rather offended I, unwilling to concede a while. This is a positive indust... <a href="http://www.outletsgucci.net/gucci-sunglasses-C11.html" title="wholesale Gucci sunglasses">wholesale Gucci sunglasses</a> <a href="http://www.outletsgu

      Posted on 21 May 2011 - 4:19 AM / by wholesale Gucci

      • RE: wholesale Gucci

        This article from
        www.nikingshoes.com

        Posted on 9 June 2011 - 10:25 AM / by Nike Dunks Shoes

        • ugg bailey button

          with his uncle a life. 16 <b><a href="http://www.buyairjordans.net/air-jordan-retro-19-C51.html">Jordan 19 Shoe</a></b> years old, Tongbai County liberation, second grade teacher <b><a href="http://www.buyairjordans.net/air-jordan-retro-19-C51.html">Air Jordan 19</a></b> <b><a href="http://www.buyairjordans.net/air-jordan-retro-19-C51.html">Jordans 19</a></b> <b><a href="http://www.buyairjordans.net/air-jordan-retro-18-C50.html">Jordan 18 For Sale</a></b> read the Fan... <b><a href="http://www.buyairjordans.net/">jordan cheap shoes</a></b>

          Posted on 15 October 2011 - 8:10 AM / by ugg bailey button

    • Jordans On Sale

      In 1984, Chen Tais industrial output for the first time exceeded 1 billion yuan in 2003 for the first time exceeded billion. Last year, this figure <a href="http://www.nikejordansneaker.net/" title="jordan cheap shoes">jordan cheap shoes</a> increased to 18.56 billion yuan, just twenty years time, an increase of 185 <a href="http://www.nikejordansneaker.net/air-jordan-retro-13-C44.html" title="Air Jordan 13 For Sale">Air Jordan 13 For Sale</a> times. Borrow some unknown place this year quickly turned into a total economic output ranks first in Fujian Province, Bai Jiangzhen <a href="http://www.nikejordansneaker.net/air-jordan-retro-13-C44.html" title="Buy Jordan 13">Buy Jordan 13</a> town. <br> <br> a time, in the crowded streets of Tai Chen a wide variety of people...

      Posted on 28 May 2011 - 3:54 AM / by Jordans On Sale

    • Louis Vuitton handbags

      and the truthfulness <a href="http://www.usbags.net/Categories_louis-vuitton-monogram-handbags_6.html">Louis Vuitton handbags</a>, accuracy and completeness of the joint and several liability <a href="http://www.usbags.net">louis vuitton backpacks</a> .

      Posted on 26 July 2011 - 8:09 AM / by louis vuitton handbags clearance

    • Asics Kanuchi Men Shoes

      will <a title="creative recreation cr shoes men" href="http://www.toemall.com/affordable-price-creative-recreation-cr-shoes-men.htm" target="_blank">creative recreation cr shoes men</a> have their own strengths and weaknesses price and item wise. you might get better prices with other suppliers when it comes to <a title="nike dynamo free ps shoes men" href="http://www.toemall.com/nike-dynamo-free-ps-shoes-men-accept-credit-cards.htm" target="_blank">nike dynamo free ps shoes men</a> different products so extend your horizons and network. lastly make sure all transactions are legitimate so that

      Posted on 20 August 2011 - 5:48 AM / by Asics Kanuchi Men Shoes

    • RE: RE: ASP.NET Page Execution Times

      In 1913, [URL=http://www.cheapprada-online.co.uk] Prada [/URL]in Milan, Italy, founded the first boutique downtown, founder Mario • Prada (Mali op Lada) designed by [URL=http://www.cheapprada-online.co.uk]fashion [/URL]
      and [URL=http://www.cheapprada-online.co.uk]high-quality handbags [/URL], luggage,leather accessories and cosmetics cases and other products[URL=http://www.cheapprada-online.co.uk] obtained [/URL]from the royal family and the love and pursuit of high society. Today, this boutique still favored[URL=http://www.cheapprada-online.co.uk] the upper class [/URL]in Italy still has a high reputation and prestige, Prada values embodied in the product has been regarded as [URL=http://www.cheapprada-online.co.uk]extraordinary [/URL] in everyday life to enjoy. [URL=http://www.cheapprada-online.co.uk]Prada [/URL]was founded in 1913, the first boutique. In 1978, the historic well-known brands have been given[URL=http://www.cheapprada-online.co.uk] a new element [/URL] in the development and vitality. Miu Pu Landa Pictures (20) ccia (Mali op Lada's granddaughter) and then with rich experience in luxury products Patrizio Bertelli established [URL=http://www.cheapprada-online.co.uk]a business partnership[/URL].70's fashion environment changes, [URL=http://www.cheapprada-online.co.uk] Prada [/URL]near the verge of bankruptcy. 1978 Miuccia together with her husband Patrizio Bertelli took over and led Pradatowards a new milestone.[URL=http://www.cheapprada-online.co.uk]Miuccia Prada[/URL]as the chief architect of fashion talent through her talent constantly challenging and innovative interpretation of the legend.

      Posted on 18 September 2011 - 3:12 PM / by johnnash

    • Lifestyle

      [url=http://www.ioiom.com]Wedding Dresses[/url]
      [url=http://www.ioiom.com]wedding gowns[/url]
      [url=http://www.ioiom.com/2011-New-Fashion-Trends/Grecian-Goddess-Wedding-Dresses/2011-Fashion-Grecian-Goddess-Wedding-Dresses-28.html]goddess wedding dresses[/url]

      Posted on 20 September 2011 - 8:11 AM / by wedding dresses

    • RE: RE: ASP.NET Page Execution Times

      <p><a href="http://www.piuminiuomo.com/">Piumini Moncler Donna</a> Italia nei primi anni 1980 per acquistare ad alto <p><a href="http://www.piuminiuomo.com/"> Giubbotti Moncler</a> reddito Moncler-based, che uso solo per lo sci.<p><a href="http://www.piuminiuomo.com/">Piumini Uomo 2011</a> 1983 in questo caso il cambiamento è un fenomeno nuovo. Questo fenomeno è simile a quella del Giappone, è il momento di raccogliere <p><a href="http://www.piuminiuomo.com/">Moncler Donna Cappott</a> tutti quei Milano, la moda di lusso italiano conosciuto come paninaro giubbotto Moncler pazzo chehanno scelto come l'unica collezione. Come il freddo sta rendendo difficile cercato il motivo. Nel 1985, 50.000 giacche vendute solo in Italia.<p><a href="http://www.piuminiuomo.com/">Moncler Giubbotti Uomini</a> Lo stile più popolare è l'ulteriore nylon

      Posted on 27 October 2011 - 12:21 PM / by Piumini Uomo 2011

  • RE: ASP.NET Page Execution Times

    There is another Way to "manipulate" the _rendered_ Html, and so display the "real" Execution Time includes the Rendering of the Page.

    Have a Look at: http://www.aspnetzone.de/blogs/peterbucher/archive/2008/03/16/requestdauer-mit-einem-httpmodule-und-response-filter-ausgeben.aspx

    Posted on 21 April 2008 - 5:22 AM / by Peter Bucher

  • RE: ASP.NET Page Execution Times

    Dominic, thanks a lot for this article. It helped me a lot.

    Posted on 25 October 2007 - 6:54 AM / by Dust

    • louis vuitton monogram handbags

      the Board of Directors <a href="http://www.usbags.net">louis vuitton monogram handbags</a> and the Directors to ensure that this announcement does not contain any false <a href="http://www.usbags.net/Categories_louis-vuitton-bag_1.html">louis vuitton duffle bag</a>, misleading <a href="http://www.usbags.net">vintage louis vuitton wallet</a>statements or material omissions

      Posted on 26 July 2011 - 8:22 AM / by louis vuitton backpacks

    • RE: RE: ASP.NET Page Execution Times

      <p><a href="http://www.piuminiuomo.com/">Piumini Moncler Donna</a> spugnette di nylon, tessuto e maniche rimovibili stile,<p><a href="http://www.piuminiuomo.com/"> Giubbotti Moncler</a> il più popolarecolore arancione e giallo, <p><a href="http://www.piuminiuomo.com/">Piumini Uomo 2011</a> sia al momento i negozi sono molto difficili da trovare Moncler 1987, la nuova sede e stabilimento produttivo a Grenoble <p><a href="http://www.piuminiuomo.com/">Moncler Donna Cappott</a> dal bordo di una zona industriale:.. Echirolles Territorio cominciò a cominciare con l'aggiunta di una nuova linea di prodottie ad espandersi. Outdoor abbigliamento sportivo dal 1994, la porta è aperta, sempre più vengono indossati in più occasioni. <p><a href="http://www.piuminiuomo.com/">Moncler Giubbotti Uomini</a> Da 94 a 98 anni Moncler è diventata la regione europea

      Posted on 27 October 2011 - 12:23 PM / by Piumini Uomo 2011

    • RE: RE: ASP.NET Page Execution Times

      <p><a href="http://www.piuminiuomo.com/">Piumini Moncler Donna</a> spugnette di nylon, tessuto e maniche rimovibili stile,<p><a href="http://www.piuminiuomo.com/"> Giubbotti Moncler</a> il più popolarecolore arancione e giallo, <p><a href="http://www.piuminiuomo.com/">Piumini Uomo 2011</a> sia al momento i negozi sono molto difficili da trovare Moncler 1987, la nuova sede e stabilimento produttivo a Grenoble <p><a href="http://www.piuminiuomo.com/">Moncler Donna Cappott</a> dal bordo di una zona industriale:.. Echirolles Territorio cominciò a cominciare con l'aggiunta di una nuova linea di prodottie ad espandersi. Outdoor abbigliamento sportivo dal 1994, la porta è aperta, sempre più vengono indossati in più occasioni. <p><a href="http://www.piuminiuomo.com/">Moncler Giubbotti Uomini</a> Da 94 a 98 anni Moncler è diventata la regione europea

      Posted on 27 October 2011 - 12:23 PM / by Piumini Uomo 2011

Leave a Comment

Comment Details
*
* BBCode: [b]bold[/b], [i]italics[/i], [code]code[/code], [li]bullet point[/li], [h]Heading[/h], [url="http://www.example.com"]link[/url], [quote author="John Smith"]quote[/quote]

Random Image

James Bond with an Aston Martin supercar.

Nice car. Shame he trashes it again. (from the blog It’s Bond, But Not as You Know it )

Quick Poll

What is your DIP/IOC Container of choice?

Poll Vote
(see results)
View Comments (625) (See previous polls)

Latest Tweets

  • And YouTube still auto-fucking-plays videos!! This is TWO-THOUSAND-AND-FUCKING-TWELVE FFS!!!

    about 20 hours ago from web
  • On a side-note, YouTube's commenting system is god-awful atrocious dreadful horrible horrible horrible!! Constant meaningless error messages

    about 20 hours ago from web
  • JavaScript is slow mmmkay http://t.co/NbB4eQjw - Actually, no, it's not http://t.co/kpGEIoPO #nodejs

    about 20 hours ago from web
  • TFS: It's super expensive, so it must be brilliant, right? Like Sharepoint #tekpubtfstitlesuggestion

    5:22 PM February 3rd from web

View Dominic Pettifer's Twitter page.