protux-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Protux-devel] After one month, my first conclusions...


From: Luciano Domenico Giordana
Subject: [Protux-devel] After one month, my first conclusions...
Date: Wed, 26 Oct 2005 01:12:24 -0200

Hello all,

after one month since the start of  ** toJava migration ** , I'd like to share some of my first conclusions with you guys. For all those, I am considering the machine I have been using to test Protux in Java, at IBM , a P4 1.7 Ghz, 512 RAM, using a sort of internal linux distro (based mainly on Debian)

First of all, that scenario of a "slower-protux" became a fanstasy after one month. Even on my personal machine (the same I used to run Protux in C++/QT) the performance, so far, are apparently the same.
But in my workstation, at work, it is HUGELY better. If we consider that common desktop machines are better than this (normally P4 2.5 Ghz, or the upcoming P5, with 1G or more of RAM) my machine at work is SLOW, and we can expect virtually no reports of bad performance for the java based Protux.

In a daily routine sense, updating from CVS, building (is there a visible build ? hehe) , lanching and using protux is ridiculously simple (ask Reinhard ). no more those nightmares to make a simple MAKE work...

Of course, the critical parts are still to come : the Peak drawing (in progress), the ALSA access, the FFT calculus... but I seriously expect that it will turn out to show the same performance I could notice in running the LCD , when rolling message, which is kind of a intense graphic-consuming thread, or instantiate , as a test, 1000 tracks , with 1 million of clip objects each ,  and getting no critical issues regarding performance.

In the sense of development speed, also no words to describe. I converted the brute code in 3 weeks (much less than the months suggested by some initially against Java), the fine-tunning will take 1 or 2 months more, and I am already improving the architecture, with much more robust startegies, like Exception handling, Responsability orientation, Abstract interfaces, Java generics, specialized packages, proxies objects, to cache singletons and make field access faster, and much more. CVS integration let me commit more than 20 classes per day very easily, with LOT of fixes and changes. Eclipse also let me refactor names, symbols, methods, class names, packages so fast that I just dont worry about compilation problems anymore. The code is becoming really clean and coherent, thanks to auto-formatting, refactoring and auto-solution for common problems.

As a major conclusion, I can say that now I am 100% sure that I took the right decision. When I make a small insight of all possibilities we have now, with a so faster development, we can dream of a professional Protux , for real usage, including filters, for the 2nd quarter of 2006. With video, for the end of 2006. As a single comparion of development producitivy, I used to commit 1 online of code per month. Now I am commiting, in average, 500 per day. or 15000 per month. Thats nice huh ?

And the dev-team is veeeery little ;-) ! If we attract new developers, with java skills, that will become even faster ! Java developers are commonly found on craporative development. But there is a lot of guys out there willing to take part on a desktop application with professional purposes. Also we are doing something that proofs that java performance nowadays is as fast (sometimes faster) than C++. They'd probably get interested on that too.

Thats it for now. I hope you guys have Eclipse installed soon on your boxes so you can taste a little the new Java based Protux. A binary release will take a little long to be available, but if you want, I can generate a JAR and send by email, just to let you taste it without having to download 83Mb of eclipse 3.11 plus 50 for Sun JDK.

Regads

Luciano




--
Luciano Domenico Giordana
Software Engineer / Java/C++ Senior Developer
Project Protux : http://www.nongnu.org/protux

reply via email to

[Prev in Thread] Current Thread [Next in Thread]