Re: Java faster than C++ ?? Impossible !
On 22 Jun., 14:09, brey_maastri...@hotmail.com wrote:
Dear all,
I'm trying to rewrite a Java program into C++.
The Java programm works fast but I hoped that C++ would even be
faster.
But that is not the case !
(to be complete: both the Java and C++ version of the program are
intented to use within Matlab)
I used as less 'new', 'delete' and 'delete[]' statements as possible.
As less pointers as possible.
I did use vectors, but no iterators. And I confirmed that there are no
memory leaks at all.
But still, the C++ version of my programm is slower than Java with a
factor 100 !!
I have used Visual C++ 6.0 and later on Visual Express 2008.
How is that possible ? And are there people who had the same probem ??
It is difficult to tell without you showing any code. But others have
pointed out two likely sources: pass by value (which might look
natural to a Java programmer), which can be a time-killer and running
in debug mode, which easily can give give a factor of 10. I remember
in my early days, where I accidentically passed a (large) structure by
value. This one function caused made the program go five times slower.
If there had been more functions like that, it is easy to imagine a
factor of 100 as a result.
That said, it very much depends on the program how much a speed-up,
you could expect going to C++. I would not be surprised if you had no
speed-up at all, and I would be surprised if you got a factor of much
more than 2 unless the Java program should start trashing.
/Peter