diff options
author | James Moger <james.moger@gmail.com> | 2011-08-26 10:21:00 -0400 |
---|---|---|
committer | James Moger <james.moger@gmail.com> | 2011-08-26 10:21:00 -0400 |
commit | 405cd2f14253a6cb83de6eee0a911f73dc466bbc (patch) | |
tree | 13024e2c0961372178ef5197d548da3e7f60d994 | |
parent | ade7c03f54b79f8d3e65a79f9b8d11924694a79e (diff) | |
download | iciql-405cd2f14253a6cb83de6eee0a911f73dc466bbc.tar.gz iciql-405cd2f14253a6cb83de6eee0a911f73dc466bbc.zip |
Documentation.
-rw-r--r-- | docs/03_performance.mkd | 4 | ||||
-rw-r--r-- | docs/06_jaqu_comparison.mkd | 25 |
2 files changed, 28 insertions, 1 deletions
diff --git a/docs/03_performance.mkd b/docs/03_performance.mkd index 377d222..34e545c 100644 --- a/docs/03_performance.mkd +++ b/docs/03_performance.mkd @@ -9,10 +9,12 @@ Performance of iciql statement generation is not currently benchmarked. ### iciql+database performance comparison
-The following data was generated by running the *single-threaded* iciql test suite. All database connections are pooled and re-used within each execution of the test suite using [Apache Commons DBCP](http://commons.apache.org/dbcp). All tables are created as CACHED when the database distinguishes between CACHED and MEMORY tables.
+The following data was generated by running the *single-threaded* iciql test suite. All database connections are pooled and re-used within each execution of the test suite using [Apache Commons DBCP](http://commons.apache.org/dbcp).
Connections are pooled to normalize embedded database performance with out-of-process database performance. Some of the Java embedded database configurations have a very high startup-time penalty. Notably, H2 is slow to open a database and its performance is substantially affected if connection pooling is not enabled to keep the embedded database open.
+All tables are created as CACHED when the database distinguishes between CACHED and MEMORY tables.
+
All performance numbers include the combined overhead of iciql statement generation and JUnit 4 test framework execution so they are not bare-metal database metrics.
<pre>
diff --git a/docs/06_jaqu_comparison.mkd b/docs/06_jaqu_comparison.mkd new file mode 100644 index 0000000..da7da41 --- /dev/null +++ b/docs/06_jaqu_comparison.mkd @@ -0,0 +1,25 @@ +
+## Comparison to JaQu
+
+This is an overview of the fundamental differences between the original JaQu project and the current featureset of iciql.
+
+<table>
+<tr><th></th><th>Iciql</th><th>JaQu</th></tr>
+<tr><th colspan="3">core</th></tr>
+<tr><td>deployment</td><td>small, discrete library</td><td>depends on H2 database jar file</td></tr>
+<tr><td>databases</td><td>supports H2, HSQL, Derby, MySQL, and PostreSQL</td><td>supports H2 only</td></tr>
+<tr><td>logging</td><td>supports console, SLF4J, or custom logging</td><td>supports console logging</td></tr>
+<tr><td>exceptions</td><td>always includes generated statement in exception, when available</td><td>--</td></tr>
+<tr><th colspan="3">syntax and api</th></tr>
+<tr><td>dynamic queries</td><td>methods and where clauses for dynamic queries that build iciql objects</td><td>--</td></tr>
+<tr><td>DROP</td><td>syntax to drop a table</td><td></td></tr>
+<tr><td>BETWEEN</td><td>syntax for specifying a BETWEEN x AND y clause</td><td>--</td></tr>
+<tr><th colspan="3">types</th></tr>
+<tr><td>primitives</td><td>fully supported</td><td>--</td></tr>
+<tr><td>enums</td><td>fully supported</td><td>--</td></tr>
+<tr><td>DECIMAL(length,scale)</td><td>can specify length/precision and scale</td><td>--</td></tr>
+<tr><td>BOOLEAN</td><td>flexible mapping of boolean as bool, varchar, or int</td><td>--</td></tr>
+<tr><td>BLOB</td><td>partially supported *(can not be used in a WHERE clause)*</td><td>--</td></tr>
+<tr><td>UUID</td><td>fully supported *(H2 only)* </td><td>--</td></tr>
+<tr><td>DEFAULT values</td><td>set from annotations or *default object values*</td><td>set from annotations</td></tr>
+</table>
\ No newline at end of file |