[ENH] Celeste speedup for many messages

Michael Rutenberg mdr at scn.org
Tue Jan 4 18:39:20 UTC 2000


The attached Celeste change set speeds up sending and receiving email,
as well as the display of large categories.   Actual changes are quite
very localized.  Details from the change set comment are included below.

Mike

p.s. Happy new year to all of you!



Change Set:		CelesteSpeedups
Date:			3 January 2000
Author:			Mike Rutenberg (mdr at scn.org)

These changes are important in speeding up Celeste mailboxes containing
several thousand messages or when running on slower computers.

(1) Removes a redundant (and very costly) self changed: message from
updateTOC.  When displaying a new/modified large category (e.g. the 8000
Squeak messages of last year) it cuts the (Morphic) update time almost
in half
from 14 seconds.

(2) Change to eliminate saving the category and index file to disk after
retrieving new messages or sending messages.  The message contents
continue to be immediately flushed to the message file when they are
retrieved from the server or typed to be sent.  This change makes
sending and retrieving messages significantly (!!!!) faster.

Discussion of possible dangers of (2):
I believe that this introduces no new dangers, while significantly
improving the performance of Celeste.  There are a number of ways the
index might differ between Squeak and disk, such as when you move a
message between categories.   In the case of Squeak crashing before the
index does get saved, choosing 'compact' from the categories menu will
rebuild the index file based on the contents of the message file.  In
the worst case, it is possible to construct a scenario in which a Squeak
crash would result in outgoing messages being sent twice.

Goal for the future:
Make saving/restoring the Celeste index file to disk so fast that it can
be done with any change
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CelesteSpeedups.mdr.cs
Type: application/x-unknown-content-type-cs_auto_file
Size: 5249 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20000104/61c2943c/CelesteSpeedups.mdr.bin


More information about the Squeak-dev mailing list