diff options
Diffstat (limited to 'protocols/Telegram/tdlib/td/benchmark')
21 files changed, 170 insertions, 35 deletions
diff --git a/protocols/Telegram/tdlib/td/benchmark/CMakeLists.txt b/protocols/Telegram/tdlib/td/benchmark/CMakeLists.txt index 53fbdede52..cdf359e956 100644 --- a/protocols/Telegram/tdlib/td/benchmark/CMakeLists.txt +++ b/protocols/Telegram/tdlib/td/benchmark/CMakeLists.txt @@ -7,7 +7,7 @@ if (NOT OPENSSL_FOUND) find_package(ZLIB REQUIRED) endif() -#TODO: all benchmarks in one file +# TODO: all benchmarks in one file add_executable(bench_crypto bench_crypto.cpp) target_link_libraries(bench_crypto PRIVATE tdutils ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS} ${ZLIB_LIBRARIES}) if (WIN32) @@ -38,7 +38,7 @@ add_executable(bench_http_reader bench_http_reader.cpp) target_link_libraries(bench_http_reader PRIVATE tdnet tdutils) add_executable(bench_handshake bench_handshake.cpp) -target_link_libraries(bench_handshake PRIVATE tdcore tdutils) +target_link_libraries(bench_handshake PRIVATE tdmtproto tdutils) add_executable(bench_db bench_db.cpp) target_link_libraries(bench_db PRIVATE tdactor tddb tdutils) diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_actor.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_actor.cpp index 7045b80292..c336547b13 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_actor.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_actor.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_crypto.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_crypto.cpp index 98db8cf1e7..307254c92b 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_crypto.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_crypto.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_db.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_db.cpp index b47fa98bb1..e4a1d617d0 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_db.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_db.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_empty.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_empty.cpp index bd51e9f464..1d2aeff92a 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_empty.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_empty.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_handshake.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_handshake.cpp index 853da05e3e..cf7bcb0b9c 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_handshake.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_handshake.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_http.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_http.cpp index a1ae4f6702..cf281eea68 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_http.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_http.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_http_reader.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_http_reader.cpp index b4e865ba7a..fcf72390d3 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_http_reader.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_http_reader.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -47,6 +47,7 @@ class HttpReaderBench final : public td::Benchmark { td::HttpReader http_reader_; void start_up() final { + writer_ = {}; reader_ = writer_.extract_reader(); http_reader_.init(&reader_, 10000, 0); } @@ -74,6 +75,7 @@ class BufferBench final : public td::Benchmark { td::HttpReader http_reader_; void start_up() final { + writer_ = {}; reader_ = writer_.extract_reader(); } }; @@ -104,6 +106,7 @@ class FindBoundaryBench final : public td::Benchmark { td::HttpReader http_reader_; void start_up() final { + writer_ = {}; reader_ = writer_.extract_reader(); } }; diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_http_server.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_http_server.cpp index d41328e2ad..9eeecc956d 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_http_server.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_http_server.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_http_server_cheat.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_http_server_cheat.cpp index 8fc5abe01f..327549bc70 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_http_server_cheat.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_http_server_cheat.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_http_server_fast.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_http_server_fast.cpp index af23dfc9c5..1b9373b231 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_http_server_fast.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_http_server_fast.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_log.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_log.cpp index 3082350bfb..d031bd6511 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_log.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_log.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_misc.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_misc.cpp index 9089890fb9..bfde3ab7fa 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_misc.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_misc.cpp @@ -1,12 +1,14 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // +#include "td/telegram/td_api.h" #include "td/telegram/telegram_api.h" #include "td/telegram/telegram_api.hpp" +#include "td/utils/algorithm.h" #include "td/utils/benchmark.h" #include "td/utils/common.h" #include "td/utils/logging.h" @@ -17,9 +19,12 @@ #include "td/utils/port/RwMutex.h" #include "td/utils/port/Stat.h" #include "td/utils/port/thread.h" +#include "td/utils/Random.h" #include "td/utils/Slice.h" #include "td/utils/SliceBuilder.h" +#include "td/utils/StackAllocator.h" #include "td/utils/Status.h" +#include "td/utils/StringBuilder.h" #include "td/utils/ThreadSafeCounter.h" #if !TD_WINDOWS @@ -46,11 +51,11 @@ class F { template <class T> void operator()(const T &x) const { - sum += static_cast<td::uint32>(x.get_id()); + sum += static_cast<td::uint32>(reinterpret_cast<std::uintptr_t>(&x)); } }; -BENCH(Call, "TL Call") { +BENCH(TlCall, "TL Call") { td::tl_object_ptr<td::telegram_api::Function> x = td::make_tl_object<td::telegram_api::account_getWallPapers>(0); td::uint32 res = 0; F f(res); @@ -60,6 +65,67 @@ BENCH(Call, "TL Call") { td::do_not_optimize_away(res); } +static td::td_api::object_ptr<td::td_api::file> get_file_object() { + return td::td_api::make_object<td::td_api::file>( + 12345, 123456, 123456, + td::td_api::make_object<td::td_api::localFile>( + "/android/data/0/data/org.telegram.data/files/photos/12345678901234567890_123.jpg", true, true, false, true, + 0, 123456, 123456), + td::td_api::make_object<td::td_api::remoteFile>("abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacaba", + "abacabadabacabaeabacabadabacaba", false, true, 123456)); +} + +BENCH(ToStringIntSmall, "to_string<int> small") { + auto buf = td::StackAllocator::alloc(1000); + td::StringBuilder sb(buf.as_slice()); + for (int i = 0; i < n; i++) { + sb << td::Random::fast(0, 100); + sb.clear(); + } +} + +BENCH(ToStringIntBig, "to_string<int> big") { + auto buf = td::StackAllocator::alloc(1000); + td::StringBuilder sb(buf.as_slice()); + for (int i = 0; i < n; i++) { + sb << 1234567890; + sb.clear(); + } +} + +BENCH(TlToStringUpdateFile, "TL to_string updateFile") { + auto x = td::td_api::make_object<td::td_api::updateFile>(get_file_object()); + + std::size_t res = 0; + for (int i = 0; i < n; i++) { + res += to_string(x).size(); + } + td::do_not_optimize_away(res); +} + +BENCH(TlToStringMessage, "TL to_string message") { + auto x = td::td_api::make_object<td::td_api::message>(); + x->id_ = 123456000111; + x->sender_id_ = td::td_api::make_object<td::td_api::messageSenderUser>(123456000112); + x->chat_id_ = 123456000112; + x->sending_state_ = td::td_api::make_object<td::td_api::messageSendingStatePending>(0); + x->date_ = 1699999999; + auto photo = td::td_api::make_object<td::td_api::photo>(); + for (int i = 0; i < 4; i++) { + photo->sizes_.push_back(td::td_api::make_object<td::td_api::photoSize>( + "a", get_file_object(), 160, 160, + td::vector<td::int32>{10000, 20000, 30000, 50000, 70000, 90000, 120000, 150000, 180000, 220000})); + } + x->content_ = td::td_api::make_object<td::td_api::messagePhoto>( + std::move(photo), td::td_api::make_object<td::td_api::formattedText>(), false, false, false); + + std::size_t res = 0; + for (int i = 0; i < n; i++) { + res += to_string(x).size(); + } + td::do_not_optimize_away(res); +} + #if !TD_EVENTFD_UNSUPPORTED BENCH(EventFd, "EventFd") { td::EventFd fd; @@ -416,7 +482,7 @@ class IdDuplicateCheckerOld { static td::string get_description() { return "Old"; } - td::Status check(td::int64 message_id) { + td::Status check(td::uint64 message_id) { if (saved_message_ids_.size() == MAX_SAVED_MESSAGE_IDS) { auto oldest_message_id = *saved_message_ids_.begin(); if (message_id < oldest_message_id) { @@ -437,7 +503,7 @@ class IdDuplicateCheckerOld { private: static constexpr size_t MAX_SAVED_MESSAGE_IDS = 1000; - std::set<td::int64> saved_message_ids_; + std::set<td::uint64> saved_message_ids_; }; template <size_t MAX_SAVED_MESSAGE_IDS> @@ -446,7 +512,7 @@ class IdDuplicateCheckerNew { static td::string get_description() { return PSTRING() << "New" << MAX_SAVED_MESSAGE_IDS; } - td::Status check(td::int64 message_id) { + td::Status check(td::uint64 message_id) { auto insert_result = saved_message_ids_.insert(message_id); if (!insert_result.second) { return td::Status::Error(1, PSLICE() << "Ignore already processed message " << message_id); @@ -464,7 +530,7 @@ class IdDuplicateCheckerNew { } private: - std::set<td::int64> saved_message_ids_; + std::set<td::uint64> saved_message_ids_; }; class IdDuplicateCheckerNewOther { @@ -472,7 +538,7 @@ class IdDuplicateCheckerNewOther { static td::string get_description() { return "NewOther"; } - td::Status check(td::int64 message_id) { + td::Status check(td::uint64 message_id) { if (!saved_message_ids_.insert(message_id).second) { return td::Status::Error(1, PSLICE() << "Ignore already processed message " << message_id); } @@ -490,7 +556,7 @@ class IdDuplicateCheckerNewOther { private: static constexpr size_t MAX_SAVED_MESSAGE_IDS = 1000; - std::set<td::int64> saved_message_ids_; + std::set<td::uint64> saved_message_ids_; }; class IdDuplicateCheckerNewSimple { @@ -498,7 +564,7 @@ class IdDuplicateCheckerNewSimple { static td::string get_description() { return "NewSimple"; } - td::Status check(td::int64 message_id) { + td::Status check(td::uint64 message_id) { auto insert_result = saved_message_ids_.insert(message_id); if (!insert_result.second) { return td::Status::Error(1, "Ignore already processed message"); @@ -516,7 +582,7 @@ class IdDuplicateCheckerNewSimple { private: static constexpr size_t MAX_SAVED_MESSAGE_IDS = 1000; - std::set<td::int64> saved_message_ids_; + std::set<td::uint64> saved_message_ids_; }; template <size_t max_size> @@ -525,7 +591,7 @@ class IdDuplicateCheckerArray { static td::string get_description() { return PSTRING() << "Array" << max_size; } - td::Status check(td::int64 message_id) { + td::Status check(td::uint64 message_id) { if (end_pos_ == 2 * max_size) { std::copy_n(&saved_message_ids_[max_size], max_size, &saved_message_ids_[0]); end_pos_ = max_size; @@ -550,7 +616,7 @@ class IdDuplicateCheckerArray { } private: - std::array<td::int64, 2 * max_size> saved_message_ids_; + std::array<td::uint64, 2 * max_size> saved_message_ids_; std::size_t end_pos_ = 0; }; @@ -632,9 +698,75 @@ class DuplicateCheckerBenchEvenOdd final : public td::Benchmark { } }; +BENCH(AddToTopStd, "add_to_top std") { + td::vector<int> v; + for (int i = 0; i < n; i++) { + for (size_t j = 0; j < 10; j++) { + auto value = td::Random::fast(0, 9); + auto it = std::find(v.begin(), v.end(), value); + if (it == v.end()) { + if (v.size() == 8) { + v.back() = value; + } else { + v.push_back(value); + } + it = v.end() - 1; + } + std::rotate(v.begin(), it, it + 1); + } + } +} + +BENCH(AddToTopTd, "add_to_top td") { + td::vector<int> v; + for (int i = 0; i < n; i++) { + for (size_t j = 0; j < 10; j++) { + td::add_to_top(v, 8, td::Random::fast(0, 9)); + } + } +} + +BENCH(AnyOfStd, "any_of std") { + td::vector<int> v; + for (int i = 0; i < 100; i++) { + v.push_back(i); + } + int res = 0; + for (int i = 0; i < n; i++) { + int rem = td::Random::fast(0, 127); + res += static_cast<int>(std::any_of(v.begin(), v.end(), [rem](int x) { return (x & 127) == rem; })); + } + td::do_not_optimize_away(res); +} + +BENCH(AnyOfTd, "any_of td") { + td::vector<int> v; + for (int i = 0; i < 100; i++) { + v.push_back(i); + } + int res = 0; + for (int i = 0; i < n; i++) { + int rem = td::Random::fast(0, 127); + res += static_cast<int>(td::any_of(v, [rem](int x) { return (x & 127) == rem; })); + } + td::do_not_optimize_away(res); +} + int main() { SET_VERBOSITY_LEVEL(VERBOSITY_NAME(DEBUG)); + td::bench(AnyOfStdBench()); + td::bench(AnyOfTdBench()); + + td::bench(ToStringIntSmallBench()); + td::bench(ToStringIntBigBench()); + + td::bench(AddToTopStdBench()); + td::bench(AddToTopTdBench()); + + td::bench(TlToStringUpdateFileBench()); + td::bench(TlToStringMessageBench()); + td::bench(DuplicateCheckerBenchEvenOdd<IdDuplicateCheckerNew<1000>>()); td::bench(DuplicateCheckerBenchEvenOdd<IdDuplicateCheckerNew<300>>()); td::bench(DuplicateCheckerBenchEvenOdd<IdDuplicateCheckerArray<1000>>()); @@ -691,7 +823,7 @@ int main() { td::bench(CreateFileBench()); td::bench(PwriteBench()); - td::bench(CallBench()); + td::bench(TlCallBench()); #if !TD_THREAD_UNSUPPORTED td::bench(ThreadNewBench()); #endif diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_queue.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_queue.cpp index c28554c757..30571fd69f 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_queue.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_queue.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/bench_tddb.cpp b/protocols/Telegram/tdlib/td/benchmark/bench_tddb.cpp index a2c4a80d32..b59589572e 100644 --- a/protocols/Telegram/tdlib/td/benchmark/bench_tddb.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/bench_tddb.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/check_proxy.cpp b/protocols/Telegram/tdlib/td/benchmark/check_proxy.cpp index dcf49b5976..72893c5063 100644 --- a/protocols/Telegram/tdlib/td/benchmark/check_proxy.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/check_proxy.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/check_tls.cpp b/protocols/Telegram/tdlib/td/benchmark/check_tls.cpp index 7b779dfdd0..9586df076e 100644 --- a/protocols/Telegram/tdlib/td/benchmark/check_tls.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/check_tls.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/hashmap_build.cpp b/protocols/Telegram/tdlib/td/benchmark/hashmap_build.cpp index c536ab6020..9953c3ce49 100644 --- a/protocols/Telegram/tdlib/td/benchmark/hashmap_build.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/hashmap_build.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/hashset_memory.cpp b/protocols/Telegram/tdlib/td/benchmark/hashset_memory.cpp index 18b9cd940c..fbd3a97290 100644 --- a/protocols/Telegram/tdlib/td/benchmark/hashset_memory.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/hashset_memory.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/rmdir.cpp b/protocols/Telegram/tdlib/td/benchmark/rmdir.cpp index ffc51828f4..0ae93bfe87 100644 --- a/protocols/Telegram/tdlib/td/benchmark/rmdir.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/rmdir.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tdlib/td/benchmark/wget.cpp b/protocols/Telegram/tdlib/td/benchmark/wget.cpp index f29e02c1e1..a5aae5fba5 100644 --- a/protocols/Telegram/tdlib/td/benchmark/wget.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/wget.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |