PC Review


Reply
Thread Tools Rate Thread

[ANN] db4o (database for objects) object database for .NET CompactFramework v. 2.7

 
 
Carl Rosenberger
Guest
Posts: n/a
 
      25th Sep 2003
Hi all,

after receiving very valuable help here, I would like
to inform you what it was good for:

We have just released our object database engine in
a version that runs on CF.

I believe that we supply the only product of the kind
for this platform. Please correct me if I am wrong.

Feel free to download a trial version from our website:
http://www.db4o.com
A half an hour should be sufficient to understand the
concept of db4o and to get your first application
running.


Here is a very short paragraph about the capabilities
of db4o:
db4o is a client/server object database written in C#,
accessible from all .NET languages. Features include
ACID transactions, query-by-example, S.O.D.A. object
query API, WeakReference object identity management,
and automatic class schema recognition. db4o comes as
a 250kB small-footprint .DLL and can be run on the
CompactFramework. The key benefit of db4o is it's
simplicity: One line of code stores any object.


db4o is written and maintained in Java. With the help
of our own automatic one-click Java-to-C# converter
we are able to deploy proved and tested quality to .NET.


Our Java version is being used in the first integrated
control system for highspeed trains. I think this
proves the scalability of our product:
Simplicity works equally well on PDAs and on huge
multi-processor systems.


Thank you all very much again for all the help that I
received here. Very special credits go to Alex Feinmann
for his great support.


Kind regards,
Carl
--
Carl Rosenberger
db4o - database for objects - http://www.db4o.com


 
Reply With Quote
 
 
 
 
Alex Feinman [MVP]
Guest
Posts: n/a
 
      26th Sep 2003
Carl,

I wonder what kind of footprint your Java version has?

"Carl Rosenberger" <(E-Mail Removed)> wrote in message
news:bkueav$t0q$05$(E-Mail Removed)...
> Hi all,
>
> after receiving very valuable help here, I would like
> to inform you what it was good for:
>
> We have just released our object database engine in
> a version that runs on CF.



 
Reply With Quote
 
Carl Rosenberger
Guest
Posts: n/a
 
      26th Sep 2003
Alex Feinman [MVP] wrote:
> Carl,
>
> I wonder what kind of footprint your Java version has?


Alex,

do you mean the size of our engine?

The Java version is a 253kB Jar.
The .NET version is a 244kB DLL.

If you are interested in a comparison of the efficiency of
IL vs. Java Bytecode:

I would expect between 30kB and 40kB of the .NET DLL to be
occupied by our Java-to-C# wrappers.

It's hard to tell from the size of the sources, since the
.../src/j4o/ files have some comments, whereas the
.../src/core/ do not.

An accurate approximation may be possible with a LOC tool.

For me .NET wins the size race with a ratio of about 4:5.


You may be interested in a comparison of the performance as well.
Since I just noticed that the old .NET benchmark code does not
correspond to the current Java code, I quickly ran the Java code
through our converter. For anyone that would like to experiment
himself, I put it on our server:
http://www.db4o.com/db4o/bench.net.2.7.1.zip

(Of course you would need the full download of the .NET
version also, and possibly the Java version for
comparison tests.)


Here are the results on my machine:

..NET 1.1
db4o - 3000 objects stored for ID retrieval: 440 ms
db4o - 100 instantiations from 3000 objects by ID: 10 ms
db4o - 100 complex inserts: 40 ms
db4o - 100 complex selects: 811 ms
db4o - 1000 int inserts: 60 ms
db4o - 50 scans on 1000 int: 2163 ms
db4o - 10 updates on 1000 int: 831 ms
db4o - 1000 String inserts: 201 ms
db4o - 50 scans on 1000 string: 3094 ms
db4o - 10 updates on 1000 string: 1232 ms

Overall db4o performance: 9343 ms


Sun Java 1.4.1-b21 Client VM
db4o - 3000 objects stored for ID retrieval: 591 ms
db4o - 100 instantiations from 3000 objects by ID: 20 ms
db4o - 100 complex inserts: 30 ms
db4o - 100 complex selects: 561 ms
db4o - 1000 int inserts: 40 ms
db4o - 50 scans on 1000 int: 1262 ms
db4o - 10 updates on 1000 int: 751 ms
db4o - 1000 String inserts: 131 ms
db4o - 50 scans on 1000 string: 1722 ms
db4o - 10 updates on 1000 string: 1072 ms

Overall db4o performance: 6740 ms


The above certainly is not fair for .NET. Our code was
heavily optimized for Java with JProbe, a very good and
mature profiling tool.


The .NET version has to run through our Java-to-C# wrappers,
but I wouldn't expect that to take too much time.

I think that we loose a lot more because our code contains
some unnecessary type conversions that we introduced
generically to replace Java primitive type wrappers.
Some code looks like this:

public override Object read(YapBytes yapbytes) {
int i1 = readInt(yapbytes);
return System.Convert.ToInt32(i1);
}

instead of

public override Object read(YapBytes yapbytes) {
return readInt(yapbytes);
}


However the few profiling runs we did with AQTime only
showed hot spots in file access, which I think is a very
good sign that our .NET code is not so much worse than
our Java code.


By the way:
We used the AQTime demo version and we are considering to buy
it. Is this the most recommenable profiling tool for .NET?

Is there any tool that can profile applications on CF?


Kind regards,
Carl
--
Carl Rosenberger
db4o - database for objects - http://www.db4o.com


 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
cannot view database object details in Access 2003 Database Window =?Utf-8?B?TWlrZSBDYXVnaGV5?= Microsoft Access 0 17th Feb 2005 05:53 PM
(SqLite || other database) && CompactFramework? Carlo Microsoft Dot NET Compact Framework 5 16th Jun 2004 11:41 AM
Display object description in details view of database objects John Faughnan Microsoft Access Getting Started 0 9th Mar 2004 11:11 PM
Display object description in details view of database objects John Faughnan Microsoft Access Getting Started 0 9th Mar 2004 11:06 PM
[ANN] db4o - database for objects - v. 2.7 object database for .NET Carl Rosenberger Microsoft Dot NET 0 14th Oct 2003 09:34 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 08:59 AM.