Re: [sqlite] ANN: SQLite 3.6.16.C#
On Sat, Aug 29, 2009 at 9:51 PM, Yves Goergen wrote: > On 01.08.2009 16:19 CE(S)T, Noah Hart wrote: >> This is not a driver, dll, or wrapper. This is a port of the underlying >> SQLite software. > > Hm, yes, but isn't the other C# SQLite assembly also the entire DB > engine? I mean, there's no client/server driver; if you can access > SQLite files, you already have the entire engine in your hands. And the > other one doesn't need any additional files, it's just one .NET > assembly. And a huge one. So I cannot imagine that it's just some > bindings to a native DLL. It's both bindings and the native code in one DLL. The SQLite code there is not managed and is compiled only for single platform. F. ___ 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 16:19 CE(S)T, Noah Hart wrote: > This is not a driver, dll, or wrapper. This is a port of the underlying > SQLite software. Hm, yes, but isn't the other C# SQLite assembly also the entire DB engine? I mean, there's no client/server driver; if you can access SQLite files, you already have the entire engine in your hands. And the other one doesn't need any additional files, it's just one .NET assembly. And a huge one. So I cannot imagine that it's just some bindings to a native DLL. -- 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#
I need to apologize once again. Slow deletes explained as bug in SQLite tests and flags of Perst compilation. Now they both head to head on basic ops with 2x on Perst selects (can be due to the ADO reader instantiations) http://www.nabble.com/file/p24795746/TestIndex.cs TestIndex.cs SQLITE TEST inserting 10 records: 4.4062500 performing 20 index searches: 7.250 iteration through 20 records: 1.1875000 deleting 10 records: 3.9843750 PERST TEST inserting 10 records: 4.1562500 performing 20 index searches: 2.5156250 iteration through 20 records: 1.7343750 deleting 10 records: 4.3437500 SQLITE TEST inserting 100 records: 49.7031250 performing 200 index searches: 76.6718750 iteration through 200 records: 11.9989795 deleting 100 records: 46.7937535 PERST TEST inserting 100 records: 53.1406250 performing 200 index searches: 29.9375000 iteration through 200 records: 19.7187500 deleting 100 records: 53.7206640 - Best Regards. Max Kosenko. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24795746.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#
I need to apologize once again. Slow deletes explained as bug in SQLite tests and flags of Perst compilation. Now they both head to head on basic ops with 2x on Perst selects (can be due to the ADO reader instantiations) http://www.nabble.com/file/p24795731/TestIndex.cs TestIndex.cs SQLITE TEST inserting 10 records: 4.4062500 performing 20 index searches: 7.250 iteration through 20 records: 1.1875000 deleting 10 records: 3.9843750 PERST TEST inserting 10 records: 4.1562500 performing 20 index searches: 2.5156250 iteration through 20 records: 1.7343750 deleting 10 records: 4.3437500 SQLITE TEST inserting 100 records: 49.7031250 performing 200 index searches: 76.6718750 iteration through 200 records: 11.9989795 deleting 100 records: 46.7937535 PERST TEST inserting 100 records: 53.1406250 performing 200 index searches: 29.9375000 iteration through 200 records: 19.7187500 deleting 100 records: 53.7206640 - Best Regards. Max Kosenko. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24795731.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#
Sorry, test bug in SQLite select test. http://www.nabble.com/file/p24789308/TestIndex.cs TestIndex.cs index searches: 20: SQLITE 8.1635400 PERST 3.3406065 200: SQLITE 1:10.6331745 PERST 54.9915975 - Best Regards. Max Kosenko. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24789308.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#
Dan Kennedy-4 wrote: > Earlier I just quoted the conclusions of the McObject report. Maybe I > misunderstood. But now that I have read the benchmark code, I'm curious. > Why is the SQL not being recompiled for each query? Is there some kind of > compiled query cache hiding behind the [db.query()] call in Android? > > Why would it not help to use a read-only transaction? Is SQLite using > exclusive-locking mode? In the tests I've been working on today I've found > that read-only transactions speed up SQLite considerably for this kind of > workload, even when using exclusive-locking mode. First of all - I was never referring to the published tests, so my assumptions were that in Android test everything went ok. I've asked author what's up. And it's clear that in Android SQLite API there are no options now (or at least not found on test moment) to make SQLite faster. So that can be resolved, but right now test results on Android true. I was doing some personal tests long time ago and after this thread decided to redo same used TestIndex for SQLite and Perst together. SQLITE TEST inserting 10 records: 00:00:05.2486875 performing 20 index searches: 00:00:05.6910420 iteration through 20 records: 00:00:00.6942915 deleting 10 records: 00:00:01.645 PERST TEST inserting 10 records: 00:00:05.6158515 performing 20 index searches: 00:00:03.4675515 iteration through 20 records: 00:00:02.0994750 deleting 10 records: 00:00:05.9859450 SQLITE TEST inserting 100 records: 00:00:44.6846400 performing 200 index searches: 00:00:59.2130070 iteration through 200 records: 00:00:07.8237180 deleting 100 records: 00:00:16.2304065 PERST TEST inserting 100 records: 00:01:05.9596455 performing 200 index searches: 00:00:53.0913285 iteration through 200 records: 00:00:29.4795585 deleting 100 records: 00:01:51.0710160 Here is the test file: http://www.nabble.com/file/p2477/TestIndex.cs TestIndex.cs Everything optimized as much as possible (but staying ACID and doing same operations) for SQLite. Both DB had same page cache size. Perst wasn't tweaked. Difference is that Perst uses objects and for SQLite that was skipped so iteration performance differs. Deletion is really slower because Perst uses separate indices and requires more operations. I don't know whether this can be tweaked, if test author will have a time - he will change a test. Other than deletion performance, everything else looks comparable to me. And I don't know what it might be with Perst tweak. So again - that is just a show that managed DB isn't something that must be much slower (but really Perst/SQLite so different that we mostly measured different architectures). - Best Regards. Max Kosenko. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p2477.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#
Dan Kennedy-4 wrote: > Are you by any chance the author of the report I'm reading? I'm not an author of test or McObject staff/representative at all. But I can give a link to this forum to author (still insisting that this is offtopic here) to answer himself. - Best Regards. Max Kosenko. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24786874.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 Aug 3, 2009, at 2:06 PM, Kosenko Max wrote: > > > Dan Kennedy-4 wrote: >> McObject CEO Steve Graves points out that because of limits of the >> API >> they were using, SQLite performs each INSERT and DELETE in the test >> in a >> separate transaction. So the reported times for these tests may be >> more of >> a measure of the speed of the media than SQLite itself. >> >> The body of the report shows that SQLite scans (iterates through) >> rows >> more quickly than Perst does (about 1.5 times faster). But Perst >> can look >> up individual objects more quickly (about 6 times faster). The >> comments >> in the report indicate that SQLite was not using pre-compiled SQL or >> read-only transactions for the object-lookup test, so that gap could >> probably be closed some by better use of the SQLite API. Perhaps more >> importantly though, Perst is an Object DB, so it is caching the >> actual >> objects in-memory, whereas SQLite is only caching database pages. I >> haven't much experience with them, but I think Object DBs are usually >> faster for this kind of task. YMMV. > > While this is offtopic, I just want to comment that there could be a > problems with any tests around, so you can propose changes to test > code if > you feel it could be done better. I have no issue with the content of the report or formulation of the tests. I think the folks at McObject have done a good job of testing the two systems and shown real integrity by explaining the results. Most commercial operations are much less forthcoming. > Read-only transaction and skipping single preparation wouldn't speed- > up > SQLite in that test. Earlier I just quoted the conclusions of the McObject report. Maybe I misunderstood. But now that I have read the benchmark code, I'm curious. Why is the SQL not being recompiled for each query? Is there some kind of compiled query cache hiding behind the [db.query()] call in Android? Why would it not help to use a read-only transaction? Is SQLite using exclusive-locking mode? In the tests I've been working on today I've found that read-only transactions speed up SQLite considerably for this kind of workload, even when using exclusive-locking mode. Are you by any chance the author of the report I'm reading? Dan. ___ 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#
Dan Kennedy-4 wrote: > McObject CEO Steve Graves points out that because of limits of the API > they were using, SQLite performs each INSERT and DELETE in the test in a > separate transaction. So the reported times for these tests may be more of > a measure of the speed of the media than SQLite itself. > > The body of the report shows that SQLite scans (iterates through) rows > more quickly than Perst does (about 1.5 times faster). But Perst can look > up individual objects more quickly (about 6 times faster). The comments > in the report indicate that SQLite was not using pre-compiled SQL or > read-only transactions for the object-lookup test, so that gap could > probably be closed some by better use of the SQLite API. Perhaps more > importantly though, Perst is an Object DB, so it is caching the actual > objects in-memory, whereas SQLite is only caching database pages. I > haven't much experience with them, but I think Object DBs are usually > faster for this kind of task. YMMV. While this is offtopic, I just want to comment that there could be a problems with any tests around, so you can propose changes to test code if you feel it could be done better. Test isn't using recreation of commands with each selects. Same it's not using any advantages given by Object DB nature (which is only complimentary part of Perst). In reality it was even strange to see such difference on select performance (even for author). Read-only transaction and skipping single preparation wouldn't speed-up SQLite in that test. But it's very possible it can be tweaked more or at least optimized inside. I'm not insisting that Perst DB is better (it doesn't have such open license - it's GPL/commercial license and it's not full-size SQL capable at least), that was just a sample to show that it's a mistake to think that pure managed DBs always slower. - Best Regards. Max Kosenko. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24786305.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 Aug 2, 2009, at 6:25 PM, Kosenko Max wrote: > > 9/30054 means 99.97% tests are working. > That's a great achievement anyway. > Performance problems can be profiled and optimized simpler than with > native > version. > > That isn't a nature of managed code to be slow. i.e. Perst DB which is > managed from scratch is same speed or faster than SQLite (especially > on > embedded platforms). That's not because of C#, but because of > different > architecture, but still it shows that there are plenty of room. So > don't > froze this project please - there is a high demand on it exist. This was the conclusion of McObject's (the maker of Perst) investigation. See here: http://www.mcobject.com/march9/2009 McObject CEO Steve Graves points out that because of limits of the API they were using, SQLite performs each INSERT and DELETE in the test in a separate transaction. So the reported times for these tests may be more of a measure of the speed of the media than SQLite itself. The body of the report shows that SQLite scans (iterates through) rows more quickly than Perst does (about 1.5 times faster). But Perst can look up individual objects more quickly (about 6 times faster). The comments in the report indicate that SQLite was not using pre-compiled SQL or read-only transactions for the object-lookup test, so that gap could probably be closed some by better use of the SQLite API. Perhaps more importantly though, Perst is an Object DB, so it is caching the actual objects in-memory, whereas SQLite is only caching database pages. I haven't much experience with them, but I think Object DBs are usually faster for this kind of task. YMMV. Dan. ___ 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#
Hi Noah, A name suggestion: "SharpLightSQL" - SLSQL or just SLS. Sunday, August 2, 2009, 10:57:56 PM, you wrote: NH> Richard sent me a gentle reminder that read in part: NH> NH> Please also note that the SQLite source code is in the public domain, but NH> the "SQLite" name is not. SQLite is a registered trade mark. If I don't NH> defend the trademark, then I could lose it. So, I really do need to insist NH> that you not use the name "SQLite" for your product. NH> NH> This is an excellent reminder, and until this is done, I've removed access NH> to the source code and will terminate this google code project. I'll post NH> an announcement in the future when the new project is ready. NH> Also, if anyone has an ideal about what to call it ... NH> Regards, --- Best regards, Neville Franks, http://www.surfulater.com http://blog.surfulater.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#
P Kishor wrote: > On Sun, Aug 2, 2009 at 7:57 AM, Noah Hart wrote: >> Richard sent me a gentle reminder that read in part: >> >> >> Please also note that the SQLite source code is in the public domain, but >> the "SQLite" name is not. SQLite is a registered trade mark. If I don't >> defend the trademark, then I could lose it. So, I really do need to insist >> that you not use the name "SQLite" for your product. >> >> >> This is an excellent reminder, and until this is done, I've removed access >> to the source code and will terminate this google code project. I'll post >> an announcement in the future when the new project is ready. That's great. > A very valid point from DRH re. protecting the sanctity of SQLite, the > (tm), but the horse may have already left the stable. A quick search > on macupdate.com reveals the following products with ‘SQLite’ in their > name (with the indicated capitalization) -- > > MesaSQLite > SQLite Migrator > SQLite Diff > SQLiteManager X > > and > > SqliteQuery > > I am sure there are more on Win and *nix platforms. Even if other projects exist, they can also still be requested to change their names too if DRH considers there might be confusion in people as to whether they are official works of DRH. Or barring that, the other projects can be asked to prominently state anywhere one may encounter them that they are not official works of DRH nor (if true) sanctioned by DRH. > One question might be -- if one chooses a name that does not have > ‘SQLite’ or any variations thereof in it (from what I can see, Noah > called the product ‘sqlitecs’), then how does one indicate that the > product is built on or inspired by SQLite? Use the *description* text of the product to indicate its relation to SQLite. > Also, is SQLite > trademarked, or sqlite or both? Trademark word-marks are case-insensitive (and usually are formally written fully in uppercase), so the answer is "all of the above". > I thought Tito Ciuro’s now-in-limbo QuickLite was very cleverly named, > but it is generally gonna be difficult to avoid mention of SQLite in > the name. Its very easy. Just make up some word that *doesn't* resemble "SQLite" (aside, if you want, the "SQL" part) and use the description to indicate similarity. >> Also, if anyone has an ideal about what to call it ... >> Regards, >> >> Noah Hart I suggest just putting together some combination of letters that hasn't been used yet and reads nicely, and use that. It doesn't have to be descriptive, just unique and brandable. Make your own brand identity and just document the relationship to SQLite for credit purposes. Searches for SQLite would still turn up yours due to the documentation. That's what I did when I made up the word MULDIS (MULtiverse of DIScourse) for my DBMS project, and it's one of the best strategic decisions I've made. Something else I did, and maybe DRH can do something similar if he hasn't already, is write up an easy to find policy page about the best ways to use or not use the word SQLITE (any capitalization) so to work with his trademark. See http://www.muldis.com/trademark_policy.html for my full version for example, and http://search.cpan.org/dist/Muldis-D/lib/Muldis/D.pm#TRADEMARK_POLICY for an example abbreviated version accompanying a branded product. -- Darren Duncan ___ 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#
John Stanton-3 wrote: > > Maybe the author could explain the reason for C# translation. Surely a > better approach if the JIT is required would be to use something like > gcc and change the code generator to the C# metacode. Such a product > may already exist. > > A translated program is rev locked. He has already answered that this was done for educational purposes. I don't believe there is an easy way exists with changing code generator, but automatic translation of some parts can be very helpful. Meanwhile - what is already done can be kept on par with native version updates by checking commits and making similar changes. - Best Regards. Max Kosenko. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24783123.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#
Maybe the author could explain the reason for C# translation. Surely a better approach if the JIT is required would be to use something like gcc and change the code generator to the C# metacode. Such a product may already exist. A translated program is rev locked. Kosenko Max wrote: > Seems like I've missed something... > > Well, if there would be a team dedicated to supporting managed > implementation of SQLite which can be at any time quickly updated to reflect > all changes of SQLite native - anyone can always transfer such requests to > that team. Same happens i.e. with SQLite.NET which might look like managed > implementation of SQLite, but it's just embedding native part in .NET DLL > which in turn implements full scale ADO.NET support. > > Isn't SQLite project in general will benefit from having line by line > (except critical paths requiring another implementation) managed version of > product? It looks for me like a contribution and not as a headache. > > I can say that my inspection shows that this is pure managed C# with just 10 > P/Invokes those can be easily eliminated. Some inefficiencies exists and > they also could be removed later. Silverlight, Moonlight, Mono can benefit > from managed SQLite. But I think that managed version can also give an > ability to be more flexible in some tryouts of further improvement and > optimization of SQLite itself. > > Max > > Tim Anderson-2 wrote: >>> I don't know why he insists on that (he actually can answer for himself >>> here) while there are a lot of SQLite based projects with that name >>> usage. >> Well, he's already answered it: he doesn't want to get support requests >> for the port. >> >> I think I'm right in saying that most of the SQLite-named projects out >> there are wrappers rather than ports, albeit some of them link the code >> into their own executables. Are there any ports to other languages called >> SQLite? >> >> It may also be a kind of compliment - that he thinks the port could prove >> popular. If it is pure C# with no interop, I agree - would be very useful >> for Silverlight, for example. >> >> Tim >> > > > - > Best Regards. > Max Kosenko. ___ 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#
Noah Hart wrote: > The license is the same as SQLite, I'm waiting on google to change the > project to PD since that is not one of the canned choices. Thank you very much. Can't disagree with Miguel that this is "A godsend gift to developers". Keep us informed about name change (in case Dr. won't change his mind ;). - Best Regards. Max Kosenko. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24782845.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#
And in the Window's there are ... For example: System.Data.SQLite An open source ADO.NET provider for the SQLite database engine http://sqlite.phxsoftware.com/ http://code.google.com/p/sqlite-ng/ sqlite-ng A fork of SQLite with more community involvement SQLite-ng is a fork of SQLite with the goal of providing 100% API and ABI compatibility. sqlite3pp SQLite3++ - C++ wrapper of SQLite3 API It makes SQLite3 API more friendly to C++ users. It supports almost all of SQLite3 features using C++ classes such as database, command, query, and transaction. The query class supports iterator concept for fetching records. sqlitevb SQLiteVB: public functions modified to attend VB standards of compatibility Noah On Sun, Aug 2, 2009 at 7:57 AM, Noah Hart wrote: > > Richard sent me a gentle reminder that read in part: > > > Please also note that the SQLite source code is in the public domain, but > the "SQLite" name is not. SQLite is a registered trade mark. If I don't > defend the trademark, then I could lose it. So, I really do need to > insist > that you not use the name "SQLite" for your product. > > > > This is an excellent reminder, and until this is done, I've removed access > to the source code and will terminate this google code project. I'll post > an announcement in the future when the new project is ready. A very valid point from DRH re. protecting the sanctity of SQLite, the (tm), but the horse may have already left the stable. A quick search on macupdate.com reveals the following products with ‘SQLite’ in their name (with the indicated capitalization) -- -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24782171.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 license is the same as SQLite, I'm waiting on google to change the project to PD since that is not one of the canned choices. Noah It's a pity news. I hoped Dr. can think about even somehow supporting your project. I don't know why he insists on that (he actually can answer for himself here) while there are a lot of SQLite based projects with that name usage. May be that's because of your license? Max. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24782158.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#
Thanks Jim ! -- kjh Jim Showalter wrote: > Yes, C# supports native calls. You just call pinvoke. > > But a pure C# implementation allows it to run in Silverlight and other > C# applications where native calls are not allowed. > > http://sqlite.phxsoftware.com/forums/t/1642.aspx > > - Original Message - From: "Konrad J Hambrick" > To: "General Discussion of SQLite Database" > Sent: Sunday, August 02, 2009 12:19 PM > Subject: Re: [sqlite] ANN: SQLite 3.6.16.C# > > >> >> Noah -- >> >> This is a wonderful accomplishment ! >> >> However, I have a question ... >> >> Doesn't C# support native function calls ? >> >> If so, other than scratching an itch, what does a native port to C# do ? >> >> Thanks. >> >> -- kjh >> >> Noah Hart wrote: >>> Richard sent me a gentle reminder that read in part: >>> >>> >>> Please also note that the SQLite source code is in the public domain, >>> but >>> the "SQLite" name is not. SQLite is a registered trade mark. If I >>> don't >>> defend the trademark, then I could lose it. So, I really do need to >>> insist >>> that you not use the name "SQLite" for your product. >>> >>> >>> >>> This is an excellent reminder, and until this is done, I've removed >>> access >>> to the source code and will terminate this google code project. I'll >>> post >>> an announcement in the future when the new project is ready. >>> >>> Also, if anyone has an ideal about what to call it ... >>> Regards, >>> >>> Noah Hart >>> >>> >>> >>> 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 >>>> >>> >> ___ >> 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#
Yes, C# supports native calls. You just call pinvoke. But a pure C# implementation allows it to run in Silverlight and other C# applications where native calls are not allowed. http://sqlite.phxsoftware.com/forums/t/1642.aspx - Original Message - From: "Konrad J Hambrick" To: "General Discussion of SQLite Database" Sent: Sunday, August 02, 2009 12:19 PM Subject: Re: [sqlite] ANN: SQLite 3.6.16.C# > > Noah -- > > This is a wonderful accomplishment ! > > However, I have a question ... > > Doesn't C# support native function calls ? > > If so, other than scratching an itch, what does a native port to C# > do ? > > Thanks. > > -- kjh > > Noah Hart wrote: >> Richard sent me a gentle reminder that read in part: >> >> >> Please also note that the SQLite source code is in the public >> domain, but >> the "SQLite" name is not. SQLite is a registered trade mark. If I >> don't >> defend the trademark, then I could lose it. So, I really do need >> to insist >> that you not use the name "SQLite" for your product. >> >> >> >> This is an excellent reminder, and until this is done, I've removed >> access >> to the source code and will terminate this google code project. >> I'll post >> an announcement in the future when the new project is ready. >> >> Also, if anyone has an ideal about what to call it ... >> Regards, >> >> Noah Hart >> >> >> >> 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 >>> >> > ___ > 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#
Noah -- This is a wonderful accomplishment ! However, I have a question ... Doesn't C# support native function calls ? If so, other than scratching an itch, what does a native port to C# do ? Thanks. -- kjh Noah Hart wrote: > Richard sent me a gentle reminder that read in part: > > > Please also note that the SQLite source code is in the public domain, but > the "SQLite" name is not. SQLite is a registered trade mark. If I don't > defend the trademark, then I could lose it. So, I really do need to insist > that you not use the name "SQLite" for your product. > > > > This is an excellent reminder, and until this is done, I've removed access > to the source code and will terminate this google code project. I'll post > an announcement in the future when the new project is ready. > > Also, if anyone has an ideal about what to call it ... > Regards, > > Noah Hart > > > > 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 >> > ___ 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 missed something... Well, if there would be a team dedicated to supporting managed implementation of SQLite which can be at any time quickly updated to reflect all changes of SQLite native - anyone can always transfer such requests to that team. Same happens i.e. with SQLite.NET which might look like managed implementation of SQLite, but it's just embedding native part in .NET DLL which in turn implements full scale ADO.NET support. Isn't SQLite project in general will benefit from having line by line (except critical paths requiring another implementation) managed version of product? It looks for me like a contribution and not as a headache. I can say that my inspection shows that this is pure managed C# with just 10 P/Invokes those can be easily eliminated. Some inefficiencies exists and they also could be removed later. Silverlight, Moonlight, Mono can benefit from managed SQLite. But I think that managed version can also give an ability to be more flexible in some tryouts of further improvement and optimization of SQLite itself. Max Tim Anderson-2 wrote: > >> I don't know why he insists on that (he actually can answer for himself >> here) while there are a lot of SQLite based projects with that name >> usage. > > Well, he's already answered it: he doesn't want to get support requests > for the port. > > I think I'm right in saying that most of the SQLite-named projects out > there are wrappers rather than ports, albeit some of them link the code > into their own executables. Are there any ports to other languages called > SQLite? > > It may also be a kind of compliment - that he thinks the port could prove > popular. If it is pure C# with no interop, I agree - would be very useful > for Silverlight, for example. > > Tim > - Best Regards. Max Kosenko. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24781026.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#
> -Original Message- > From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users- > boun...@sqlite.org] On Behalf Of Kosenko Max > Sent: 02 August 2009 19:40 > To: sqlite-users@sqlite.org > Subject: Re: [sqlite] ANN: SQLite 3.6.16.C# > I don't know why he insists on that (he actually can answer for himself > here) while there are a lot of SQLite based projects with that name > usage. Well, he's already answered it: he doesn't want to get support requests for the port. I think I'm right in saying that most of the SQLite-named projects out there are wrappers rather than ports, albeit some of them link the code into their own executables. Are there any ports to other languages called SQLite? It may also be a kind of compliment - that he thinks the port could prove popular. If it is pure C# with no interop, I agree - would be very useful for Silverlight, for example. Tim ___ 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's point is that JITs automatically compile down to native code, thus a screwdriver is turned into a monkey wrench, therefore you only need the screwdriver. There are other reasons besides native vs. VM why C#/Java would be slower than C. For example, C doesn't have the overhead of virtual dispatch. And JIT'ing value-type generics in C# can bloat the code. I *like* managed languages--arguing against having the runtime take care of memory allocation reminds me of programmers arguing 40 years ago that hand-written assembly was superior to high-level compilers. That may have been true initially, and may still be true for specialized cases (video drivers?), but in general it's poppycock. - Original Message - From: "Fred Williams" To: "General Discussion of SQLite Database" Sent: Sunday, August 02, 2009 11:23 AM Subject: Re: [sqlite] ANN: SQLite 3.6.16.C# >I have at least a screwdriver and monkey wrench to go with my hammer >in my > computer software tool bag. Observing the fastener at hand allows > me to > pick the proper tool. Then if that doesn't work, there's always the > hammer. > > -Original Message- > From: sqlite-users-boun...@sqlite.org > [mailto:sqlite-users-boun...@sqlite.org]on Behalf Of Kosenko Max > Sent: Sunday, August 02, 2009 6:32 AM > To: sqlite-users@sqlite.org > Subject: Re: [sqlite] ANN: SQLite 3.6.16.C# > > > > I don't know why you have decided that C# or Java isn't competitive > to > native > compiled code. > After JIT there is no VM between Java/.NET and OS. > > While C has better compiler than C# it still don't have JIT engine > that can > optimize your code for specific hardware you're running on right > now. Or it > can recompile code based on statistics. Options unavailable to > native code. > And after all having managed implementation gives better control on > code, > simpler code and so on. So in reality there should be strong reason > for NOT > using managed implementations for whatever. But it's only rising > now... > > > Jim Showalter-4 wrote: >> >> 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 >> >> > > > - > Best Regards. > Max Kosenko. > -- > View this message in context: > http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24777007.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#
It's a pity news. I hoped Dr. can think about even somehow supporting your project. I don't know why he insists on that (he actually can answer for himself here) while there are a lot of SQLite based projects with that name usage. May be that's because of your license? Max. Noah Hart wrote: > > Richard sent me a gentle reminder that read in part: > > > Please also note that the SQLite source code is in the public domain, but > the "SQLite" name is not. SQLite is a registered trade mark. If I don't > defend the trademark, then I could lose it. So, I really do need to > insist that you not use the name "SQLite" for your product. > > > > This is an excellent reminder, and until this is done, I've removed access > to the source code and will terminate this google code project. I'll post > an announcement in the future when the new project is ready. > > Also, if anyone has an ideal about what to call it ... > - Best Regards. Max Kosenko. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24780720.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#
Thank you for your understanding. And best of luck with XXLite? I know you have a large captive audience out there. It is the only reason I swallow my pride and admit knowledge of the most pervasive OS currently on the planet. Not the "best" technically, but best "marketed." Fred -Original Message- From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users-boun...@sqlite.org]on Behalf Of Noah Hart Sent: Sunday, August 02, 2009 7:58 AM To: sqlite-users@sqlite.org Subject: Re: [sqlite] ANN: SQLite 3.6.16.C# Richard sent me a gentle reminder that read in part: Please also note that the SQLite source code is in the public domain, but the "SQLite" name is not. SQLite is a registered trade mark. If I don't defend the trademark, then I could lose it. So, I really do need to insist that you not use the name "SQLite" for your product. This is an excellent reminder, and until this is done, I've removed access to the source code and will terminate this google code project. I'll post an announcement in the future when the new project is ready. Also, if anyone has an ideal about what to call it ... Regards, Noah Hart 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--tp24764742p24777619.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#
I have at least a screwdriver and monkey wrench to go with my hammer in my computer software tool bag. Observing the fastener at hand allows me to pick the proper tool. Then if that doesn't work, there's always the hammer. -Original Message- From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users-boun...@sqlite.org]on Behalf Of Kosenko Max Sent: Sunday, August 02, 2009 6:32 AM To: sqlite-users@sqlite.org Subject: Re: [sqlite] ANN: SQLite 3.6.16.C# I don't know why you have decided that C# or Java isn't competitive to native compiled code. After JIT there is no VM between Java/.NET and OS. While C has better compiler than C# it still don't have JIT engine that can optimize your code for specific hardware you're running on right now. Or it can recompile code based on statistics. Options unavailable to native code. And after all having managed implementation gives better control on code, simpler code and so on. So in reality there should be strong reason for NOT using managed implementations for whatever. But it's only rising now... Jim Showalter-4 wrote: > > 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 > > - Best Regards. Max Kosenko. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24777007.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 Sun, Aug 2, 2009 at 7:57 AM, Noah Hart wrote: > > Richard sent me a gentle reminder that read in part: > > > Please also note that the SQLite source code is in the public domain, but > the "SQLite" name is not. SQLite is a registered trade mark. If I don't > defend the trademark, then I could lose it. So, I really do need to insist > that you not use the name "SQLite" for your product. > > > > This is an excellent reminder, and until this is done, I've removed access > to the source code and will terminate this google code project. I'll post > an announcement in the future when the new project is ready. A very valid point from DRH re. protecting the sanctity of SQLite, the (tm), but the horse may have already left the stable. A quick search on macupdate.com reveals the following products with ‘SQLite’ in their name (with the indicated capitalization) -- MesaSQLite SQLite Migrator SQLite Diff SQLiteManager X and SqliteQuery I am sure there are more on Win and *nix platforms. One question might be -- if one chooses a name that does not have ‘SQLite’ or any variations thereof in it (from what I can see, Noah called the product ‘sqlitecs’), then how does one indicate that the product is built on or inspired by SQLite? Also, is SQLite trademarked, or sqlite or both? I thought Tito Ciuro’s now-in-limbo QuickLite was very cleverly named, but it is generally gonna be difficult to avoid mention of SQLite in the name. > > Also, if anyone has an ideal about what to call it ... > Regards, > > Noah Hart > > > > 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 >> > -- Puneet Kishor http://www.punkish.org Carbon Model http://carbonmodel.org Charter Member, Open Source Geospatial Foundation http://www.osgeo.org Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor Nelson Institute, UW-Madison http://www.nelson.wisc.edu --- Assertions are politics; backing up assertions with evidence is science === Sent from Madison, WI, United States ___ 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#
What about SqlSharp? Tim > -Original Message- > From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users- > boun...@sqlite.org] On Behalf Of Noah Hart > Sent: 02 August 2009 13:58 > To: sqlite-users@sqlite.org > Subject: Re: [sqlite] ANN: SQLite 3.6.16.C# > > Also, if anyone has an ideal about what to call it ... ___ 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#
Richard sent me a gentle reminder that read in part: Please also note that the SQLite source code is in the public domain, but the "SQLite" name is not. SQLite is a registered trade mark. If I don't defend the trademark, then I could lose it. So, I really do need to insist that you not use the name "SQLite" for your product. This is an excellent reminder, and until this is done, I've removed access to the source code and will terminate this google code project. I'll post an announcement in the future when the new project is ready. Also, if anyone has an ideal about what to call it ... Regards, Noah Hart 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--tp24764742p24777619.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#
9/30054 means 99.97% tests are working. That's a great achievement anyway. Performance problems can be profiled and optimized simpler than with native version. That isn't a nature of managed code to be slow. i.e. Perst DB which is managed from scratch is same speed or faster than SQLite (especially on embedded platforms). That's not because of C#, but because of different architecture, but still it shows that there are plenty of room. So don't froze this project please - there is a high demand on it exist. Max Noah Hart wrote: > > 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 >>> >> > > - Best Regards. Max Kosenko. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24776975.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#
I don't know why you have decided that C# or Java isn't competitive to native compiled code. After JIT there is no VM between Java/.NET and OS. While C has better compiler than C# it still don't have JIT engine that can optimize your code for specific hardware you're running on right now. Or it can recompile code based on statistics. Options unavailable to native code. And after all having managed implementation gives better control on code, simpler code and so on. So in reality there should be strong reason for NOT using managed implementations for whatever. But it's only rising now... Jim Showalter-4 wrote: > > 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 > > - Best Regards. Max Kosenko. -- View this message in context: http://www.nabble.com/ANN%3A--SQLite-3.6.16.C--tp24764742p24777007.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#
* Noah Hart: > I am pleased to announce that the C# port is done to the point where others > can look at it. Congratulations! (Is there something similar for Java, not using JNI nor NestedVM? 8-) ___ 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 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 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#
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 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#
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 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#
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 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#
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
[sqlite] ANN: SQLite 3.6.16.C#
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--tp24764742p24764742.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