Нельзя сказать, чтобы JSR47 проигрывал в производительности. Местами он обгонял log4j за счет поддержания в памяти специального представления своей конфигурации (что, кстати, одновременно усложняло эту самую конфигурацию). Однако, как выяснилось, JSR47 в обязательном порядке собирал так называемую Caller Information, то бишь «откуда логгируется данное сообщение». Получение Caller Information — операция довольно дорогостоящая, протекает она с использованием Native-кода. Опытные дяди из log4j это знали, поэтому предоставляли эту возможность с оговоркой «лучше не включайте».
Может я не понимаю, но разве это нельзя получить через new Exception().getStackTrace()?
Спасибо, хорошая статья, но хотел обратить на один момент
Ничего так размерчик для одной функции, да? Автор, наверное, пытался сэкономить целый десяток наносекунд на вызов каждого отдельного кусочка кода через отдельную функцию. Молодец, сэкономил. И получил код, в котором противно копаться и нужно тратить кучу времени на понимание и исправление.
Почему бы не использовать тогда просто не использовать inline функции?
И немного сэкономить время, и читаемо.
Вот тут получается что математика необходима:
Нужно найти кол-во расстановок(число сочетаний)
В данном случае ответ это число сочетаний из 30 по 6, что равно 30!/(24!*6!)
Для 72 аналогично;
У меня логика есть. У меня тип без знаковый если не написано иначе(знаковые S_1b и т.п.).
T_1b означает Type 1Byte
P. S. Давайте не будем спорить о вкусах.
чтобы избежать большого скандала или «замять», оставить незамеченным какое-нибудь важное, но неприятное событие, часто используется простой, но хитрый и ловкий приём, который англоязычные политтехнологи называют «Wag the dog», а русскоязычные — «Хвост виляет собакой». Он заключается в том, чтобы вовремя поднять волну обсуждения вокруг вопроса второстепенной важности, на фоне которой другое, более важное событие или действие пройдёт незаметно.
Как обычно сущий пустяк «раздули» до масштабов новости.
И в этом причина.
А если x1=x0?
А если x1=x0?
Извините
А если x1=x0?
Может я не понимаю, но разве это нельзя получить через new Exception().getStackTrace()?
Уотсон написал книгу «Двойная спираль». Именно об открытии.
Почему бы не использовать тогда просто не использовать inline функции?
И немного сэкономить время, и читаемо.
Нужно найти кол-во расстановок(число сочетаний)
В данном случае ответ это число сочетаний из 30 по 6, что равно 30!/(24!*6!)
Для 72 аналогично;
T_1b означает Type 1 Byte
P. S. Давайте не будем спорить о вкусах.
Его рекомендуют использовать только при объявлении лямбды.
Гораздо проще сделать хедэр в котором написано
и т.д.
Как обычно сущий пустяк «раздули» до масштабов новости.
памяти нужно 2^3*(2^32-1) = 2^35 байт = 32 гб без малого при восприятии как unsigned. Иначе 0xFFFFFFFF=-1.
std::bad_alloc. по-любому.