Răsfoiți Sursa

log more in detail core calls involved while UITableViewController initializes, log amount of time copying the messageId array needs

cyberta 3 ani în urmă
părinte
comite
480861b426

+ 11 - 4
DcCore/DcCore/DC/Wrapper.swift

@@ -144,11 +144,12 @@ public class DcContext {
 
     // TODO: remove count and from parameters if we don't use it
     public func getMessageIds(chatId: Int, count: Int? = nil, from: Int? = nil) -> [Int] {
-        let start = CFAbsoluteTimeGetCurrent()
+        var start = CFAbsoluteTimeGetCurrent()
         let cMessageIds = getChatMessages(chatId: chatId)
-        let diff = CFAbsoluteTimeGetCurrent() - start
-        logger?.info("⏰ getMessageIds: \(diff) s")
+        var diff = CFAbsoluteTimeGetCurrent() - start
+        logger?.info("⏰ getMessageIds core: \(diff) s")
 
+        start = CFAbsoluteTimeGetCurrent()
         let ids: [Int]
         if let from = from {
             // skip last part
@@ -159,6 +160,8 @@ public class DcContext {
         } else {
             ids = DcUtils.copyAndFreeArray(inputArray: cMessageIds)
         }
+        diff = CFAbsoluteTimeGetCurrent() - start
+        logger?.info("⏰ getMessageIds UI: \(diff) s")
         return ids
     }
 
@@ -492,7 +495,11 @@ public class DcContext {
     }
 
     public func getUnreadMessages(chatId: Int) -> Int {
-        return Int(dc_get_fresh_msg_cnt(contextPointer, UInt32(chatId)))
+        let start = CFAbsoluteTimeGetCurrent()
+        let unreadMessages = Int(dc_get_fresh_msg_cnt(contextPointer, UInt32(chatId)))
+        let diff = CFAbsoluteTimeGetCurrent() - start
+        logger?.info("⏰ getUnreadMessages: \(diff) s")
+        return unreadMessages
     }
 
     public func estimateDeletionCnt(fromServer: Bool, timeout: Int) -> Int {

+ 6 - 0
deltachat-ios/Chat/ChatViewController.swift

@@ -310,7 +310,9 @@ class ChatViewController: UITableViewController {
         } else {
             messageInputBar.isHidden = true
         }
+        logger.info("⏰ ChatViewController viewDidLoad loadMessages")
         loadMessages()
+        logger.info("⏰ ChatViewController viewDidLoad loadMessages finished")
 
         let diff = CFAbsoluteTimeGetCurrent() - start
         logger.info("⏰ ChatViewController viewDidLoad diff: \(diff) s")
@@ -963,7 +965,11 @@ class ChatViewController: UITableViewController {
 
         self.showEmptyStateView(self.messageIds.isEmpty)
 
+        let start = CFAbsoluteTimeGetCurrent()
         self.reloadData()
+        let diff = CFAbsoluteTimeGetCurrent() - start
+        logger.info("⏰ ChatViewController reloadData diff: \(diff) s")
+
     }
 
     private func isLastRowVisible() -> Bool {