Apache Mod-Python - Updated: (MODPYTHON-93) Improve util.FieldStorage efficiency

This is Interesting: Free IT Magazines  
Home > Archive > Apache Mod-Python > December 2005 > Updated: (MODPYTHON-93) Improve util.FieldStorage efficiency





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Updated: (MODPYTHON-93) Improve util.FieldStorage efficiency
Mike Looijmans (JIRA)

2005-12-02, 2:47 am

[ http://issues.apache.org/jira/brows...HON-93?page=all ]

Mike Looijmans updated MODPYTHON-93:
------------------------------------

Attachment: modpython325_util_py_dict.patch

What it does:
- Simplifies the creation of StringField objects. This was already
marked as a TODO in the 3.2.5b code.
- Does not create a file object (cStringIO) for each and every field.
- FieldStorage.get() will always return the same instance(s) for any
given name.
- FieldStorage.get() is very cheap now (does not create new objects,
which is expensive in Python)
- use a dictionary-on-demand.
- Lots of code removed for this one, and a few lines added.
- items() function, which, contrary to common belief, preserves argument ordering.

> Improve util.FieldStorage efficiency
> ------------------------------------
>
> Key: MODPYTHON-93
> URL: http://issues.apache.org/jira/browse/MODPYTHON-93
> Project: mod_python
> Type: Improvement
> Components: core
> Versions: 3.3
> Reporter: Jim Gallacher
> Assignee: Jim Gallacher
> Priority: Minor
> Attachments: modpython325_util_py_dict.patch
>
> Form fields are saved as a list in a FieldStorage class instance. The class implements a __getitem__ method to provide dict-like behaviour. This method iterates over the complete list for every call to __getitem__. Applications that need to access all

the fields when processing the form will show O(n^2) behaviour where n == the number of form fields. This overhead could be avoided by creating a dict (to use as an index) when the FieldStorage instance is created.
> Mike Looijmans has been investigating StringField and Field as well. It is probably reasonable to include information on his work in this issue as well, so that we can consider all of these efficiency issues in toto.


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com