Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Simon Slavin

On 1 Aug 2009, at 11:07pm, Fred Williams wrote:

> SQLite was and has always been designed to be extremely cross platform
> portable, bare bones in both footprint and implementation.  It is, and
> should remain so.  If someone wants to take the open source and  
> implement it
> in something like C# or Java, I think Dr. Hipp should contact them and
> politely ask them to change the name, because the end result will be  
> neither
> that portable (C#) or efficient (Java.) MHO.

I don't have a problem with a port to other languages.  In fact  
porting things to other platforms and other languages is a great way  
to discover bugs in the original: first you have to actually read the  
code, and second you find things that work only by coincidence.  But  
porting is like making babies: the enthusiasm that goes into the  
original work is not always reflected in maintenance.  And I hope that  
Dr. Hipp is going to add some features or fix some bugs in the C  
version of SQLite.  At that point the port is either going to be  
incompatible, or require maintenance from someone who understands it.

So I would want to be sure that's going to happen before basing any  
big project on the port.

Simon.
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Fred Williams
No I'm not proud of what a lot of OS providers produce.  Microsoft in
particular.  Sun's Java is becoming such a resource pig, I won't mess with
it either.

SQLite was and has always been designed to be extremely cross platform
portable, bare bones in both footprint and implementation.  It is, and
should remain so.  If someone wants to take the open source and implement it
in something like C# or Java, I think Dr. Hipp should contact them and
politely ask them to change the name, because the end result will be neither
that portable (C#) or efficient (Java.) MHO.

Lucky for most, SQLite has not suffered the extreme feature creep that is
inherent in most software projects.  And it appears a constant battle to
keep it true to its roots.  If I want a multi-user, full featured database I
have a multitude of very successful products to pick from.  I won't keep
asking the SQLite developers for just one more feature.  I tend to use a
product for which it was designed.  I'm not the kind of guy that just
because I own a hammer everything in the world looks like a nail.  I guess
that is why I can write in more than 10 programming languages.

A place for everything, and every thing in its place, so to speak.

Fred

-Original Message-
From: sqlite-users-boun...@sqlite.org
[mailto:sqlite-users-boun...@sqlite.org]on Behalf Of Jim Showalter
Sent: Saturday, August 01, 2009 1:06 PM
To: General Discussion of SQLite Database
Subject: Re: [sqlite] ANN: SQLite 3.6.16.C#


Could we not disparage different OSs and languages?

A fair comparison of performance isn't between a C and C#
implementation of SQLite, but between a C# and Java implementation of
SQLite. Both C# and Java are managed languages that run atop a VM that
runs atop an OS. C is down on the metal. I would expect the C version
to be faster.

I don't know the background of why this programmer did a port directly
to C# instead of binding C# to the existing C library, but I assume he
had his reasons.

- Original Message -
From: "Fred Williams" 
To: "General Discussion of SQLite Database" 
Sent: Saturday, August 01, 2009 6:08 AM
Subject: Re: [sqlite] ANN: SQLite 3.6.16.C#


>
> Hummm... Guess there is a reason there are no implementations of C#
> external
> to the Mickeysoft world :-)
>
> Guess if I had a lot of time to kill I could port it to Delphi...
>
> BTW, what's the memory footprint?
>
> Fred
>
> -Original Message-
> From: sqlite-users-boun...@sqlite.org
> [mailto:sqlite-users-boun...@sqlite.org]on Behalf Of Kosenko Max
> Sent: Saturday, August 01, 2009 6:22 AM
> To: sqlite-users@sqlite.org
> Subject: Re: [sqlite] ANN: SQLite 3.6.16.C#
>
>
>
> Seems like I've misunderstood your performance results. And they are
> 3-5times
> slower than original...
>
> -
> Best Regards.
> Max Kosenko.
> --
> View this message in context:
> http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24768252.html
> Sent from the SQLite mailing list archive at Nabble.com.
>
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread P Kishor
On Sat, Aug 1, 2009 at 1:05 PM, Jim Showalter wrote:
> I don't know the background of why this programmer did a port directly
> to C# instead of binding C# to the existing C library, but I assume he
> had his reasons.

He says very clearly on the code website, he did so to learn C#. As I
wrote in my comment there, I admire his perseverance, and that he
managed to complete the project single-handedly.

-- 
Puneet Kishor
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Jim Showalter
Could we not disparage different OSs and languages?

A fair comparison of performance isn't between a C and C# 
implementation of SQLite, but between a C# and Java implementation of 
SQLite. Both C# and Java are managed languages that run atop a VM that 
runs atop an OS. C is down on the metal. I would expect the C version 
to be faster.

I don't know the background of why this programmer did a port directly 
to C# instead of binding C# to the existing C library, but I assume he 
had his reasons.

- Original Message - 
From: "Fred Williams" 
To: "General Discussion of SQLite Database" 
Sent: Saturday, August 01, 2009 6:08 AM
Subject: Re: [sqlite] ANN: SQLite 3.6.16.C#


>
> Hummm... Guess there is a reason there are no implementations of C# 
> external
> to the Mickeysoft world :-)
>
> Guess if I had a lot of time to kill I could port it to Delphi...
>
> BTW, what's the memory footprint?
>
> Fred
>
> -Original Message-
> From: sqlite-users-boun...@sqlite.org
> [mailto:sqlite-users-boun...@sqlite.org]on Behalf Of Kosenko Max
> Sent: Saturday, August 01, 2009 6:22 AM
> To: sqlite-users@sqlite.org
> Subject: Re: [sqlite] ANN: SQLite 3.6.16.C#
>
>
>
> Seems like I've misunderstood your performance results. And they are
> 3-5times
> slower than original...
>
> -
> Best Regards.
> Max Kosenko.
> --
> View this message in context:
> http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24768252.html
> Sent from the SQLite mailing list archive at Nabble.com.
>
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users 

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Noah Hart

This is not a driver, dll, or wrapper.  This is a port of the underlying
SQLite software.

Noah

Yves Goergen wrote:
> 
> On 01.08.2009 02:14 CE(S)T, Noah Hart wrote:
>> I am pleased to announce that the C# port is done to the point where
>> others
>> can look at it.
>> 
>> The project is located at http://code.google.com/p/sqlitecs
> 
> Excuse me, but what's the difference of this to SQLite ADO.NET at
> http://sqlite.phxsoftware.com/ ?
> 
> -- 
> Yves Goergen "LonelyPixel" 
> Visit my web laboratory at http://beta.unclassified.de
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> 
> 

-- 
View this message in context: 
http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24769515.html
Sent from the SQLite mailing list archive at Nabble.com.

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Noah Hart

Max, I missed posting the remaining errors

Current results ... 
9 errors out of 30054 tests

Still skipping about 9 additional tests

Noah

Kosenko Max wrote:
> 
> Wow, that's impressive.
> 
> And very interesting that you've gained 3x-5x performance gain.
> Don't make this project educational only. I'm sure you'll find additional
> contributors. Just recently Miguel de Icaza was asking for line by line
> port of SQLite to C#.
> 
> Great achievement that all tests are passing now.
> 
> Max.
> 
> 
> Noah Hart wrote:
>> 
>> I am pleased to announce that the C# port is done to the point where
>> others can look at it.
>> 
>> The project is located at http://code.google.com/p/sqlitecs
>> 
>> Enjoy,
>> 
>> Noah Hart
>> 
> 

-- 
View this message in context: 
http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24769505.html
Sent from the SQLite mailing list archive at Nabble.com.

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Noah Hart

The compiled version of the SQLite3.exe is 528KB vs 506KB for the official
release

I haven't checked the footprint while it is running.  That would be depend
on what it is doing ...

Noah

Fred Williams wrote:
> 
> 
> Hummm... Guess there is a reason there are no implementations of C#
> external
> to the Mickeysoft world :-)
> 
> Guess if I had a lot of time to kill I could port it to Delphi...
> 
> BTW, what's the memory footprint?
> 
> Fred
> 
> -Original Message-
> From: sqlite-users-boun...@sqlite.org
> [mailto:sqlite-users-boun...@sqlite.org]on Behalf Of Kosenko Max
> Sent: Saturday, August 01, 2009 6:22 AM
> To: sqlite-users@sqlite.org
> Subject: Re: [sqlite] ANN: SQLite 3.6.16.C#
> 
> 
> 
> Seems like I've misunderstood your performance results. And they are
> 3-5times
> slower than original...
> 
> -
> Best Regards.
> Max Kosenko.
> --
> View this message in context:
> http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24768252.html
> Sent from the SQLite mailing list archive at Nabble.com.
> 
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> 
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> 
> 

-- 
View this message in context: 
http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24769476.html
Sent from the SQLite mailing list archive at Nabble.com.

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Noah Hart

Yes, but still decent speed

All Results are in Rows per Second

TestSQLite3C#   SQLite3
Inserts 300K1300K
Selects 1500K   8450K
Updates 60K 300K
Deletes 250K700K 

Noah

Kosenko Max wrote:
> 
> Seems like I've misunderstood your performance results. And they are
> 3-5times slower than original... 
> 

-- 
View this message in context: 
http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24769455.html
Sent from the SQLite mailing list archive at Nabble.com.

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Noah Hart

Cory, There was no attempt at optimization in this initial port.  SQLite does
a lot of char/byte/string manipulation as well as and passing parameters by
address in the middle of an array.  But I ended up having to do a lot of
byte buffer copying.  MY guess is that is where most of the time is spent.

Regards,

Noah

On Sat, Aug 1, 2009 at 4:21 AM, Kosenko Max wrote:
>
> Seems like I've misunderstood your performance results. And they are
> 3-5times
> slower than original...
>

This could be for a number of reasons.  For one, it uses p/invoke for
a number of things, which can be pretty slow and is not portable.
Another, it is basically a direct port of the C code -- it is using
goto all over the place, which probably hampers optimization as
opposed to exceptions.

-- 
Cory Nelson
http://int64.org

-- 
View this message in context: 
http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24769442.html
Sent from the SQLite mailing list archive at Nabble.com.

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Yves Goergen
On 01.08.2009 02:14 CE(S)T, Noah Hart wrote:
> I am pleased to announce that the C# port is done to the point where others
> can look at it.
> 
> The project is located at http://code.google.com/p/sqlitecs

Excuse me, but what's the difference of this to SQLite ADO.NET at
http://sqlite.phxsoftware.com/ ?

-- 
Yves Goergen "LonelyPixel" 
Visit my web laboratory at http://beta.unclassified.de
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Kosenko Max


Fred Williams wrote:
> Hummm... Guess there is a reason there are no implementations of C#
> external to the Mickeysoft world :-)

One of the reason is true multiplatform support with Mono for managed world. 
Another one is Silverlight DB.




-
Best Regards.
Max Kosenko.
-- 
View this message in context: 
http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24769012.html
Sent from the SQLite mailing list archive at Nabble.com.

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Kosenko Max

Only 10 DllImport (files and performance), most can be moved to managed
version.
goto isn't something slow with C# - so it can't be a bottleneck.
But it would be interesting to study this with profiler and see what is the
real reason.
I believe it shouldn't be that different in performance.


Cory Nelson wrote:
> 
> On Sat, Aug 1, 2009 at 4:21 AM, Kosenko Max wrote:
>>
>> Seems like I've misunderstood your performance results. And they are
>> 3-5times
>> slower than original...
>>
> 
> This could be for a number of reasons.  For one, it uses p/invoke for
> a number of things, which can be pretty slow and is not portable.
> Another, it is basically a direct port of the C code -- it is using
> goto all over the place, which probably hampers optimization as
> opposed to exceptions.
> 
> -- 
> Cory Nelson
> http://int64.org
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> 
> 


-
Best Regards.
Max Kosenko.
-- 
View this message in context: 
http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24768968.html
Sent from the SQLite mailing list archive at Nabble.com.

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Fred Williams

Hummm... Guess there is a reason there are no implementations of C# external
to the Mickeysoft world :-)

Guess if I had a lot of time to kill I could port it to Delphi...

BTW, what's the memory footprint?

Fred

-Original Message-
From: sqlite-users-boun...@sqlite.org
[mailto:sqlite-users-boun...@sqlite.org]on Behalf Of Kosenko Max
Sent: Saturday, August 01, 2009 6:22 AM
To: sqlite-users@sqlite.org
Subject: Re: [sqlite] ANN: SQLite 3.6.16.C#



Seems like I've misunderstood your performance results. And they are
3-5times
slower than original...

-
Best Regards.
Max Kosenko.
--
View this message in context:
http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24768252.html
Sent from the SQLite mailing list archive at Nabble.com.

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Cory Nelson
On Sat, Aug 1, 2009 at 4:21 AM, Kosenko Max wrote:
>
> Seems like I've misunderstood your performance results. And they are 3-5times
> slower than original...
>

This could be for a number of reasons.  For one, it uses p/invoke for
a number of things, which can be pretty slow and is not portable.
Another, it is basically a direct port of the C code -- it is using
goto all over the place, which probably hampers optimization as
opposed to exceptions.

-- 
Cory Nelson
http://int64.org
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Kosenko Max

Seems like I've misunderstood your performance results. And they are 3-5times
slower than original... 

-
Best Regards.
Max Kosenko.
-- 
View this message in context: 
http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24768252.html
Sent from the SQLite mailing list archive at Nabble.com.

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] ANN: SQLite 3.6.16.C#

2009-08-01 Thread Kosenko Max

Wow, that's impressive.

And very interesting that you've gained 3x-5x performance gain.
Don't make this project educational only. I'm sure you'll find additional
contributors. Just recently Miguel de Icaza was asking for line by line port
of SQLite to C#.

Great achievement that all tests are passing now.

Max.


Noah Hart wrote:
> 
> I am pleased to announce that the C# port is done to the point where
> others can look at it.
> 
> The project is located at http://code.google.com/p/sqlitecs
> 
> Enjoy,
> 
> Noah Hart
> 

-
Best Regards.
Max Kosenko.
-- 
View this message in context: 
http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24768186.html
Sent from the SQLite mailing list archive at Nabble.com.

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users