Re: [sqlite] ANN: SQLite 3.6.16.C#
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#
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#
On Sat, Aug 1, 2009 at 1:05 PM, Jim Showalterwrote: > 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#
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#
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#
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#
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#
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#
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 Maxwrote: > > 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#
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#
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#
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 Maxwrote: >> >> 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#
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#
On Sat, Aug 1, 2009 at 4:21 AM, Kosenko Maxwrote: > > 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#
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#
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