Mobile version of this pagehtml2plaintext Python script to convert HTML emails to plain text
Next:
Printer usability problem
Related blogs
PostgreSQL, MySQL or SQLiteLoadtesting this site and compare with static Apache
Fastest way to uniqify a list in Python
'Cache-Control' or Expires
YSlow grade A (96) but not with doubts
Date formatting in python or in PostgreSQL
Date formatting in Python or in PostgreSQL (part II)
Nice date input
Gzip and Slimmer optimization anecdote
Related by category
rfc822() vs. rfc1123_date()
rfc822, rfc1123_date, expires, datetime, gmt, benchmark, locale, rfc
16th of August 2007
To set the Expires header in my web application I used to use the Zope DateTime function rfc822() which doesn't return the date in GMT format. Here's how I used it:
>>> hours = 5
>>> then = DateTime() + hours/24.0
>>> then.rfc822()
'Thu, 16 Aug 2007 20:43:59 +0100'
Then I found out (from using YSlow) that it's better to use the GMT format (RFC 1123), and here's how to do that in Zope:
>>> from time import time
>>> rfc1123_date(time() + 3600*hours)
'Thu, 16 Aug 2007 19:45:12 GMT'
(notice that even though my locale is here in London, because of the summer time an hour is added)
Well, I thought I'd do a quick benchmark to compare the two approaches because I suspected that rfc1123_date() was faster because you don't have to create a DateTime() object. Here's what the two methods looked like to benchmark it:
t0 = time()
now = DateTime()
then = now+float(hours/24.0)
x=then.rfc822()
return time()-t0
def foo2(self, hours):
t0 = time()
x = rfc1123_date(time() + 3600*hours)
return time()-t0
The result was as I expected, rfc1123_date() was much faster.
Here are the results for 10,000 iterations:
Times2: 0.16867017746
round(1.25969386101/0.16867017746)=7.0
But a benchmark on something like this is a bit non-sense. Why? Because even if there's a 7 times difference, you'll only ever need one of these iterations per page. Not 10,000. The first function foo1() takes 0.00013 seconds.
Conclusion, worry more about getting the right output rather than speed at this kind of level.







Save this page in del.icio.us