Here is a quick summary of the changes and enhancements to SQLite during 2013. The comparison is between trunk versions, http://www.sqlite.org/src/info/a611c75 versus http://www.sqlite.org/src/info/cc72c5aec7
The amalgamation source file grew in side from 137619 lines to 145010 lines, or 4868834 bytes to 5125216 bytes. Excluding comments the size grew from 82156 lines to 87537 lines. That's between 5% to 7% growth in source code, depending on how you measure. Approximately one source code line out of every five changed during 2013 for a 20% code churn. The compiled binary (gcc 4.8.1 with -Os on x64) grew from 412365 to 433963 bytes, or about 5%. Running a typical mix of SQL statements (as implemented by the http://www.sqlite.org/src/artifact/7130d2cb?ln test program), SQLite uses 15.5% fewer CPU operations to do the same task as it did one year ago, as measured by valgrind. Real-time performance is about 12% faster according to that same benchmark running on Ubuntu 13.10, x64. There were 737 trunk check-ins during 2013, or about two check-ins per day. There were an additional 924 check-ins on branches, for a total of 1661 check-ins. 416 files were changed in some way or another. 24216 lines were inserted and 12744 lines deleted, according to diffstat. The above is for the main source tree only. There are many, many other enhancements to the documentation and test suites. The following releases occurred during 2013: 2013-01-09: 3.7.15.2 2013-03-18: 3.7.16 2013-03-29: 3.7.16.1 2013-04-12: 3.7.16.2 2013-05-20: 3.7.17 2013-08-26: 3.8.0 2013-08-29: 3.8.0.1 2013-09-03: 3.8.0.2 2013-10-17: 3.8.1 2013-12-06: 3.8.2 Major new features added in 2013 include: 1. Memory-mapped I/O: http://www.sqlite.org/mmap.html 2. The next-generation query planner: http://www.sqlite.org/queryplanner-ng.html 3. Partial indices: http://www.sqlite.org/partialindex.html 4. WITHOUT ROWID tables: http://www.sqlite.org/withoutrowid.html New PRAGMAs: 1. PRAGMA foreign_key_check; 2. PRAGMA application_id; 3. PRAGMA defer_foreign_keys; 4. PRAGMA cache_spill; 5. PRAGMA query_only; 6. PRAGMA soft_heap_limit; New SQL functions: 1. printf() -- to appear in version 3.8.3 2. unlikely() 3. likelihood() 4. unicode() 5. char() New C-language APIs: 1. sqlite3_cancel_auto_extension() 2. sqlite3_strglob() New tested and supported extensions added to the source tree: 1. The approximate_match virtual table: www.sqlite.org/src/artifact/678056a 2. The transitive_closure virtual table: www.sqlite.org/src/artifact/6360243 3. The ieee754() SQL function: http://www.sqlite.org/src/artifact/b03621672 4. The next_char() SQL function: www.sqlite.org/src/artifact/35c8b8ba 5. The percentile() SQL function: www.sqlite.org/src/artifact/bcbee3c 6. The regexp() SQL function: http://www.sqlite.org/src/artifact/af92cdaa5 7. The rot13() SQL function: http://www.sqlite.org/src/artifact/1ac6f95f 8. The spellfix1 virtual table: http://www.sqlite.org/spellfix1.html 9. The tointeger() and toreal() SQL functions: www.sqlite.org/src/artifact/4a167594 10. The wholenumber virtual table: www.sqlite.org/src/artifact/784b1254 In addition to the above, there are countless new test cases and minor feature and performance enhancements. Our goal is to maintain this aggressive pace of innovation and enhancement in SQLite throughout 2014 and beyond. Happy New Year to all. -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users