From dfbcd473b39365801ee856c35723ca60027f32bf Mon Sep 17 00:00:00 2001 From: Sarah Jamie Lewis Date: Fri, 7 May 2021 14:21:18 -0700 Subject: [PATCH] Testing Performance --- server_tokenboard.go | 2 +- storage/message_store.go | 6 ------ storage/message_store_test.go | 37 ++++++++++++++++++++++------------- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/server_tokenboard.go b/server_tokenboard.go index f30eb4b..cfd59f6 100644 --- a/server_tokenboard.go +++ b/server_tokenboard.go @@ -92,7 +92,7 @@ func (ta *TokenboardServer) Listen() { // Because we have set the sync capability any new messages that arrive after this point will just // need to do a basic lookup from the last seen message newMessages := ta.LegacyMessageStore.FetchMessagesFrom(lastSignature) - for _, message := range newMessages[len(messages):] { + for _, message := range newMessages { data, _ = json.Marshal(groups.Message{MessageType: groups.NewMessageMessage, NewMessage: &groups.NewMessage{EGM: *message}}) ta.connection.Send(data) } diff --git a/storage/message_store.go b/storage/message_store.go index 41e675f..99d70de 100644 --- a/storage/message_store.go +++ b/storage/message_store.go @@ -34,17 +34,11 @@ func (s *SqliteMessageStore) Close() { // AddMessage implements the MessageStoreInterface AddMessage for sqlite message store func (s *SqliteMessageStore) AddMessage(message groups.EncryptedGroupMessage) { - tx, err := s.database.Begin() - if err != nil { - log.Errorf("%q", err) - return - } stmt, err := s.preparedInsertStatement.Exec(base64.StdEncoding.EncodeToString(message.Signature), base64.StdEncoding.EncodeToString(message.Ciphertext)) if err != nil { log.Errorf("%v %q", stmt, err) return } - tx.Commit() } // FetchMessages implements the MessageStoreInterface FetchMessages for sqlite message store diff --git a/storage/message_store_test.go b/storage/message_store_test.go index eb343a0..0646753 100644 --- a/storage/message_store_test.go +++ b/storage/message_store_test.go @@ -6,35 +6,44 @@ import ( "git.openprivacy.ca/openprivacy/log" "os" "testing" + "time" ) func TestMessageStore(t *testing.T) { - os.Remove("../testcwtchmessages.db") + filename := "/home/sarah/testcwtchmessages.db" + os.Remove(filename) log.SetLevel(log.LevelDebug) - db, err := InitializeSqliteMessageStore("../testcwtchmessages.db") + db, err := InitializeSqliteMessageStore(filename) if err != nil { t.Fatalf("Error: %v", err) } numMessages := 100 - t.Logf("Populating Database") + t.Logf("Generating Data...") + var messages []groups.EncryptedGroupMessage for i := 0; i < numMessages; i++ { buf := make([]byte, 4) binary.PutUvarint(buf, uint64(i)) - db.AddMessage(groups.EncryptedGroupMessage{ + messages = append(messages, groups.EncryptedGroupMessage{ Signature: append([]byte("Hello world"), buf...), Ciphertext: []byte("Hello world"), }) - t.Logf("Inserted %v", i) } - // Wait for inserts to complete.. - messages := db.FetchMessages() + t.Logf("Populating Database") + start := time.Now() for _, message := range messages { - t.Logf("Message: %v", message) + db.AddMessage(message) } - if len(messages) != numMessages { + t.Logf("Time to Insert: %v", time.Since(start)) + + // Wait for inserts to complete.. + fetchedMessages := db.FetchMessages() + //for _, message := range fetchedMessages { + //t.Logf("Message: %v", message) + //} + if len(fetchedMessages) != numMessages { t.Fatalf("Incorrect number of messages returned") } @@ -45,11 +54,11 @@ func TestMessageStore(t *testing.T) { buf := make([]byte, 4) binary.PutUvarint(buf, uint64(numToFetch)) sig := append([]byte("Hello world"), buf...) - messages = db.FetchMessagesFrom(sig) - for _, message := range messages { - t.Logf("Message: %v", message) - } - if len(messages) != numToFetch { + fetchedMessages = db.FetchMessagesFrom(sig) + //for _, message := range fetchedMessages { + // t.Logf("Message: %v", message) + //} + if len(fetchedMessages) != numToFetch { t.Fatalf("Incorrect number of messages returned : %v", len(messages)) }