[Biojava-l] Porting an Algorithm to Java GSoC 2012

Scooter Willis HWillis at scripps.edu
Mon Mar 19 22:03:12 UTC 2012


3+ years ago we worked on a port of the reference implementation of the H264 encoder/decoder to Java. Performance was actually very good that we didnt spend time on optimization. We used jazillian to do the initial conversion and it does a nice job on fairly clean code. They are no longer in business and I plan on contacting the developer to see if they would use their software for the initial conversion.

Doing a JNI conversion will be fairly easy to model the input and ouput paramaters of blast and/or hmmer. Neither code base is setup as a library so the number of mappings that need to be performed is minimal. The complexity of porting either from C/C++ to Java is high but also introduces a student to the field and thus has potential long term benefit.

With JNI high degree of success with minimal work. I would advocate that the initial effort is placed on conversion to determine the overall likelyhood of success where much will depend on the student. JNI should be a requirement even if conversion is successful.

JNI would also minimize GPL concerns of forking the HMMER codebase.

Scooter

----- Reply message -----
From: "Russ Kepler" <russ at kepler-eng.com>
To: "biojava-l at lists.open-bio.org" <biojava-l at lists.open-bio.org>
Subject: [Biojava-l] Porting an Algorithm to Java GSoC 2012
Date: Tue, Mar 20, 2012 8:06 am



On Monday, March 19, 2012 01:10:40 PM Andreas Prlic wrote:

> You are right, this is on a high level how such a conversion could be
> performed.

In my experience Java makes a poor C++ (or C) emulator.  The "convert C++ to
Java" might make an "OK" first pass but in the end you're going to want to
recode critical sections in original Java.  I've found that the really big
performance improvements are in using smarter algorithms in Java vs. some of
the 'brute force' approaches that work in C.
_______________________________________________
Biojava-l mailing list  -  Biojava-l at lists.open-bio.org
http://lists.open-bio.org/mailman/listinfo/biojava-l




More information about the Biojava-l mailing list