[英]Massive performance difference between sqlite amalgamation 3.7 and 3.16
我有一個MS Window可執行文件,用不受管的純文本“ C”編寫,該文件將GUI包裝器放在嵌入式數據庫引擎(SQLite)周圍。 合並包3.7.14.1提供了SQLite功能,特別是2個文件sqlite3.h和sqlite3.c對“開箱即用”文件的唯一更改是添加以下行:#define SQLITE_ENABLE_COLUMN_METADATA 1
都是使用Visual Studio 2008在Win 7(64bit)系統上編譯的,但是我將其編譯為32位應用程序。
我已經將文件sqlite3.h和sqlite3.c換成了合並包3.15.2中的文件,唯一的變化是添加以下行:#define SQLITE_ENABLE_COLUMN_METADATA 1
我沒有對項目配置進行任何更改。 我只交換2個文件!
我有一個復雜的腳本,該腳本將一個大約600 MB的大數據庫加載到內存中,然后執行很多SELECTS並將結果傳輸到Excel(使用GUI包裝器中的功能)。
我的問題。 使用合並包3.7.14.1的版本的性能比合並包3.15.2 快一百倍。 我正在使用完全相同的“腳本”。
我嘗試了合並軟件包3.16,這並沒有更好。 我可以看到性能損失在SQL引擎中(通過在進入和離開SQL機器時顯示彈出窗口。就我的GUI包裝器,Visual Studio配置,項目配置而言,所有內容都是相同的。我認為性能是相同的)問題在於合並包中的某些編譯器開關。
有誰知道我應該去哪里看?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.