Eu normalmente uso a abordagem do Modelo de Diagnóstico de Desempenho (Performance Diagnostic Model - PDM) como ensinado por Kirk Pepperdine (ele é um dos maiores especialistas mundiais em desempenho de Java). Uma das coisas que ele ensina é que o profiler é um bisturi que você usa depois de ter diagnosticado a natureza geral do problema de desempenho / análise que deseja fazer. Você normalmente começa olhando para quem é o consumidor dominante da CPU. Isso pode ser:
- Sistema (ou seja, sistema operacional / hardware)
- Usuário (que por sua vez se divide na JVM ou no Aplicativo)
- Sem dominador (o que geralmente significa falta de CPU)
Então, minha pergunta é: que pergunta você está tentando responder ao analisar essas implementações? É o desempenho deles? Se assim for, então o profiler é realmente o lugar errado para começar (começando com o profiler é equívoco comum que é ensinado).