Closed Bug 22486 Opened 25 years ago Closed 21 years ago

Investigate creation of a msg compose/reply window performance

Categories

(MailNews Core :: Composition, defect, P1)

defect

Tracking

(Not tracked)

VERIFIED WORKSFORME
mozilla1.2alpha

People

(Reporter: bugzilla, Assigned: bugzilla)

References

(Depends on 1 open bug, )

Details

(Keywords: perf, topperf)

Attachments

(14 files)

10.07 KB, patch
Details | Diff | Splinter Review
7.22 KB, patch
Details | Diff | Splinter Review
388.27 KB, application/x-gzip
Details
16.71 KB, patch
Details | Diff | Splinter Review
19.18 KB, patch
Details | Diff | Splinter Review
1.37 KB, text/plain
Details
1.97 KB, text/plain
Details
1.97 KB, text/plain
Details
4.05 KB, text/plain
Details
1.97 KB, text/plain
Details
1.97 KB, text/plain
Details
4.21 KB, text/plain
Details
14.16 KB, patch
Details | Diff | Splinter Review
11.50 KB, patch
Details | Diff | Splinter Review
Are we really slow? why? and how can we fix that?
Status: NEW → ASSIGNED
OS: Mac System 8.5 → All
Hardware: Macintosh → All
Target Milestone: M13
Summary: [PERFORMANCE] Investigate creation of a msg compose window performance → [PERF] Investigate creation of a msg compose window performance
Corrected code name to the standard, [PERF]. (Don't use [PERFORMANCE].)
Keywords: perf
Summary: [PERF] Investigate creation of a msg compose window performance → Investigate creation of a msg compose window performance
Adding perf to keyword field.
Target Milestone: M13 → M14
Not an M13 stopper
QA Contact: lchiang → suresh
Would like to improve this for beta1, but wouldn't hold for it.
Seem to be more a generic problem when opening a xul window. Move to M15
Target Milestone: M14 → M15
Mass moving to M16 to get these off the M15 radar.  Please let me know if this
is really an M15 stopper.
Target Milestone: M15 → M16
Not M16 stopper.  Marking M17.
Target Milestone: M16 → M17
moving to M18 and nominating for beta3
Keywords: nsbeta3
Target Milestone: M17 → M18
What are the latest timings on this?
QA Contact: suresh → pratikd
I think there are two ways one could time these. (1) is to open the compose 
window for the first time after starting the mail application (new mail session) 
and (2)is to open the compose window the second time in a single mail session. 

Here are the approximate values in seconds using build 2000-07-27-08 on Win95, 
Linux 6.1 and Mac OS ( performance machines )

Win95:
1) 12.23 sec
2) 7.21 sec

Linux: 
1) 18.32 sec
2) 9.67 sec

Mac: 
1) 25.12 sec
2) 12.24 sec
Mail triage marking [nsbeta3+]
Whiteboard: [nsbeta3+]
Depends on: 49141
No longer depends on: 49141
second pass: - per mail triage
Whiteboard: [nsbeta3+] → [nsbeta3-][cut 8/28]
Adding mail1 keyword
Keywords: mail1
QA Contact: pratikd → esther
QA Contact: esther → stephend
I've created bug 63759 which is a performance tracker bug for mail/news.
We are especially interested in reply performance. marking nsbeta1+ and moving
to mozilla0.8 though this will probably keep getting moved out as we do more
research.
Keywords: nsbeta3nsbeta1
Whiteboard: [nsbeta3-][cut 8/28] → [nsbeta1+]
Target Milestone: M18 → mozilla0.8
changing priority.
Priority: P3 → P1
Summary: Investigate creation of a msg compose window performance → Investigate creation of a msg compose/reply window performance
*** Bug 63551 has been marked as a duplicate of this bug. ***
moving to mozilla0.9.  Still looking into this but it's not going to be solved
by mozilla0.8 :)
Target Milestone: mozilla0.8 → mozilla0.9
This patch, which a similar one is already checked in the performance branch, let you output some timing numbers 
to the console or/and to a file. Which those numbers, you can track progress between version and let you see in 
which task (new window, initialization,  mime, editor, UI update) we are spending our time. To activate this 
feature, you need to add the following pref into you current profile:

   user_pref("mail.compose.trace_to_console", true);
and/or
   user_pref("mail.compose.trace_to_file", true);

the output file will be located into your profile folder, at the same level that the prefs.js file. One file is created 
per session, the name is msgcomposetrace.txt or msgcomposetrace-nn.txt
  
REMARK: this patch would have to be disabled before RTM at it consume space and time.
Jean-Francois, I think we should be using PR_Logging to do most of this work for
you instead of adding so many ifdef's, and hand rolling your own file flushing code.

Let PR_Logging do all of that for you. To do that, look in nsImapProtocol.cpp
for IMAPMODULE or something like that. It'll show you how to set up a log
module. You can call yours MsgCompose or something like that. 

You'll still need if'defs for your new code to caculate the timing metrics but
all the actual data reporting should be done using the log module.

Let me know if you have questions and I can help.
yes, I second mscott's comments - PR logging is the way to go.
no problem, I will do that... and correct the branch as well...
r or sr=bienvenu
Ok, I looked some in messengercompose.xul to see if it was the XUL/JS that is 
responsible for the long loading time.

But I disabled various parts of the code, to see if the loading went faster - 
but it didn't! So I'm pretty convinced it's the C++.

But I found one thing that might be of interest: should we really 
include "EditorCommandsDebug.js" in messengercompose.xul? It looks like 
something that's not needed which hogs CPU time.

If I decided to hack on mscompose performance in C++, where should I look? Has 
anyone found any critical code that could be optimized since this bug was filed 
in 1999?     Thanks..
In my few-days-old dogfood optimized Linux builds, I'm seeing huge delays (with
a black content area, no painting) waiting for a compose message to dismiss
after I hit Send.  Sorry if this is known and reported as another bug.  Someone
rent me a clue, or tell me to update my build?

/be
Brendan, the MsgCompose window is horribly inefficent and slow in many ways. 

Why, I don't know but I think MsgCompose should be the next target to do a major
cleanup on after the outliner stuff hits the trunk.
Hey, I have an idea!

Has anyone profiled the msgcompose window opening/closing to see where all the 
time is spent? That would help very much.
I only commented because this long (many seconds) black/non-painting compose
window that I see after replying and hitting Send is a fairly recent problem,
say in the last few weeks, in my optimized dogfood home-built Mozilla
experience.  Maybe I was just lucky earlier?

/be
Brendan, I started seeing this delay a few days ago as well. But I think that
should be another bug as it seems to be a bad regression.
I've just check in the timeStamp function. I'll post on mozilla.org instruction
how to use it...
This is (after the perf-branch lands) the worst performance problem in MailNews
IMHO. Nominating for nscatfood...(BTW, isn't this bug also a topperf?)
Keywords: nsCatFood
Depends on: 74901
Depends on: 74904
adding dependencies.
Depends on: 74911, 74913, 74915
depends on the following bugs:
74904: ReplaceSubstring is O(n^2)
74901: Stop converting linefeed during a reply
74655: Stop converting linefeeds in editor InsertHTML (was: 40% of reply time in 
mailcompose spent converting linefeeds)
74656: 10% of reply time spent in O(n^2) line walking algorithm in nsLineBox
74907: Need efficient insertion of large flat docfrags into document
74912: nsHTMLEditor::InsertCitedQuotation should use fast docFrag insertion when 
available
74914: Remove unneeded editor postprocessing for mailcite insertion
Depends on: 74655, 74656, 74907, 74912, 74914
No longer depends on: 74911, 74913, 74915
Depends on: 75618
Keywords: nsCatFood+
Keywords: nsCatFood
moving to 0.9.1
Target Milestone: mozilla0.9 → mozilla0.9.1
Just profiled text insertion from the clipboard into an HTML editor window (is 
there a better bug to put this stuff in?) Looks like there's some low-hanging 
fruit here, but an editor person would be best to look at it.
Just an update from my standpoint (from my original data in bug 74656) - Varada
and I will be looking into why msgcompose:5 logging is not working on my machine.
Depends on: 35294
Updating dependency since 74907 was dup of 35294.
No longer depends on: 74907
Does this have any chance of being completed this week?  Seems like it's time to
admit defeat again and move this to m.9.2... :-(   :-(
well, this is just a tracking bug. Hopefully some of the bugs that this is
dependent on that are still marked 0.9.1 will get fixed.
Target Milestone: mozilla0.9.1 → mozilla0.9.2
Attached patch diffs for editor/base — — Splinter Review
with the attached diffs, editor becomes a pipe through which much
mail/content/layout love flows.  Nothing is going on in editor-proper now during
creating of a mail reply compose window.  

On a 300 MHz G3 mac portable, doing a reply on debug tip with these patches, to
a message that has 4000 lines of text separated by 4000 break nodes, I get this:

>31  seconds  to respond to a 4000 line message
7 seconds from mail compose creating an editor to when it hands off the quoted
message to editor
1.6 seconds for parser to convert html stream into a document fragment
18.4 seconds for content to insert the document fragment into the document
3.45 seconds for layout to reflow the document
0.45 seconds for painting document

Chris, note that this code path is now different from pasting, so pasting is no
longer a fair test for this (though improving paste perf would be great too!).

Improving docfrag insertion into the document, and speeding up mail groveling
through the message, look like the two biggest opportunities here.
Joe: what are those numbers before these changes? How much does that last patch 
help us?
Attached patch diffs of editor — — Splinter Review
I left out an .idl file in the earlier diffs.  This set should have everything.
Simon asks a good question. 
 
with my patch:
mail compose "NotifyDocuemntCreated()" to mail compose done: 30 seconds
 
without my patch:
mail compose "NotifyDocuemntCreated()" to mail compose done: 49 seconds

This speedup is a combination of not going through some postprocessing and also 
not using the more complicated paste code to do the insertion of the quote.
adding PDT+
Whiteboard: [nsbeta1+] → [nsbeta1+][PDT+]
I did some test on Mac using today debug build with or without joe's patch and
with Communicator 4.75 Release. The message I am replying to is 272K with about
9100 lines.

      total time to open the compose (insert data into editor)
4.75:              39   sec (n/a)
0.9.2 no patch:    87.5 sec (80.1)
0.9.2 with patch:  16.8 sec (9.8)

Very good job Joe, looks like we are not anymore exponential...
This is great!  It will be interesting to see some stats from some smaller sized
messages. Even better, JF was using a debug build without jst's patches.  Thanks
Joe.
same test with a smaller message: 33K for 1200 lines:

 total time to open the compose (insert data into editor)
4.75:               4   sec (n/a)
0.9.2 no patch:    12.1 sec (6.9)
0.9.2 with patch:   6.4 sec (1.4)


A couple of my patches failed to apply, is this POSIXLY_CORRECT stuff I'm
running into?
No worries, I had selected 2 files in my cut and paste (which caused patching to
fail).  A 36k message on my Win2K box (733mhz Pentium III with 384 megs of RAM)
takes 3 seconds to bring up and focus the reply window's insertion point.  I
will test a trunk build tomorrow on this same machine, but obviously this is too
high-end to be the main focus.  I will also export this build to the lab, where
my   266 MHz Pentium II, 128M RAM machine lives (the performance-testing
machien), and this should get us the solid numbers we need.
Great job Joe!! I am looking forward to see this checked in!
I tried jst patch on top of joe's one but I haven't see an improvement!
I feel like a complete loser, forgot to apply the IDL patch, so now I will run 
stricly on the perf machine now with my new build.  Sorry for the delays.
I'm not seeing the same numbers that everyone else is seeing, am I not going
about this the correct way? JFD, what are the machine specs that you tested
these 7 patches on?  I just apply, do a depend and build, right?
I am using a Mac PowerBook G3/500Mhz/256Mb.

Stephen, how many lines does you test message has? Are you loading the message
from a POP account or IMAP? The test message should be on you local folder or in
a pop account to avoid to have to load it from the net.
Let me send you my test messages...
Sigh, yet again.  I was using IMAP.  Not that I doubt you, but once we fetch the
message body, don't we cache it for insertion, or do we pull from the server,
yet again?  I will try POP3 with the messages you send me.
The results I am about to attach with astound you all!  This is Windows 98 this
time, local folder, with a 1200 line message!
To summarize the results I found:

OS/Machine config: Windows 98, Pentium II 266 mhz, 128 megs of RAM.
Message info: 1200 line message, 34k in size.
Builds: 2001-06-08-04 (*unpatched* trunk) vs. fresh CVS (*patched trunk).

---------------------------------------------------------------
Un-patched                        |                     Patched                 
---------------------------------------------------------------
[Run # 1] 12.04 seconds           |                 7.3 seconds
[Run # 2] 10.21 seconds           |                 5.5 seconds
[Run # 3] 10.40 seconds           |                 5.5 seconds
---------------------------------------------------------------
 40% improvement on the 1st run, 47 on the other 2 runs.


You might want to let npm.performance know about this amazing improvement!
Please add eta info to status whiteboard.
Whiteboard: [nsbeta1+][PDT+] → [nsbeta1+][PDT+] need eta
We still have apparently some issue to solve, no eta yet...
Whiteboard: [nsbeta1+][PDT+] need eta → [nsbeta1+][PDT+] No ETA yet
It's getting late to take this in for 092.  Removing PDT+ and adding nsBranch. 
We'd like to see this on the trunk a little before making a decision to put it
on the branch.
Keywords: nsBranch
Whiteboard: [nsbeta1+][PDT+] No ETA yet → [nsbeta1+]No ETA yet
Moving to 0.9.3
Target Milestone: mozilla0.9.2 → mozilla0.9.3
removing the nsbranch. We'll try to land this on the trunk instead.
Keywords: nsBranch
Depends on: 89624
moving to 0.9.4
Target Milestone: mozilla0.9.3 → mozilla0.9.4
varada / ducarroz:

I don't think the last patch contains the problem I was worried about.

I was worried that to gain performance jfrancis removed the code that turned
newlines into <br>.  (see bug #67334.  that code lives in
editor/base/nsTextEditRules.cpp, see
http://bugzilla.mozilla.org/showattachment.cgi?attach_id=37065 for a partial
patch that disables it.)

we need that hack so that after doing reply, the user can put the cursor on
blank lines.  with out it, you'd get dead spots.

ducarroz / varada:  

before you land this patch, make sure to test editor for regressions.  please
double check that bugs #20613 and #21121 haven't come back.  (those bugs are
what the newline -> <br> hack was for.)
This has been tested by both mailnewsqa and editorqa for any possible and
obvious regressions. I would like to check this in today and require an R and SR
from folks in the Editor Team.
Akkana /Simon ?
The patch is way off in line numbers in nsHTMLDataTransfer.cpp and two of the
hunks failed.  I guessed where to put the first of the two (though I might have
guessed wrong, there are a lot of similar code blocks around there) but couldn't
find the match to the second one.  I'd feel more comfortable if I had a patch
that matched the current tree, so I knew I was reviewing the right changes.

All the other files patch okay, it's just nsHTMLDataTransfer.cpp.
I was using the 6/5/01 patch since that seemed to be the last one with all the
diffs.  If that's the wrong patch, please advise.
Attached patch old patch updated on trunk — — Splinter Review
Comments:
+#ifdef EDITOR_MAC_INSTRUMENTATION
+        INST_TRACE("EndReflowBatching");       
+#endif

I don't think this instrumentation stuff should be checked in. It's mac-only, and 
intrusive. It also bloats the diff.

+  // force IME commit; set up rules sniffing and batching
+  ForceCompositionEnd();
+{
+  nsAutoEditBatch beginBatching(this);
...
+  // nuke the undo/redo stack
+}  
+  return res;

Bad indentation.

   nsAutoString charset;
-  return InsertHTMLWithCharsetAndContext(aInputString, charset, aContextStr, 
aInfoStr);
+  return PasteHTMLWithCharset(aInString, charset);

and

+  nsAutoString charset;
+  return PasteHTMLWithCharsetAndContext(aInputString, charset, aContextStr, 
aInfoStr);

and

+  return PasteHTMLWithCharsetAndContext(aInputString, aCharset, nsAutoString(), 
nsAutoString());

Empty strings are more efficiently supplied by NS_LITERAL_STRING(""), not 
nsAutoString.

Fix those, and sr=sfraser
I agree with Simon about the mac ifdefs.  If you want the instrumenting code to
stay in there, at least remove all the ifdefs sprinkled throughout the file and
use them once at the beginning of the file, so that other platforms could
implement the instrumentation (if it's useful) and the file isn't cluttered with
platform-specific ifdefs.  Why is it included in nsEditorShell.cpp, which has no
other changes?

I'm a little worried about removing kOpInsertQuotation from the list of
operations that do linebreak translation.  Does this mean that insert quotation
(ctrl-middleclick) in plaintext editors will be broken, or has this also been
modified to do the appropriate translation?

Why does InsertHTML become undoable?  Isn't that going to break undo for lots of
other routines which call InsertHTML?


Continued (had to submit last bit that because mozilla stopped letting me set
the caret to the end) ...

I'm confused about the new method PasteHTML which does not paste, but instead
inserts.  A method called "paste" should get info from the clipboard, not an
argument passed in, shouldn't it?  Or am I misunderstanding what it does?  A
routine called paste which doesn't actually refer to the clipboard would be a
nightmare for people who have to maintain these routines (those of us on the
editor team) and people doing triage on editor bugs (our boss).

Why did you add nsICaret.h to nsHTMLEditor.cpp when there were no other changes
except for instrumentation calls?

akk: note that most of these diffs are joe's, so ours is not to reason why. I do, 
however, agree with your comments.
It is mine to reason why when I'm asked to review, and to be honest, I'm worried
that this is the wrong solution to the problem.  (The right solution would be to
fix the caret-on-blank-lines problem, but perhaps there's something in between.)  

Aside from that, this is code that I sometimes have to maintain, and I'm not
happy having routines that claim to do one thing but actually do something else.
 I know I'm going to trip over that if this is checked in, and bugs will get
mis-filed to the wrong person because of misunderstandings, and I'm sure new
people coming in and trying to understand the code will also be confused by it.

I can't approve this the way it is.  If the routines were renamed to make it
clear what their purpose was (I'm not entirely clear at this point what the
difference is between the two routines -- can anyone explain?), I'd feel better
about the patch.   I do understand that mail reply has a performance problem
that needs to be fixed, but let's make sure we're doing it the right way and not
filling the editor with code that will be harder to maintain.
I wouldn't presume to have mailnews folks changing core editor routines, but I'm
sure we could find someone to rename the routines Joe added here. =) Any
suggestions? 

However, if you don't think Joe's solution is correct then that's another matter
and maybe we should have a meeting Monday to hash out what should be done to
make it right. (I just sent email about that trying to set it up). 
Can we have a new patch without all the #ifdef EDITOR_MAC_INSTRUMENTATION stuff 
please?
About the method names:
What Joe has done here is to add new routines for HTML insertion. The existing 
code was kept for Paste, hence all the Paste methods do, actually, get called 
when pasting from the clipboard. The new code is called on HTML insertion, e.g. 
when mailnews inserted quoted text at reply time.

The real difference between the routines is that the Paste code breaks the data 
up and inserts them node-by-node into the document, whereas the insert code just
creates a document fragment, and slams that in. If we decide to choose new 
routine names, they should reflect this.
I just talked to sfraser, and there's more than just renaming the names.

1)  this patch breaks editor.  with it, composer in html source mode, you'd get
the "dead line" problem, where you can't put the cursor on certain lines or
table cells.

2)  this patch leaves message reply with the same "dead line" problem.

so sfraser suggest we rethink this.  either we fix this patch continue to insert
<br> (to prevent the "dead line" problem), and figure out how to do that more
efficiently, or fix #85505, which will mean we don't have to insert <br>s anymore.

note, #85505 is known to be hard. 

FYI:  jfrancis comes back in 5 days.
Kin and I have been discussing simpler fixes.  We can get the code cleaner by
keeping the op changes Joe had, and keeping his new routine but giving it a new
name (SimpleInsertHTMLWithCharset or something) which only mail would call. 
This routine would have two differences from the current html:
- Avoid the node by node insertion of doc frag contents
  (this would also mean that it's not undo-able, but mail wouldn't care)
- Avoid calling ReplaceNewlines, which, yes, means that you won't be able to
click on blank lines inside a preformatted block in mail (see next paragraph).

I'm a little confused about parts of this bug -- the discussion in it has never
been clear whether we're talking about plaintext mail or html.  Joe's patch
seems to change html insertion exclusively; but the newline-to-br substitution
affects plaintext, not html (it will affect anything inserted into a plaintext
compose window, which shouldn't have anything to do with Joe's patch since mail
shouldn't be calling InsertHTML in that case anyway, and it will affect
InsertQuotation into an html editor when you're inserting a text/plain quoted
block, which also doesn't go through InsertHTML).  I'm not clear what path would
end up with mail calling InsertHTML on a long html block which needs to be
newline-to-br substituted.

None of the folks quoting performance numbers in this bug ever says (or at least
I can't find it) which compose window they're using, and what sort of message
they're replying to (plain or html, and if it's html, what sort of stuff is in
it).  Could someone clarify what exactly we're trying to fix here?
ok, stephend has a test case he uses for his numbers.

see:

http://www.mozilla.org/mailnews/win_performance_results.html
"Click Reply All to a 2kb HTML message sent to 5 recipients. (Due to "Brutal
Sharing" of XUL windows, I now log the 2nd time it takes to open this window.)"

here is the message, save the file as a local mbox file (as a local folder) for
testing.

http://www.mozilla.org/mailnews/2khtmlmessage.eml
actually, that message is pretty small.  I'm not sure that message truly shows
the "slow reply to large message problem" we're trying to address.

looking at the perf numbers, we're 4 seconds to reply to that and our target is
2 seconds.

for such a small message, the problem might be else where.

there are two issues:

1)  new compose window speed (not on the chart, but we do care about it.) 
recently blake landed some changes that really help in that department.  there's
still more to do.

2)  reply speed

the time to reply will improve if new compose window speed improves, but I think
what akk / kin / jfrancis / sfraser have been focusing on is the reply part,
especially of large messages.

akkana, kin, smfr, jfrancis:  I'll work on getting you a valid, bigger test case
that exposes the perf problem in editor, so we can work on that.
So, I'm back now.  To address a few points that have cropped up...

1) I never really meant for this patch to be the polished "lets check it in" 
patch.  That's why I left in the instrumentation.  I though it might be useful in 
the interim, while folks were still working on this.  

2) Simon is right about the names, IIRC.  I don't think I introduced "PasteFoo()" 
in any new place where it wasn't before.  I agree we could have these (and many 
other) functions named better in the editor.  I don't believe my patch made 
matters any worse in that regard, though.

3) The regression with blank lines shouldn't surprise anyone, as I stated 
repeated all along in both mail and in the newsgroups that this was the tradeoff 
for this patch.  If someone(s) will tackle the caret problems on blank lines, a 
whole host of editor issues would go away.  I've been saying that for 2 years, 
and I have no reason to think it will ever happen.  Maybe I was wrong to ever 
work around the problem (perhaps that's why it never happened), but I wanted to 
ship a product.
Hey, what can I say, it was a great sabbatical;  that's the only explanation for 
the sunshine shooting out of my butt.  So I was wrong about point 2 above: I did 
introduce "PasteFoo" names for methods that don't paste.  What was I thinking?  
Of course we should change those.

I'll attach a cleaner diff in a while.  Since this seems to be on the backburner 
for now, it may be a few days.
we're still working on this but it sounds like we aren't going to have something
for emojo / .9.4.  Moving over to .9.5
Target Milestone: mozilla0.9.4 → mozilla0.9.5
moving to 0.9.6
Target Milestone: mozilla0.9.5 → mozilla0.9.6
Depends on: 101480
Blocks: 104166
096 is almost over.  Are we really ever going to fix this?
I was thinking of closing this out, but I left it open as a reminder to check on
dependencies.

I recently landed some changes that are a portion of what was in this patch.  I
dont turn off the br replacement step, because mail needs that, and I do go
through the txn manager (unlike this patch) which probably loses back a very
small prtion of the perf gain, but I do still skip all the gratuitous paste code. 

So my guess is you will see a fairly significant perf gain if you test again
with today's builds.  

For some related operations, like paste, bug 35294 will help quite a bit when
and if it lands.  Other than that a lot of the various problems we identified so
long ago seem to have been fixed and landed.  Woohoo!
moving to 0.9.7 for continued work.  We shouldn't close it out.  Let's keep
using it as a meta bug for compose perf and adding bugs as dependencies.
Target Milestone: mozilla0.9.6 → mozilla0.9.7
Keywords: mail1nsbeta1+
Whiteboard: [nsbeta1+]No ETA yet
I just pulled a trunk build today (it's been awhile). This bug is begging me to
move back to the 6.2 build. Trunk mail compose/reply window creation is
un-usably slow IMO.

bumping severity to critical
Severity: normal → critical
Something regressed recently (since my 11-9-2001 build testing).  Taking a look
at when exactly this regressed...
Here is what I've found so far.

This was Win98, PII 266, 128 megs of RAM.

                        BUILD DATE

Reply All/5 rcps 12      13     14      15
---------------------------------------------------
1st window     4.10     5.06    4.02   7.49      
2nd window     2.91     2.83    2.89   7.61
3rd window     2.89     2.85    2.87   7.68

Indeed, this is critical.  What is going on?  I'm going to start looking for
checkins that might have caused this.
Wild stab, but I see bug 105561, which contains a fix to nsEditorShell.cpp.  I'm
assuming we in mailnews use this?
Charley, any ideas?  Think your changes might be affecting this?
Please continue the discussion of this recent regression in today's build in
110355. 
Clickable link: bug 110355
Is the regression in html compose, plaintext, or both?
(Sorry, asking here because no one's cc'ed on the other bug yet.  Please answer
in bug 110355.)
Investigation will continue in 0.9.8
Target Milestone: mozilla0.9.7 → mozilla0.9.8
Move to 0.9.9. We are still working on it...
Target Milestone: mozilla0.9.8 → mozilla0.9.9
Moving out. There are individual bugs we'll look at.
Keywords: nsbeta1+nsbeta1-
Target Milestone: mozilla0.9.9 → mozilla1.2
marking wfm - we've done a lot for compose window performance, especially
caching a compose window...we can open a new bug for any remaining work.
Thunderbird will also help with its simpler ui.
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → WORKSFORME
I concur, verified.
Status: RESOLVED → VERIFIED
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: