簡體   English   中英

合並sqlite

[英]amalgamation sqlite

我最近在閱讀sqlite3的源代碼。 在合並版本中,只有四個文件。 官方網站上 ,他們說:

“合並也使它運行得更快”

“當我們使用合並來編譯SQLite而不是單個源文件時,我們已經測量了5到10%的性能提升。”

我不明白他們是如何做到的以及為什么。 有沒有人有任何想法? 我們有可用的工具嗎?

如果解析所有.c文件,解壓縮所有#include ,然后構建一個首先列出所有包含的大文件,然后列出這些.c文件的所有其他內容,則可以得到類似的結果。

這樣,您就可以在單個轉換單元中使用所有代碼,從而允許編譯器一次查看所有代碼並執行更好的優化。 這與大多數C編譯器相關,但最新的編譯器具有所謂的鏈接時代碼生成功能 ,允許編譯器同時查看多個翻譯單元的代碼(在鏈接時)並生成更好的代碼,即使沒有合並技巧。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM