C compared to C++/Java; Was: Re: InnoDB Hot Backup + MySQL embedded?

2004-02-21 Thread Heikki Tuuri
Jochem,

- Original Message - 
From: Jochem van Dieten [EMAIL PROTECTED]
Newsgroups: mailing.database.myodbc
Sent: Saturday, February 21, 2004 2:10 AM
Subject: Re: InnoDB Hot Backup + MySQL embedded?


 Sasha Pachev wrote:
  Heikki Tuuri wrote:
  C versus object-oriented lanuguages like C++/Java is a topic I have
  discussed a lot with programmers. I believe that traditional procedural
  approaches and languages, like C, are the best for 'systems
programming', by
  which I mean implementing anything with complex data structures and
lots of
  parallelism. A DBMS is a typical example of such a complex program.

  3) A weakness of C compared to Java is memory management. In C you can
  easily write programs that leak memory or run over allocated buffers.
In
  practice, it has turned out to be relatively easy to keep these memory
  management bugs at a tolerable level in our C programs, so that a move
to a
  language with automatic memory management is not needed.
 
  In Java is it easy to write a program that wastes large amounts of
  memory, which is worse than a leak. In C, you are full from the start,
  and then you leak a drop at a time until you are empty. In Java , you
  are empty from the start, and you have nothing to leak anyway even if
  you could :-)

 http://citeseer.nj.nec.com/shah01java.html

here is a .pdf version of the paper:
http://gist.cs.berkeley.edu/~mashah/java-paper/paper.pdf

The authors used a 2 x Pentium III 667 MHz, Linux-2.2.16, Sun JDK 1.3, and
Java HotSpot Server JVM 1.3.0. to implement a 'data-flow' query processor.

Their conclusion is that the memory management and the garbage collection of
Java is inefficient. The graph that they present shows an up to 2.5-fold
performance degradation with the Java garbage collector, compared to their
own tailored memory management system.

I worked with Entity Systems Oy in the 1980s. We developed a Lisp
interpreter and a compiler, and a Prolog interpreter. At that time, the
inefficiency of the garbage collection in Lisp and Prolog was a serious
problem. I am not familiar with more modern garbage collection algorithms,
but the paper of Shah et al. suggests that there are still problems today.
In the 1980s, the research group of Mike Stonebraker initially started
implementing Postgres in a mixture of Lisp and C, but they later abandoned
Lisp.

 Jochem

Regards,

Heikki

 -- 
 I don't get it
 immigrants don't work
 and steal our jobs
  - Loesje


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: C compared to C++/Java; Was: Re: InnoDB Hot Backup + MySQL embedded?

2004-02-21 Thread Jochem van Dieten
Heikki Tuuri wrote:
From: Jochem van Dieten
Sasha Pachev wrote:
In Java is it easy to write a program that wastes large amounts of
memory, which is worse than a leak. In C, you are full from the start,
and then you leak a drop at a time until you are empty. In Java , you
are empty from the start, and you have nothing to leak anyway even if
you could :-)
http://citeseer.nj.nec.com/shah01java.html

Their conclusion is that the memory management and the garbage collection of
Java is inefficient. The graph that they present shows an up to 2.5-fold
performance degradation with the Java garbage collector, compared to their
own tailored memory management system.
Indeed. I think the article nicely illustrates Sasha's point 
regarding the efficiency of Java. But I just posted this link 
since since it is about a database system (of some sort) and I'm 
trying to stay on-topic ;-)

Jochem

--
I don't get it
immigrants don't work
and steal our jobs
- Loesje
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]