I favor 5.x branch being on java 7. In my opinion, its where we
finally actually take advantage of java 7 features. And to lucene,
this is mostly IO-related, because that is our business. You can see
this in the changes: e.g. changing lucene's commit to actually be
atomic, mocking tests at the filesystem level, detecting SSD disks for
better defaults, and so on. Try-with-resources semantics are nice but
boring sugar, on the other hand I like the suppressed exception
mechanism with java 7. So in 5.x we deliver additional information
when possible via this mechanism (e.g. checksum computation). We
convert all code to NIO.2, to clear up corner cases, simplify our
code, make it more reliable, and test it better.

i love that java 8 is in trunk. Its true, we don't take total
advantage of it yet, but that will come with time. For example, deltas
in skiplistwriter are vints, which is hard to reason about, and the
exactmath instructions would be a nice fit (IMO). I like the better
type handling (such as "effectively final") from a coding perspective,
but users don't give a shit about this stuff. Really the big
improvement in 8 is lambdas, I would love for someone to have an
awesome patch so that Lucene worked better from a functional
perspective. But will this really come overnight or be an iterative
thing?

So I don't think we should require java 8 for 5.0. I think 5.0 is
doing that just fine with java 7.

unrelated: users can always use java 8 jvms with our code, regardless
of what we do. They will get nice performance benefits from
improvements to the hotspot compiler: e.g. much less overhead for
checksum computation at write, leading/trailing number of zeros
without branches, etc that make lucene go faster in addition to
general improvements.

But why require java 8? For example from an i/o perspective, solr code
is still not even at java 7 level. It is still using java.io.File etc.
So what benefits come from mandating java 8?


On Fri, Dec 19, 2014 at 9:16 PM, Shawn Heisey <apa...@elyograg.org> wrote:
> It feels like we just went through this with Java 6.  I guess time is
> flying.  Oracle Java 7 will reach effective EOL for the public in April,
> just four months from now.
>
> http://www.oracle.com/technetwork/java/eol-135779.html
>
> We've already upgraded trunk to a Java 8 minimum, and I expect that no
> matter what comes out of this discussion, branch_5x will be upgraded to
> Java 8 at some point in its life.
>
> Do we want to update the minimum requirement to Java 8 before 5.0
> releases?  I have no strong opinion either way.  I can see good reasons
> for either choice.
>
> Thanks,
> Shawn
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to