On Sat, 9 Apr 2005, Al Danial wrote:

>On Apr 9, 2005 12:43 AM, Andy Lutomirski <[EMAIL PROTECTED]> wrote:
>> Al Danial wrote:
>> > The attached C program measures insert performance for populating
>> > a table with an integer and three random floating point values with
>> > user defined transaction size.  Usage is:
>> >
>> >     ./sqlite_insert  <number of rows>   <transaction size>
>>
>> All of these are on Gentoo, Athlon 64 3200+, running 64 bit.
>>
>> Writing to /tmp, which is ext3 (acl,user_xattr,usrquota) over RAID0 (two
>> slave drives on different channels):
>>
>> $ ./sqlitetest 100000 50000
>>   100000 inserts to /tmp/a.db in 0.531 s = 188446.34 inserts/s
>> $ ./sqlitetest 2000000 50000
>>   2000000 inserts to /tmp/a.db in 11.546 s = 173223.61 inserts/s
>
>That's impressive.  Clearly a well-implemented RAID0 configuration
>and fast disks make a huge difference.  This will be the direction I'll
>take.


My machine, 2x Athlon XP 1700+, 512MB RAM, U160 SCSI (3x10K disks):
[EMAIL PROTECTED] tmp]$ ./sqlite_insert 100000 50000
 100000 inserts to ./a.db in 2.495 s = 40081.96 inserts/s
[EMAIL PROTECTED] tmp]$ ./sqlite_insert 2000000 50000
 2000000 inserts to ./a.db in 47.068 s = 42491.71 inserts/s

While I have a big fat SCSI IO system, vmstat during the run shows only
shows about 2MB/s ever going to the HD, well within the capabilities of
any SCSI or IDE HD (Laptop even!)
[EMAIL PROTECTED] csmith]$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 3  0  93296 116156  30424 229604    0    0     9    14   62    31 96  3  1  0
 3  0  93296 114308  30484 231548    0    0     0  2167  333  1194 99  1  0  0
 7  0  93296 112488  30512 233488    0    0     0  2064  320  1092 99  1  0  0
 4  0  93296 110716  30540 235432    0    0     0  2072  314  1060 99  1  0  0
 4  0  93296 108844  30568 237504    0    0   128  2068  319  1069 99  1  0  0
 4  0  93296 107380  30596 239444    0    0     0  2076  383  1252 98  2  0  0
 2  2  93296 103352  30640 241392    0    0     0  2101  321  1111 96  4  0  0



>
>Thanks to everyone who posted performance numbers and machine
>setup info.  Some results were counterintuitive (I'd have guessed
>SCSI drives would come out on top) but many variables are at work
>so I won't try to draw too many conclusions.


The test given is clearly CPU bound. All the big numbers are from people
with big CPUs, with equally big RAM performance as well, probably.


>Also thanks to the suggestions to study the pragma's.  I did try
>SYNCHRONOUS=off but that didn't seem to have an effect; I'll
>study the docs to make sure I've got it right.             -- Al


For CPU bound work, it won't. You appear to be maxing out what the CPU and
memory subsystem can handle. Tweaking IO will not help. Using ":memory:"
gave about a 10% speedup, so that looks like the maximum amount of speedup
you could possibly hope for.


Christian


-- 
    /"\
    \ /    ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
     X                           - AGAINST MS ATTACHMENTS
    / \

Reply via email to