From faa0794f9e9966fefb9f0774503afb09bfc6befb Mon Sep 17 00:00:00 2001 From: "andrew (from workstation)" Date: Sun, 5 Jan 2020 18:31:14 +0100 Subject: [PATCH 1/2] use mimalloc --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d3ac731..30082b94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -145,6 +145,7 @@ endif() set(CMAKE_THREAD_PREFER_PTHREAD ON) set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) +find_package(mimalloc 1.0 REQUIRED) if (THREADS_HAVE_PTHREAD_ARG) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread") @@ -758,7 +759,9 @@ target_include_directories(tdclient PUBLIC $ $ ) + target_link_libraries(tdclient PRIVATE tdcore) +target_link_libraries(tdclient PUBLIC mimalloc) if (TD_ENABLE_JNI AND NOT ANDROID) # jni is available by default on Android target_include_directories(tdclient PUBLIC ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2}) -- 2.40.1 From c83392723ec36d781ca8eea2173aeeea454c4774 Mon Sep 17 00:00:00 2001 From: "andrew (from workstation)" Date: Mon, 6 Jan 2020 13:01:17 +0100 Subject: [PATCH 2/2] [no merge] no db --- td/telegram/MessagesDb.cpp | 138 ++++++++++++++++++------------------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/td/telegram/MessagesDb.cpp b/td/telegram/MessagesDb.cpp index b46d35bd..ee8265cc 100644 --- a/td/telegram/MessagesDb.cpp +++ b/td/telegram/MessagesDb.cpp @@ -289,75 +289,75 @@ class MessagesDbImpl : public MessagesDbSyncInterface { add_message_stmt_.reset(); }; - seqno_++; - - if (seqno_ % 8128 == 0) { - TRY_STATUS(db_memory_.exec("DELETE FROM messages WHERE seqno < " + to_string(seqno_ - 7168))); - } - - add_message_stmt_.bind_int32(12, seqno_).ensure(); - - add_message_stmt_.bind_int64(1, dialog_id.get()).ensure(); - add_message_stmt_.bind_int64(2, message_id.get()).ensure(); - - if (unique_message_id.is_valid()) { - add_message_stmt_.bind_int32(3, unique_message_id.get()).ensure(); - } else { - add_message_stmt_.bind_null(3).ensure(); - } - - if (sender_user_id.is_valid()) { - add_message_stmt_.bind_int32(4, sender_user_id.get()).ensure(); - } else { - add_message_stmt_.bind_null(4).ensure(); - } - - if (random_id != 0) { - add_message_stmt_.bind_int64(5, random_id).ensure(); - } else { - add_message_stmt_.bind_null(5).ensure(); - } - - add_message_stmt_.bind_blob(6, data.as_slice()).ensure(); - - if (ttl_expires_at != 0) { - add_message_stmt_.bind_int32(7, ttl_expires_at).ensure(); - } else { - add_message_stmt_.bind_null(7).ensure(); - } - - if (index_mask != 0) { - add_message_stmt_.bind_int32(8, index_mask).ensure(); - } else { - add_message_stmt_.bind_null(8).ensure(); - } - if (search_id != 0) { - // add dialog_id to text - text += PSTRING() << " \a" << dialog_id.get(); - if (index_mask) { - for (int i = 0; i < MESSAGES_DB_INDEX_COUNT; i++) { - if ((index_mask & (1 << i))) { - text += PSTRING() << " \a\a" << i; - } - } - } - add_message_stmt_.bind_int64(9, search_id).ensure(); - } else { - text = ""; - add_message_stmt_.bind_null(9).ensure(); - } - if (!text.empty()) { - add_message_stmt_.bind_string(10, text).ensure(); - } else { - add_message_stmt_.bind_null(10).ensure(); - } - if (notification_id.is_valid()) { - add_message_stmt_.bind_int32(11, notification_id.get()).ensure(); - } else { - add_message_stmt_.bind_null(11).ensure(); - } - - add_message_stmt_.step().ensure(); +// seqno_++; +// +// if (seqno_ % 8128 == 0) { +// TRY_STATUS(db_memory_.exec("DELETE FROM messages WHERE seqno < " + to_string(seqno_ - 7168))); +// } +// +// add_message_stmt_.bind_int32(12, seqno_).ensure(); +// +// add_message_stmt_.bind_int64(1, dialog_id.get()).ensure(); +// add_message_stmt_.bind_int64(2, message_id.get()).ensure(); +// +// if (unique_message_id.is_valid()) { +// add_message_stmt_.bind_int32(3, unique_message_id.get()).ensure(); +// } else { +// add_message_stmt_.bind_null(3).ensure(); +// } +// +// if (sender_user_id.is_valid()) { +// add_message_stmt_.bind_int32(4, sender_user_id.get()).ensure(); +// } else { +// add_message_stmt_.bind_null(4).ensure(); +// } +// +// if (random_id != 0) { +// add_message_stmt_.bind_int64(5, random_id).ensure(); +// } else { +// add_message_stmt_.bind_null(5).ensure(); +// } +// +// add_message_stmt_.bind_blob(6, data.as_slice()).ensure(); +// +// if (ttl_expires_at != 0) { +// add_message_stmt_.bind_int32(7, ttl_expires_at).ensure(); +// } else { +// add_message_stmt_.bind_null(7).ensure(); +// } +// +// if (index_mask != 0) { +// add_message_stmt_.bind_int32(8, index_mask).ensure(); +// } else { +// add_message_stmt_.bind_null(8).ensure(); +// } +// if (search_id != 0) { +// // add dialog_id to text +// text += PSTRING() << " \a" << dialog_id.get(); +// if (index_mask) { +// for (int i = 0; i < MESSAGES_DB_INDEX_COUNT; i++) { +// if ((index_mask & (1 << i))) { +// text += PSTRING() << " \a\a" << i; +// } +// } +// } +// add_message_stmt_.bind_int64(9, search_id).ensure(); +// } else { +// text = ""; +// add_message_stmt_.bind_null(9).ensure(); +// } +// if (!text.empty()) { +// add_message_stmt_.bind_string(10, text).ensure(); +// } else { +// add_message_stmt_.bind_null(10).ensure(); +// } +// if (notification_id.is_valid()) { +// add_message_stmt_.bind_int32(11, notification_id.get()).ensure(); +// } else { +// add_message_stmt_.bind_null(11).ensure(); +// } +// +// add_message_stmt_.step().ensure(); return Status::OK(); } -- 2.40.1