Articles of представление

Почему диапазон повторного использования Dagger медленнее, чем Singleton?

Я всегда думал, что при работе с Dagger2 мы должны использовать @Reusable scope вместо @Singleton если нам не нужна гарантия, чтобы получить тот же самый экземпляр, так как @Singleton использовал двойную проверку, что дорого и медленно. .. Тем не менее, я сделал простые тесты производительности, и вот результаты: Reusable 4474 ms Singleton 3603 ms Вот […]

Надежное измерение распределения JVM

У меня две реализации одного и того же алгоритма. Я хотел бы проверить, что не из них больше памяти, чем необходимо, или, другими словами, они выделяют точно такое же количество объектов. Мое текущее решение состоит в том, чтобы измерить количество выделенных байтов до и после процедур через threadMXBean.getThreadAllocatedBytes(threadId) и использовать это как приближение объема памяти. […]

Как я могу получить время, необходимое для проверки производительности функций в Котлине

Мне нужно проверить, как долго должна выполняться функция. У меня есть следующие функции, которые направлены на одну и ту же задачу: mixAnimalsA fun mixAnimalsA(a1: Animal, a2: Animal) = when (setOf(a1, a2)) { setOf(Animal.OWL, Animal.Leopard) -> Beast.OWLPARD setOf(Animal.ELEPHANT, Animal.BUTTERFLY) -> Beast.BUTTERPHANT else -> throw Exception("Not possible combination") } mixAnimalsB fun mixAnimalsB(a1: Animal, a2: Animal) = when […]