RFR: 7903451: JMH: Refactor internal Optional usages [v3]

Aleksey Shipilev shade at openjdk.org
Mon Apr 3 08:56:50 UTC 2023


On Sun, 2 Apr 2023 08:44:30 GMT, Andrei Rybak <duke at openjdk.org> wrote:

>> This is a follow-up to the email https://mail.openjdk.org/pipermail/jmh-dev/2023-January/003562.html
>> 
>> `java.util.Optional` isn't `Serializeable`. Because of that `org.openjdk.jmh.runner.options.TestOptions` fails with `java.io.NotSerializableException: java.util.Optional`, when  `org.openjdk.jmh.util.Optional` is completely replaced with `java.util.Optional`. See [test results on branch `java-util-optional`](https://github.com/rybak/jmh/actions/runs/4326921418), ([one commit](https://github.com/rybak/jmh/commit/25b9cb382be7285a51446976247d036ac855fc91) on top of initial state of this PR).
>> 
>> I didn't look further into possibility of removing `Optional`s as fields of class `CommandLineOptions`. I think that the refactoring up until the drop-in replacement to `java.util.Optional` might still be worth it, at least from the point of making it more approachable for people who are familiar with `java.util.Optional`.  So here are these changes for your consideration. Details are in the commit messages.
>
> Andrei Rybak has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - fixup! Runner: replace orAnother() with orElseGet()
>    
>    Indentation in Runner.java
>  - fixup! Runner: replace orAnother() with orElseGet()
>    
>    Ternary operator code style in orElseGet()

Looks good, thanks!

-------------

Marked as reviewed by shade (Committer).

PR Review: https://git.openjdk.org/jmh/pull/98#pullrequestreview-1368583072


More information about the jmh-dev mailing list