tks 2013/1/6 <twisted-web-request@twistedmatrix.com>
Send Twisted-web mailing list submissions to twisted-web@twistedmatrix.com
To subscribe or unsubscribe via the World Wide Web, visit http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web or, via email, send a message with subject or body 'help' to twisted-web-request@twistedmatrix.com
You can reach the person managing the list at twisted-web-owner@twistedmatrix.com
When replying, please edit your Subject line so it is more specific than "Re: Contents of Twisted-web digest..."
Today's Topics:
1. Re: [Twisted-Python] Speed of rendering? (Peter Westlake) 2. Re: [Twisted-Python] Speed of rendering? (exarkun@twistedmatrix.com) 3. file upload with twisted (Levi Nie) 4. Re: file upload with twisted (Glyph) 5. Re: file upload with twisted (??????? ?????)
----------------------------------------------------------------------
Message: 1 Date: Fri, 04 Jan 2013 18:30:47 +0000 From: Peter Westlake <peter.westlake@pobox.com> Subject: Re: [Twisted-web] [Twisted-Python] Speed of rendering? To: Twisted Web World <twisted-web@twistedmatrix.com> Message-ID: < 1357324247.31399.140661173476561.11F56E5E@webmail.messagingengine.com>
Content-Type: text/plain
A while back I promised to write some benchmarks for twisted.web.template's flattening functions. Is something like this suitable? If so, I'll add lots more test cases. The output format could be improved, too - any preferences?
Peter.
from twisted.web.template import flatten from twisted.web.server import Request import twisted.web.http
channel = twisted.web.http.HTTPChannel() request = Request(channel, False)
def make(content): def f(): d = flatten(request, content, lambda _: None) assert d.called return f
def test(content): return timeit.timeit(stmt=make(content), number=repeats)
repeats = 1000
deeplist = ['centre'] for n in range(100): deeplist = [deeplist]
tests = { 'empty': '', 'string': 'hello', 'shortlist': ['hello'], 'longlist': [str(n) for n in range(100)], 'deeplist': deeplist, }
if __name__ == '__main__': import timeit from sys import argv for name in argv[1:] or tests: print name, test(tests[name])
------------------------------
Message: 2 Date: Fri, 04 Jan 2013 19:58:13 -0000 From: exarkun@twistedmatrix.com Subject: Re: [Twisted-web] [Twisted-Python] Speed of rendering? To: Twisted Web World <twisted-web@twistedmatrix.com> Message-ID:
<20130104195813.4649.1661214274.divmod.xquotient.20@localhost6.localdomain6
Content-Type: text/plain; charset="utf-8"; format="flowed"
On 06:30 pm, peter.westlake@pobox.com wrote:
A while back I promised to write some benchmarks for twisted.web.template's flattening functions. Is something like this suitable? If so, I'll add lots more test cases. The output format could be improved, too - any preferences?
The output should be something that we can load into our codespeed instance. The output of any of the existing benchmarks in lp:twisted- benchmarks should be a good example of that format (I don't even recall what it is right now - it may not even be a "format" so much as a shape of data to submit to an HTTP API).
The `timeit` module is probably not suitable to use to collect the data, as it makes some questionable choices with respect to measurement technique, and at the very least it's inconsistent with the rest of the benchmarks we have.
Selecting data to operate on is probably an important part of this benchmark (or collection of benchmarks). It may not be possible to capture all of the interesting performance characteristics in a single dataset. However, at least something that includes HTML tags is probably desirable, since that is the primary use-case.
There are some other Python templating systems with benchmarks. One approach that might make sense is to try to build analogous benchmarks for twisted.web.template. (Or perhaps a little thought will reveal that it's not possible to make comparisons between twisted.web.template and those systems, so there's no reason to follow their benchmarking lead.)
Jean-Paul
Peter.
from twisted.web.template import flatten from twisted.web.server import Request import twisted.web.http
channel = twisted.web.http.HTTPChannel() request = Request(channel, False)
def make(content): def f(): d = flatten(request, content, lambda _: None) assert d.called return f
def test(content): return timeit.timeit(stmt=make(content), number=repeats)
repeats = 1000
deeplist = ['centre'] for n in range(100): deeplist = [deeplist]
tests = { 'empty': '', 'string': 'hello', 'shortlist': ['hello'], 'longlist': [str(n) for n in range(100)], 'deeplist': deeplist, }
if __name__ == '__main__': import timeit from sys import argv for name in argv[1:] or tests: print name, test(tests[name])
_______________________________________________ Twisted-web mailing list Twisted-web@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
------------------------------
Message: 3 Date: Sat, 5 Jan 2013 09:50:37 +0800 From: Levi Nie <levinie001@gmail.com> Subject: [Twisted-web] file upload with twisted To: "twisted-web@twistedmatrix.com" <twisted-web@twistedmatrix.com> Message-ID: <CAEMsKDudEvLCeVf= sVPW_BE7rX2qtx9rAQERvssAMsckF9yYfA@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
When i send a http request with a big file, can i check the content-length then enable or disable the file upload?
I use the s3cmd client sent the request. And i need disable the file upload if the file size is over the quota.
how can i do this?