[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