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

Shashank Gupta shashank201091 at gmail.com
Tue Mar 20 04:57:54 UTC 2012


While porting a piece of code to Java one can always see what errors the
converter is making. As the converter is static it'll repeat its mistakes
for example if it cant convert the array length function then it will
create the same error each time the function appears. When compiling the
java code we'll get to know of the errors the converter is making and then
by using the replace option we reduce the number of errors to a handful
which then can be coded by hand.
I had a doubt, if we convert a piece of code to Java by using a converter
does it have certain performance issues?

Regards
Shashank Gupta

On Tue, Mar 20, 2012 at 7:09 AM, Amr AL-Hossary
<amr_alhossary at hotmail.com>wrote:

> I agree with most of Scooter's opinions,
>
> 1) JNI can be used as an initial step, to use the current code until we
> work out the License issues.
> 2) Also it can be used as a reference conversion implementation.
> 3) Then it would be better for the student to (digest) the algorithm and
> rebuild it.
> Here I add that
> 4) Even best converters can't map things like variables carrying array
> length into simply array.length.
> 5) Using already built-in algorithm libraries (searching, sorting, data
> structures) in java would be easier to maintain later on, plus being
> optimized for Java data types.
>
> Amr
>
>
> -----Original Message----- From: Scooter Willis
> Sent: Tuesday, March 20, 2012 12:03 AM
> To: Russ Kepler ; biojava-l at lists.open-bio.org
> Subject: Re: [Biojava-l] Porting an Algorithm to Java GSoC 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<http://lists.open-bio.org/mailman/listinfo/biojava-l>
>
> ______________________________**_________________
> Biojava-l mailing list  -  Biojava-l at lists.open-bio.org
> http://lists.open-bio.org/**mailman/listinfo/biojava-l<http://lists.open-bio.org/mailman/listinfo/biojava-l>
> ______________________________**_________________
> Biojava-l mailing list  -  Biojava-l at lists.open-bio.org
> http://lists.open-bio.org/**mailman/listinfo/biojava-l<http://lists.open-bio.org/mailman/listinfo/biojava-l>
>



More information about the Biojava-l mailing list