Closed Bug 897255 Opened 7 years ago Closed 6 years ago

Wasted work in line_uniq()

Categories

(Core :: Spelling checker, defect)

x86_64
Linux
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla33

People

(Reporter: pchang9, Assigned: pchang9)

References

Details

(Keywords: perf, Whiteboard: [fixed-in-hunspell-1.3.3])

Attachments

(1 file)

Attached patch Suggested patchSplinter Review
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0 (Beta/Release)
Build ID: 20130316161634

Steps to reproduce:

The problem appears in changeset 138350:18467a85acf6. I have attached a simple one-line patch that fixes it.

In method line_uniq() in extensions/spellcheck/hunspell/src/csutil.cpp, the loop on line 399 should break immediately after "dup" is set to "1". All the iterations after "dup" is set to "1" do not perform any useful work, at best they just set "dup" again to "1".



Expected results:

Break loop after "dup" is set to "1".
Keywords: perf
Version: 19 Branch → Trunk
Attachment #780039 - Flags: review?(pchang9)
Component: Untriaged → Spelling checker
Product: Firefox → Core
This patch might similarly need to be upstreamed: http://sourceforge.net/p/hunspell/bugs/
committed to hunspell HEAD now, thanks
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [fixed-in-hunspell-1.3.3]
Attachment #780039 - Attachment is patch: true
Attachment #780039 - Flags: review?(pchang9)
Fixed on mozilla-central by bug 1022262.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
Assignee: nobody → pchang9
You need to log in before you can comment on or make changes to this bug.