Tail latency - это когда, например, по 90-му процентилю сервер обрабатывает наши запросы за 50 мллисекунд, а по 99-му за 1 секунду. Это очень плохо, т.к. некоторые пользователи будут ждать ответа непростительно долго.
В этой статье рассматриваются некоторые возможные источники tail latency
В таблице ниже сводка из статьи:
среда, 18 февраля 2015 г.
понедельник, 2 февраля 2015 г.
Специальные функции-члены в C++ 2
Здесь я рассказывал про специальные функции члены, при каких условиях они генерируются, при каких нет. При этом я не указал важный нюанс, касающийся шаблонов.
Допустим у нас есть код:
Допустим у нас есть код:
struct MyStruct {
MyStruct() = default;
template <typename T>
MyStruct &operator=(const T&) {
std::cout << "template copy assignment\n";
return *this;
}
template <typename T>
MyStruct(const T&) {
std::cout << "template copy ctor\n";
}
};
int main() {
MyStruct c1;
MyStruct c2 = c1;
c1 = c2;
}
На экран, как не странно, не будет выведено ничего. В предыдущем посте я писал о том, что если определить оператор копирующего присваивания или конструктор копирования, то компилятор не генерирует оператор копирующего/перемещающего присваивания и конструктор копирования/перемещения. Но подобное правило не работает для шаблонных функций, поэтому компилятор сгенерировал все версии специальных функций по-умолчанию.
Подписаться на:
Комментарии (Atom)
.png)