2009-05-19 10 views
7

बनाने के लिए किया गया था, मेरे प्रदर्शन परीक्षणों के दौरान मुझे आईफोन 3.0 पर प्रदान किए गए SQLite संस्करण को काफी तेज़ कर दिया गया है, तो मेरे स्वयं संकलित समामेलन SQLite संस्करण है। तो मेरा सवाल यह है कि क्या ऐप्पल का उपयोग करने वाले संकलन विकल्पों का पता लगाने का कोई तरीका है?यह पता लगाने के लिए कि किस संकलन विकल्प का उपयोग SQLite

क्या कोई परीक्षण ऐप है जो सभी डिफ़ॉल्ट सेट प्रागम्स और sqlite3_config सेटिंग को प्रिंट करता है?

उत्तर

1

ऐसा लगता है कि pragma सेटिंग में केवल विभिन्न तरह cache_size जो डिफ़ॉल्ट 2000 है है, लेकिन iPhone पर यह 500

कुछ सिस्टम पर यह संकलक इस के साथ की स्थापना को पढ़ पाने के लिए संभव है: objdump - -फुल-सामग्री - अनुभाग .GCC.command.line

2

यह संभवतः सभी संभावित क्रमिक प्रयासों की कोशिश करने के लिए libsqlite से पूछने का कोई तरीका नहीं है और यह देखने के लिए प्रत्येक का परीक्षण करने के लिए परीक्षण करें (जब तक कि ऐप्पल ने कस्टम संशोधन नहीं किया हो)। सबसे अच्छा आप sqlite3_libversion पर कॉल कर सकते हैं जो SQLite संस्करण संख्या देता है।

6

आप SQLite बनाने के दौरान उपयोग किए गए संकलन-समय विकल्पों को देखने के लिए compile_options प्रज्ञा (या संबंधित दस्तावेज़ों में उल्लिखित संबंधित कार्यों) का उपयोग कर सकते हैं। हालांकि, इस प्रगति (और संबंधित कार्यों) की उपलब्धता इस बात पर निर्भर करती है कि यह संकलन समय पर सक्षम था या नहीं। SQLite प्रलेखन कहते हैं:() sqlite3_compileoption_used निदान कार्य करता है और sqlite3_compileoption_get() के लिए

समर्थन संकलन समय पर SQLITE_OMIT_COMPILEOPTION_DIAGS विकल्प निर्दिष्ट करने के द्वारा हटाया जा सकता है।

तो यह संभावना है कि आपके वितरण ने इस सुविधा को संकलित समय पर सक्षम नहीं किया है, जिसका अर्थ है कि आप विकल्प देखने में सक्षम नहीं हो सकते हैं।

संबंधित मुद्दे