Simplify and speed up calc_sort_timestamp()#7312
Closed
Conversation
5051240 to
f1121da
Compare
adff64f to
9b1782b
Compare
f1121da to
f6c2ada
Compare
9b1782b to
ba25096
Compare
a70866e to
e60632e
Compare
ba25096 to
4443d59
Compare
e60632e to
9abbe7a
Compare
4443d59 to
adff64f
Compare
9abbe7a to
afc74b0
Compare
adff64f to
21b1abb
Compare
21b1abb to
4ff32d0
Compare
…mp_sent This makes `calc_sort_timestamp()` a continuous function of the message timestamp, simplifies the SQL query and prepares for creation of a db index for it so that it's fast. Currently it doesn't uses indexes effectively; if a chat has many messages, it's slow, i.e. O(n).
Tested on some random chat, the SQL query took 1.411202ms (vs 6.692714ms before) in median. Still looks a bit slow, but already better.
4ff32d0 to
247ec1e
Compare
Collaborator
Author
|
Replaced by #8031 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is separated from closed #7180 . Everything related to fixing #7308 is removed. "Messages are end-to-end encrypted." is reordered in
test_outgoing_encrypted_msg(), but as there are corner cases anyway (see #7308 ), this isn't important and shouldn't block code simplifications. The current code is hard to maintain and slow, i.e. it looks at every message in the chat, this doesn't scale.Tested on some random chat, the SQL query took 1.411202ms (vs 6.692714ms before) in median. Still looks a bit slow, but already better.
Even if we decide that we don't want to add one more index to the db, the first commit has value on its own. There's no issue reference because there's no new work, i just moved the useful part of the closed PR here.