quetz-mod_python-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Gallacher (JIRA)" <j...@apache.org>
Subject [jira] Commented: (MODPYTHON-93) Improve util.FieldStorage efficiency
Date Fri, 23 Jun 2006 02:54:30 GMT
    [ http://issues.apache.org/jira/browse/MODPYTHON-93?page=comments#action_12417405 ] 

Jim Gallacher commented on MODPYTHON-93:

As part of the improvments to FieldStorage, the Field class __init__ method was changed in
trunk (3.3-dev) and backported to branches/3.2.x. Although the documentation states that the
Field class is for internal use by
FieldStorage, some software applications create Field instances directly. This change in the
__init__ signature causes those applications to fail.

Breaking compatibility may be acceptable for a minor version increment (3.2 > 3.2) but
is undesirable for a patch release (3.2.8 > 3.2.9). Changing the Field class to be both
forward and backward compatible wil not be difficult. As such I'll commit a fix to branches/3.2.x
in time for a 3.2.9 release.

> 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.2.7
>     Reporter: Jim Gallacher
>     Assignee: Jim Gallacher
>     Priority: Minor
>      Fix For: 3.3
>  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.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message