Opened 3 years ago

Closed 3 years ago

#18861 closed task (implemented)

start thinking about using java8

Reported by: iwakeh Owned by: karsten
Priority: Medium Milestone:
Component: Metrics/Library Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

  1. Oracle issued the following more than a year ago

    Auto-update Notice and End of Public Updates for Oracle JDK 7

    As outlined in the Oracle JDK Support Roadmap, after April 2015, Oracle will not >post further updates of Java SE 7 to its public download sites. Customers who need >continued access to critical bug fixes and security fixes as well as general >maintenance for Java SE 7 or older versions can get long term support through Oracle >Java SE Support. The process of migrating users from Java 7 to Java 8 through the >auto update feature is expected to take place after the January 2015 CPU release.(quoted from http://www.oracle.com/technetwork/java/javase/eol-135779.html)

  2. OpenJDK8 has been available in stable debian for quite a while.
  3. Java8 has matured by now, i.e. there were numerous updates since the first release (cf. here).
  4. Java8 features like lambdas, streams, easy parallelization, performance improvements for the java.lang.String(byte[], *) constructor and the java.lang.String.getBytes() method, parallel array sorting, standard encoding and decoding base64 might be quite useful for metrics-lib in particular.

I think that switching to java8 in Onionoo, metrics-db, and metrics-lib should not pose any problems.
I don't know about other projects that might use metrics-lib?

Using the new features could be done step by step, in special java8 branches.

The metrics-lib benchmark code could be integrated in the test codebase for metrics-lib and used for measuring performance.

Nothing very urgent, but it seems a good thing to start thinking about it now.

(And ... Java9 is waiting around the corner ;-)

Child Tickets

Change History (5)

comment:1 Changed 3 years ago by karsten

Hmm, are you sure that OpenJDK 8 is available in Debian stable?

https://packages.debian.org/search?keywords=openjdk-8-jre

comment:2 Changed 3 years ago by iwakeh

Oh, you're right. Sorry, I was so happy to see java8 finally in Debian that I overlook the backports entry in sources.list.

Hope this doesn't totally out-rule thinking about it here?

At least backports is a debian service just for this purpose.
Quote from debian:

You are running Debian stable because you prefer the stable Debian tree. It runs great, there is just one problem: The software is a little bit outdated compared to other distributions. That is where backports come in.


What about the benchmark-source-code? Shouldn't it be added somewhere to the metrics-lib repo?

comment:3 Changed 3 years ago by karsten

Agreed, let's switch to OpenJDK 8. How about we do that in the course of the 2.0.0 release? (See my related question regarding the timing on #18746.)

Regarding the benchmarking code, where should I put that? In the src/ or test/ directory or somewhere else? Which package? For example, it shouldn't be part of the Javadocs, I guess. And should we move this discussion to a separate ticket, because you'll probably want to review the code before it goes in?

comment:4 in reply to:  3 Changed 3 years ago by iwakeh

Replying to karsten:

Agreed, let's switch to OpenJDK 8. How about we do that in the course of the 2.0.0 release?

Great!

(See my related question regarding the timing on #18746.)

I replied there.

Regarding the benchmarking code, where should I put that? In the src/ or test/ directory or somewhere else? Which package? For example, it shouldn't be part of the Javadocs, I guess. And should we move this discussion to a separate ticket, because you'll probably want to review the code before it goes in?

I replied in ticket #19051 which ought to be part of 1.2.0 as it does not need java8 as prerequisite.

comment:5 Changed 3 years ago by iwakeh

Resolution: implemented
Status: newclosed

Decision is made -> closing.
the work is tracked in #19617

Note: See TracTickets for help on using tickets.