Sorry if I'm annoying you, but is there any way to have a fast SQLite
3.7.14.1 via DLL or at least to tell why it's that slow?

Imanuel


Am 18.10.2012 17:49, schrieb Imanuel:
> No, I can't - 26s vs 15s (old vs new).
> 
> But when I run the test in my Delphi test application, 3.7.14.1 takes
> 285 seconds (tested again right now).
> All the time, CPU usage is 25% (on a quad core).
> 
> 
> This is my test code:
> ----
> sqlite3_open('test.db', handle);
> t0:=now();
> sqlite3_exec(handle, PAnsiChar('CREATE INDEX idx_namen_name ON
> Namen(name)'), nil, nil, nil);
> showmessage(floattostr((now()-t0)*86400));
> sqlite3_close(handle);
> ----
> 
> The DLL is referenced in this unit:
> https://raw.github.com/plashenkov/SQLite3-Delphi-FPC/09d8674805c73d1ab0fa05832750cc0f727102f0/Source/SQLite3.pas
> 
> I simply have replaced the dll without changing the linking source code
> to test with 3.7.14.1 - I hope that's ok.
> 
> Imanuel
> 
> 
> 
> 
> Am 18.10.2012 16:49, schrieb Dan Kennedy:
>> On 10/18/2012 03:32 PM, Imanuel wrote:
>>> Ok, here it is (45mb):
>>> http://www.file-upload.net/download-6707980/CREATE_INDEX_test.7z.html
>>
>> On Linux here 3.6.22 takes around 61 seconds. Against 23 for a new
>> version. Are you able to reproduce the performance regression with
>> these two?
>>
>>   http://www.sqlite.org/sqlite-shell-win32-x86-3062200.zip
>>   http://www.sqlite.org/sqlite-shell-win32-x86-307140100.zip
>>
>> Dan.
>>
>>
>>
>>
>>
>>>
>>> Imanuel
>>>
>>>
>>> Am 18.10.2012 00:37, schrieb Imanuel:
>>>> No, the performance stays the same.
>>>> I have also tried using a big cache_size, but that didn't change
>>>> anything, too.
>>>>
>>>> Yes, I can share the database - it is currently uploading, I will mail
>>>> the link tomorrow.
>>>>
>>>> Imanuel
>>>>
>>>>
>>>> Am 17.10.2012 22:08, schrieb Dan Kennedy:
>>>>> On 10/18/2012 01:32 AM, Imanuel wrote:
>>>>>> Hello
>>>>>>
>>>>>> I tested this on an SSD with a database with one single table with
>>>>>> 5,553,534 entries:
>>>>>> CREATE TABLE Namen(id INTEGER PRIMARY KEY, geonameid INTEGER, lang
>>>>>> TEXT,
>>>>>> name TEXT, pref INTEGER DEFAULT 0, short INTEGER DEFAULT 0, coll
>>>>>> INTEGER
>>>>>> DEFAULT 0, historic INTEGER DEFAULT 0, sort INTEGER DEFAULT 7)
>>>>>>
>>>>>> When running this command:
>>>>>> CREATE INDEX idx_namen_name ON Namen(name)
>>>>>>
>>>>>> Version 3.6.22 (from here: http://indasoftware.com/sqlite/) takes 36
>>>>>> seconds, while 3.7.14.1 (as DLL, too) takes 279 seconds.
>>>>>> Indexing the column "geonameid" makes 24 vs. 312 seconds.
>>>>>> Neither of the both columns are presorted.
>>>>> If you set "PRAGMA temp_store = memory" in 3.7.14.1 is the
>>>>> performance the same as in 3.6.22?
>>>>>
>>>>> Are you able to share the database?
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>
> _______________________________________________
> 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