You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mod_python-dev@quetz.apache.org by "Mike Looijmans (JIRA)" <ji...@apache.org> on 2006/10/26 12:38:17 UTC

[jira] Commented: (MODPYTHON-93) Improve util.FieldStorage efficiency

    [ http://issues.apache.org/jira/browse/MODPYTHON-93?page=comments#action_12444850 ] 
            
Mike Looijmans commented on MODPYTHON-93:
-----------------------------------------

A very simple approach would be to delete the dictionary attribute when 
any change is made.

The add_field method should be made private, and one could add a 
__setitem__ method like this:

     def __setitem__(self, key, value):
         if self.__dict__.has_key('dictionary'):
             del self.dictionary
         self._add_field(key, value)

A similar approach can be taken to add the __delitem__ functionality.


Mike Looijmans
Philips Natlab / Topic Automation




> Improve util.FieldStorage efficiency
> ------------------------------------
>
>                 Key: MODPYTHON-93
>                 URL: http://issues.apache.org/jira/browse/MODPYTHON-93
>             Project: mod_python
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 3.2.7
>            Reporter: Jim Gallacher
>         Assigned To: Graham Dumpleton
>            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: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira