title: Massive performance difference between sqlite amalgamation 3.7 and 3.16
body: <p>I have a MS Window executable, written in unmanaged plain "C", that places a GUI wrapper around an embedded database engine (SQLite). 
  The SQLite capability is provided by the amalgamation package 3.7.14.1 
  Specifically the 2 files   sqlite3.h   and  sqlite3.c
  The only change I make to the "out of the box" files is to add the line:
     #define SQLITE_ENABLE_COLUMN_METADATA  1  </p>
  
  <p>It is all compiled on a Win 7(64bit) system using Visual Studio 2008, BUT I compile it as a 32 bit application.</p>
  
  <p>I have swapped out the files   sqlite3.h   and  sqlite3.c for those from the amalgamation package 3.15.2
  Again, the ONLY change is to add the line:
    #define SQLITE_ENABLE_COLUMN_METADATA  1  </p>
  
  <p>I make no changes to my project configuration. I only swap the 2 files!</p>
  
  <p>I have a complex script that loads, to memory, a large DB ~ 600 Mbytes, and then does a lot of SELECTS, and transfers the results to Excel (using the functionality in my GUI wrapper).</p>
  
  <p>My issue. The performance of the version using amalgamation package 3.7.14.1  is over one hundred times <strong>faster</strong> than the amalgamation package 3.15.2.
  I am using exactly the same "script".</p>
  
  <p>I tried amalgamation package 3.16 and that is no better.
  I can see that the performance loss is in the SQL engine (by displaying pop-ups when entering and leaving the SQL machine. 
  In terms of my GUI wrapper, Visual Studio configuration, project configuration, all things are the same.
  I presume the performance issue lies in some compiler switches in the  amalgamation packages.</p>
  
  <p>Does anyone know where I should start to look?</p>