Hi Dan,

I run your TCL script and I can confirm that I am seeing values extremely different, in my machine, the same that I used for the previous test, I got a rather stable 240k insert per second.

In my understanding my code is not doing anything different.

The only difference is the presence of another layer (Redis), however this should not give us such decrease of performance (it is going more than 100x slower), nor it should show such degradation function of the row count.

What I am doing in the module is simply to:

1. Retrieve the connection object inside Redis
2. Parse the SQL statement (sqlite3_prepare_v2)
3. Execute the parsed statement
4. Return an "OK" to the client

Of course with all the error check in the middle.

I do not see why, it should go SO slower, I can understand a little slower, but this is too much.

I don't think it is SQLite faults, however if you see something that I am clearly doing wrong I do appreciate any help.

Best,

Simone


On 06/01/2017 13:00, sqlite-users-requ...@mailinglists.sqlite.org wrote:
Can you describe the performance test you are running?

If I create a table in an in-memory database with:

    CREATE TABLE test (a INT, b INT, c INT);

Then run this:

    INSERT INTO test VALUES(random(), random(), random())

10,000,000 times, I get a fairly stable 330,000 inserts per second or
so. Tcl code to do this below. What is your test doing differently?

Dan.


########## START TCL CODE
     package require sqlite3

     sqlite3 db :memory:
     db eval { CREATE TABLE test (a INT, b INT, c INT); }

     proc insert_n_rows {n} {
       for {set i 0} {$i<$n} {incr i} {
         db eval { INSERT INTO test VALUES(random(), random(), random()) }
       }
     }

     set nStep 100000

     for {set i 0} {$i < 100} {incr i} {
       set us [lindex [time { insert_n_rows $nStep }] 0]
       puts "[expr $i*$nStep] [format %.2f [expr (1000000.0 * $nStep) /
$us]]/sec"
     }
########## END TCL CODE

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to