The SQLite Amalgamation
sqlite.org
The SQLite Amalgamation
1–10 of 14 posts
Re: The SQLite Amalgamation
#2Re: The SQLite Amalgamation
#3Re: The SQLite Amalgamation
#4Re: The SQLite Amalgamation
#5Unreal Engine also do something called a Unity build (the irony) which also put multiple cpp files in one big file by using #include
Perhaps similar in structure. But different in both goal and output.
Re: The SQLite Amalgamation
#6Unreal Engine also do something called a Unity build (the irony) which also put multiple cpp files in one big file by using #include
That's not really the same thing. Unreal's "Unity" build is more of a build time optimization. It doesn't output actual source files you can drop into a project like SQLite's amalgamation. Perhaps similar in structure. But different in both goal and output.
Re: The SQLite Amalgamation
#7It's weird that this is still true even though compilers are now capable of whole program optimization at link time. Enabling LTO should be equivalent to compiling everything as a single translation unit but apparently it isn't. I wonder what exactly inhibits the aforementioned inter-procedural and code inlining optimizations in LTO builds.
Re: The SQLite Amalgamation
#8All you have to do is to make your CC this:
cilly --noPrintLn --merge --keepmerged
And in the end after compilation there will be a file named yourproject_comb.c
Re: The SQLite Amalgamation
#9Earlier quoted context omitted.
That's not really the same thing. Unreal's "Unity" build is more of a build time optimization. It doesn't output actual source files you can drop into a project like SQLite's amalgamation. Perhaps similar in structure. But different in both goal and output.
Both do share a minor but significant performance advantage. Also unity builds don't really improve build time much by itself, it only makes sense because many unchanged files are still too many to link in incremental settings.
Re: The SQLite Amalgamation
#10Earlier quoted context omitted.
Both do share a minor but significant performance advantage. Also unity builds don't really improve build time much by itself, it only makes sense because many unchanged files are still too many to link in incremental settings.
I’m pretty sure the primary reason Unity builds exist is to make builds faster by eliminating massively duplicated header compiles…
Unity builds just mean the combined compilation of otherwise multiple files and therefore the reduction of output files to be further processed. An unqualified "unity build" typically means unity builds where inputs are source files and outputs are object files to be linked. This is most evident by considering how would you use corresponding header files from your project: you would still include the same set of header files.
PCH unity builds would instead force you to include a single dedicated header file, like `#include "pch.h"`. I never heard them to be called just "unity builds" in my experience, in fact it was more likely that "PCH" implied a unity build of PCH files.