include(myTestTemplate)
object MyPerformanceReport extends PerformanceTest.OnlineReport{
report of "MyTimePerformance" in "target/time-benchmarks"{
include(MyFistExperiments)
include(MySecondExperiments)
}
report of "MyMemoryPerformance" in "target/memory-benchmarks"{
include(MyMemoryBenchmarks)
}
}
Hi,that would be great.Being able to define test snippets that are not run would be very useful.I see two comments:1) that would be great to be able to write
include(myTestTemplate)where myTestTemplate is an object, and not a class. Objects are great because there is less trouble with serialization when we use separate JVM's.
2) We should be able to create several reports. I personally need it because I have big projects. Now it seems this cannot be done; the report directory can only be indicated when launching the tests in sbt, which means I cannot create two different reports in my CI server.
object MyPerformanceReport extends PerformanceTest.OnlineReport{
report of "MyTimePerformance" in "target/time-benchmarks"{
include(MyFistExperiments)
include(MySecondExperiments)
}
report of "MyMemoryPerformance" in "target/memory-benchmarks"{
include(MyMemoryBenchmarks)
}
}
Cheers, thank you for this great project,seb
class Benchmarks extends Bench.Group { performance of "time" in { include(new ProtocolBufferBenchmarks {}) include(new CorrelationBenchmark {}) }}
Hi Aleksander,Thanks so much for the quick reply. I tried this :class Benchmarks extends ProtocolBufferBenchmarks with CorrelationBenchmarkbut it didn't really work because although it combined the reports into one it also combined all of the axes from the sub-benchmarks, so the X-axis is incorrect on the graphs.
I guess I will just have to generate separate reports.For a beginner, the configuration of Scalameter seems very confusing and complex once you get beyond the simple case of subclassing one of the presets.
The "numParticles" axis is generated by the "correlationForce.update" test, but it's being used on the "ProtocolBuffers" test, which means that the graph generated for "ProtocolBuffers" is meaningless.
Maybe I'm misunderstanding the way that ScalaMeter is supposed to be used - is the normal way to use it to have all of the benchmarks in a single class? Doesn't that get difficult to manage for anything except for small projects? If all the benchmarks aren't in a single class how is it possible to generate reports, since they all seem to overwrite each other?
thanks,
Josh
Hi Aleksander,
Maybe I'm misunderstanding the way that ScalaMeter is supposed to be used - is the normal way to use it to have all of the benchmarks in a single class?
Doesn't that get difficult to manage for anything except for small projects?
If all the benchmarks aren't in a single class how is it possible to generate reports, since they all seem to overwrite each other?