Gotchas with avoiding benchmarks.jar
Aleksey Shipilev
aleksey.shipilev at oracle.com
Wed Aug 27 17:40:01 UTC 2014
So recorded:
https://bugs.openjdk.java.net/browse/CODETOOLS-7901013
-Aleksey.
On 08/27/2014 08:16 PM, Brian Harris wrote:
> If you like the idea of jmh detecting and aborting concurrent execution,
> consider introducing a file system lock such as
> this https://gist.github.com/brianfromoregon/707ce3a94e45c933f126
>
> On Wed, Aug 27, 2014 at 5:49 AM, Aleksey Shipilev
> <aleksey.shipilev at oracle.com <mailto:aleksey.shipilev at oracle.com>> wrote:
>
> On 08/25/2014 10:08 PM, Brian Harris wrote:
> > a) looking at handling of jvm args in Runner the safe thing for me
> is to
> > always explicitly set OptionsBuilder#jvmArgs (perhaps to an empty set,
> > even) so that the host JVM args aren't automatically used
>
> Yes, that works.
>
> > b) junit allows concurrent execution with custom @RunWith but by
> default
> > it's always single threaded, so good point tho out of the box behavior
> > is safe. to be extra sure, Runner (or our wrapper) could acquire a
> > static lock
>
> Static lock does not guard from multiple concurrent JVMs, and many
> @JUnit test runners I know of are "isolating" the concurrently running
> tests by forking the VMs.
>
> > c) if jmh always generates these two files, Runner could assert
> they are
> > present to prevent this case.
>
> Oh yes, we need to assert these things.
>
> -Aleksey.
>
>
More information about the jmh-dev
mailing list