2011-04-18 23 views
6

Sorunum, sqlite'yi nasıl oluşturursam sorun değil - ikili dosyam, sqlite indirme sayfasında önceden derlenmiş olan 'dan daha yavaştır ( sorguya bağlı olarak yaklaşık 3 - 6 kez). sqlite derleme yaparken aşağıdaki bayrakları eklemişUygun bir şekilde pencereler için sqlite oluşturma

http://www.sqlite.org/sqlite-amalgamation-3070602.zip

:

Ben birleşmesi kaynağından sqlite3.h ve sqlite3.c kullanıyorum

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 

Ben bunu hem inşa MINGW ve MSVS 2010 ile

ile aynı ikili almak için sqlite nasıl inşa edeceğini bilen biri var mıindirme sayfası?

Herhangi bir yardım için teşekkür ederiz.

+0

Ama neden istiyorsun? Sadece indirin. – MAW74656

+0

@ MAW74656: Derleyicinin tüm kod tabanını optimize edebilmesini, bellek kullanımını optimize etmesini ya da bir DLL yüklemeniz gerekmediğini ve tüm bunların sonuçlarıyla başa çıkabilmenizi sağlamak için gömmek isteyebilirsiniz. Bir uygulamanın içine yerleştirmek çok faydalıdır. –

cevap

2

SQLite wiki : How to compile rehberini takip edin ve derleyiciye Make argümanlarının ne olduğunu kontrol edin. İlk şüpheliğim en yüksek seviye olan GCC'nin -O3 olduğu ve veya -Os'dan daha kötü olduğu için -O4 olacaktır (küçük boyut == hiçbir CPU önbelleği özlenmez ve -O3 gerçekten çok kötü bir şekilde şişirir). Build On Windows Without Tcl-O2 kullanır ama bilet #931 lanetlenmiş -O4 "Gentoo Ricer Modu" kullanır:

ben yaklaşımı görebilirsiniz rağmen

farklıdır. Her iki durumda da, bu optimizasyon anahtarları hedef mimariyi belirtmeden çok fazla değere sahip değildir: otomatik algılama için -march=core2 veya -march=native'u deneyin, ancak bu kodun daha önceki CPU'larda çalışmayacağını unutmayın. -march=nocona, Pentium 4'ten daha yeni bir şey üzerinde çalışacak ve yine de derleyiciye kullanışlı optimizasyonlar için çok fazla yer açacaktır.

+1

Windows için indirilebilir ikili dosyaları oluşturmak için hangi seçeneklerin kullanıldığı hakkında bir fikriniz var mı? –

İlgili konular