以适当的方式为Windows构建sqlite
发布时间:2020-12-14 02:21:59 所属栏目:Windows 来源:网络整理
导读:我的问题是无论我如何构建sqlite – 我的二进制文件比它慢得多 在sqlite下载页面上预编译的一个(大约3-6次取决于 查询). 我正在使用来自合并源的sqlite3.h和sqlite3.c: http://www.sqlite.org/sqlite-amalgamation-3070602.zip 我在编译sqlite时添加了以下
我的问题是无论我如何构建sqlite – 我的二进制文件比它慢得多
在sqlite下载页面上预编译的一个(大约3-6次取决于 查询). 我正在使用来自合并源的sqlite3.h和sqlite3.c: http://www.sqlite.org/sqlite-amalgamation-3070602.zip 我在编译sqlite时添加了以下标志: gcc -s -O4 -I. -fomit-frame-pointer -DNDEBUG -DSQLITE_OS_WIN=1 -DSQLITE_HAVE_READLINE=0 -DSQLITE_THREADSAFE=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_FTS3 -DSQLITE_OMIT_COMPILEOPTION_DIAGS -DSQLITE_ENABLE_COLUMN_METADATA -DNO_TCL 我使用MINGW和MSVS 2010构建了它. 有没有人知道如何构建sqlite以获得与之相同的二进制文件 任何帮助,将不胜感激. 解决方法
按照
SQLite wiki : How to compile上的指南进行操作,检查Make传递给编译器的参数是什么.我的第一个嫌疑人是-O4,因为GCC理解的最高级别是-O3,甚至这通常比-O2或-Os更差(因为小尺寸==没有CPU缓存未命中,-O3非常臃肿二进制).
虽然我可以看到方法不同:Build On Windows Without Tcl使用-O2,但是#931票使用该死的-O4“Gentoo Ricer Mode”.无论哪种方式,如果没有指定目标体系结构,那些优化开关并不值得:try -march = core2或-march = native用于自动检测,但请记住,此类代码不适用于早期的CPU. -march = nocona可以处理比Pentium 4更新的任何东西,并且仍然为编译器提供了很多有用优化的空间. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读