| Graham Dumpleton (JIRA) 2006-09-11, 7:12 am |
| [ http://issues.apache.org/jira/brows...action_12433818 ]
Graham Dumpleton commented on MODPYTHON-93:
-------------------------------------------
Have we decided that we will not try and be compatible with Trac and expect people using mod_python 3.3 to use the next unreleased version of Trac? This next version of Trac works via a WSGI gateway and thus doesn't use FieldStorage and thus doesn't have
the problems seen here. Can we mark the original issue as resolved for 3.3?
> 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: 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.
|