I have spend some time making simple Xojo project which do N inserts into
a) local SQLite db using our copy in V4RB
b) Valentina Sqlite Server
c) cubeSQL - Sqlite Server
I have made simplest Table T1 with 2 integer fields f1 and f2.
Loop is wrapped by transaction, providing best speed of inserts for SQLite.
And PrepareStatement was used also of course.
Idea of this bench is:
1) to see overhead of Server solutions over local sqlite engine
2) compare Valentina Server vs CubeSQL server. Compare exactly client-server-protocol overhead. For this we use small SQL commands, which should eat near to zero time from engine itself, so we can see overhead of server.
Results are for 100K records, for LOCALHOST servers:
1) LOCAL SQLite -- about 1 second.
2) Valentina Sqlite Server -- about 20 seconds.
3) cubeSQL Server -- about 70 seconds.
P.S. Valentina Server and cubeSQL both use WAL mode of SQLite engine, and shared cache mode.
P.S.2 Also I can add that both servers are installed with their default settings. There is no any special tuning.
P.S.3 You can see CODE of these loops for both servers in this thread on Xojo forum: