On Tue, May 10, 2016 at 9:56 AM, Jeremy Nicoll <
jn.ml.sqlu.725 at letterboxes.org> wrote:

> On Tue, 10 May 2016, at 16:26, Scott Robison wrote:
>
> > I believe the tools provided by the site statically like SQLite so no DLL
> > is required. The DLL is provided as a courtesy to those who do not want
> > to link their own apps statically.
> >
> > Not near a computer to confirm this, but I know for a fact that 32 / 64
> > bit DLLs are not interchangeable. See
> >
> https://msdn.microsoft.com/en-us/library/windows/desktop/aa384231(v=vs.85).aspx
>
> Thanks for the link.
>
> I looked at the sizes of the DLLs and the tools .executables:
>
> 32-bit DLL              807 KB
> 64-bit DLL            1644 KB
>
> sqldiff.exe                   422 KB
> sqlite3.exe                  661 KB
> sqlite3_analyser.exe  1912 KB
>
> That suggests to me that sqldiff & sqlite3 only use a small fraction of
> the code present in
> a DLL, and the link only includes those functions in the resulting .exe.
>  Is that likely?  Or
> are the .exe's compressed?
>

I'm fairly confident they don't use 100% of the SQLite code in each, and I
don't believe they are compressed. However, statically linking SQLite
directly, particularly in amalgamation form, potentially opens up a lot of
optimization opportunities that aren't available in a DLL where you don't
know which APIs might be needed by any given program.

-- 
Scott Robison

Reply via email to