[Zope-dev] why is this more efficient
Michel Pelletier
michel@digicool.com
Mon, 23 Apr 2001 15:49:53 -0700 (PDT)
On Mon, 23 Apr 2001, Tim McLaughlin wrote:
> Found this in the constructor for the File Product and I don't understand
> why it is more efficient. (I want to subclass a File, so this does have
> some purpose ;-)) Anybody got any ideas?
>
> # First, we create the file without data:
> self._setObject(id, File(id,title,'',content_type, precondition))
>
> # Now we "upload" the data. By doing this in two steps, we
> # can use a database trick to make the upload more efficient.
> self._getOb(id).manage_upload(file)
It's more efficient because manage_upload commits subtransactions every N
bytes and your main process memory doesn't grow to the size of the file.
-Michel