Relabling to provide focus on this thread the KVM/FreeBSD specific 
issues - I'll deal with that the main thread.

So, if I could put forward to you a few suggestions.

   1) Review the existing tests (which you have done somewhat already)
   2) Define a clear and relevant intent for benchmarking SQLite
   3) Work with Michael (from Phoronix) and myself to codify this intent 
  into a set of test cases and test suites

I'll let this fork of the thread settle for a bit before taking it off list.

Regards,

Matthew


-------- Original Message  --------
Subject: Re: [sqlite] SQLite behaviour on FreeBSD and KVM
From: Simon Slavin <slav...@hearsay.demon.co.uk>
To: General Discussion of SQLite Database <sqlite-users@sqlite.org>
Date: 09/29/2009 08:40 PM

> On 29 Sep 2009, at 10:29pm, Matthew Tippett wrote:
> 
>> If there is anyone who is interested in assisting in improving the
>> quality/value/functional interest of the benchmarks, then please
>> advise.
> 
> In SQLite, when you know you are making many changes and don't need to  
> consult the data until you're finished, you surround the changes with  
> BEGIN TRANSACTION and END TRANSACTION.  This makes them into one big  
> update rather than lots of little ones, and it means that disk gets  
> updated just once (handwave here) rather than after each command.   
> Naturally, this is hugely faster.  No way should 2500 inserts in  
> SQLite take 14 minutes.
> 
> So much faster that, as Pavel noted upthread, it's suspiciously like  
> what you're seeing in the result for KVM.  This suggests that KVM is  
> not really writing results to disk immediately.  Putting those INSERTs  
> into one transaction could make Ubuntu 9.10 (not KVM) as fast or  
> faster than the result you're getting for KVM.  Sorry, I have no Linux  
> to test it on.
> 
> You could modify the sqlite test to reflect this.  You could perhaps  
> turn sqlite-2500-insertions.txt into 50 transactions, with BEGIN  
> TRANSACTION and END TRANSACTION around each 50 INSERT commands.  Or  
> you could have two tests: make two copies of sqlite-2500- 
> insertions.txt, leave one as it is and put BEGIN TRANSACTION and END  
> TRANSACTION at the beginning and end of the other.  This would test  
> both 2500 individual INSERT commands and one transaction of 2500  
> INSERTs, testing SQLite as both kinds of application would need to use  
> it.
> 
> I know nothing about KVM but I assume that it's operating correctly  
> here: since the entire machine is virtualised it doesn't matter that  
> it's not really writing to real disk.
> 
> Simon.
> _______________________________________________
> 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

Reply via email to