maildev@lists.thunderbird.net

Thunderbird email developers

View all threads

Replacement of PLDHashTable with nsDataHashtable/nsInterfaceHashtable in bug 853881

JK
Jörg Knobloch
Thu, Nov 9, 2017 8:58 PM

Dear Mailnews peer,

in bug 853881 Joshua replaced PLDHashTable with
nsDataHashtable/nsInterfaceHashtable. I'm unaware of the motivation for
this replacement. The patch was abandoned. Someone lobbied to recover it
and I spent a huge amount of time to unrot it, address the review
comments and get it landed.

Somehow the memory management wasn't right after landing that patch, and
again, I spent a huge amount of time to sort out some spurious crashes
in bug 1368786. Kent also spent many hours on analysing and making
suggestions.

So in summary, these two bugs have kept a few people very busy for a while.

Sadly today it turned out that the hash table replacement has caused a
huge performance problem, bug 1415723. I assume that not founded in a
newer yet less efficient cashing mechanism, but some other coding error.
In that bug the reporter suggests a backout of the original replacement
and its follow-up bug(s).

It would be sad to see a whole lot of work go to waste, but I don't have
time to go looking for performance holes in the patch.

Opinions?

Jörg.

P.S.: I find this mailing list rather frustrating. It was meant to be
one of the organs of the Thunderbird Engineering Committee where
technical questions were to be discussed. I've rarely received any
technical answers from people involved in Mailnews. Instead this has
become another "discussion club" of which we have too many. NATO: No
Action, Talk Only. So please do your best to prove me wrong.

Dear Mailnews peer, in bug 853881 Joshua replaced PLDHashTable with nsDataHashtable/nsInterfaceHashtable. I'm unaware of the motivation for this replacement. The patch was abandoned. Someone lobbied to recover it and I spent a huge amount of time to unrot it, address the review comments and get it landed. Somehow the memory management wasn't right after landing that patch, and again, I spent a huge amount of time to sort out some spurious crashes in bug 1368786. Kent also spent many hours on analysing and making suggestions. So in summary, these two bugs have kept a few people very busy for a while. Sadly today it turned out that the hash table replacement has caused a huge performance problem, bug 1415723. I assume that not founded in a newer yet less efficient cashing mechanism, but some other coding error. In that bug the reporter suggests a backout of the original replacement and its follow-up bug(s). It would be sad to see a whole lot of work go to waste, but I don't have time to go looking for performance holes in the patch. Opinions? Jörg. P.S.: I find this mailing list rather frustrating. It was meant to be one of the organs of the Thunderbird Engineering Committee where technical questions were to be discussed. I've rarely received any technical answers from people involved in Mailnews. Instead this has become another "discussion club" of which we have too many. NATO: No Action, Talk Only. So please do your best to prove me wrong.