Add some JMH tests covering performance of PojoBuilder-generated code in different scenarios. These are only run manually (./gradlew jmh) and are obviously not comparable across developers' machines. Below are the numbers on a very low-spec box.
They show the current cost of using withOptionalProperties also put to bed any idea that a ThreadLocal builder is better than creating a new one (yet to test how this scales vs multiple-threads-cloning-a-common-template)
I also checked the comparison of super.clone() vs manually copying each field and clone was actually 5% faster.
Coverage decreased (-0.04%) to 87.555% when pulling f19dbda85d1bbd090a979ef4125947077b935e21 on drekbour:jmh into c4f79487541071ef0d7fe4057e835b33c5e21b5c on mkarneim:master.
Add some JMH tests covering performance of PojoBuilder-generated code in different scenarios. These are only run manually (
./gradlew jmh
) and are obviously not comparable across developers' machines. Below are the numbers on a very low-spec box.They show the current cost of using
withOptionalProperties
also put to bed any idea that a ThreadLocal builder is better than creating a new one (yet to test how this scales vs multiple-threads-cloning-a-common-template)I also checked the comparison of
super.clone()
vs manually copying each field and clone was actually 5% faster.