]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add the Mandelbrot Set testcase to the "cte" testset of speedtest1.
authordrh <drh@noemail.net>
Sun, 9 Feb 2014 00:52:53 +0000 (00:52 +0000)
committerdrh <drh@noemail.net>
Sun, 9 Feb 2014 00:52:53 +0000 (00:52 +0000)
FossilOrigin-Name: 56febbeb575a298ae8839b3a59711150ceb9999d

manifest
manifest.uuid
test/speedtest1.c

index 0b4f5767efcd948905097ddd09ab8069e695ad8d..1f964073bd42232650bc67df6c9bb11917e4653a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sa\snew\s"testset"\sto\sthe\sspeedtest1\sprogram:\s\sThe\ssudoku\ssolver.
-D 2014-02-09T00:18:21.530
+C Add\sthe\sMandelbrot\sSet\stestcase\sto\sthe\s"cte"\stestset\sof\sspeedtest1.
+D 2014-02-09T00:52:53.682
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -824,7 +824,7 @@ F test/speed3.test d32043614c08c53eafdc80f33191d5bd9b920523
 F test/speed4.test abc0ad3399dcf9703abed2fff8705e4f8e416715
 F test/speed4p.explain 6b5f104ebeb34a038b2f714150f51d01143e59aa
 F test/speed4p.test 0e51908951677de5a969b723e03a27a1c45db38b
-F test/speedtest1.c ba90413e95df3b6e2ddc5b4568b2756f38ed8aa0
+F test/speedtest1.c 8b3b85c82018cdbc492ab43b841157bcbf6b281c
 F test/spellfix.test 61309f5efbec53603b3f86457d34a504f80abafe
 F test/sqllimits1.test b1aae27cc98eceb845e7f7adf918561256e31298
 F test/stat.test 76fd746b85459e812a0193410fb599f0531f22de
@@ -1152,7 +1152,7 @@ F tool/vdbe-compress.tcl 0cf56e9263a152b84da86e75a5c0cdcdb7a47891
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
-P 1e64dd782a126f48d78c43a664844a41d0e6334e
-R feb25dc752d56bb4a29200c4d7633cb5
+P 4677ef2f8a726573c48ee2e532c00a68308dd7e1
+R 439cd23f35fb63451d5f47c7c9c57942
 U drh
-Z 251505f9c01c1bcece10c5ebfc8b7c5b
+Z 01b4847ed4d0397261d6befa79512d70
index 483fbfb6cdfda01ccdd0f079691f32707d5d14ee..1cd0a889ddbf43b393b0b40ed1e2331f254e66ee 100644 (file)
@@ -1 +1 @@
-4677ef2f8a726573c48ee2e532c00a68308dd7e1
\ No newline at end of file
+56febbeb575a298ae8839b3a59711150ceb9999d
\ No newline at end of file
index ec4e717149f779b8e33d97d1feb6f21bc23a1256..1de51771062abfb47f8cd187073accfa84bd8e5b 100644 (file)
@@ -777,6 +777,7 @@ void testset_cte(void){
     "....8..79",
   };
   const char *zPuz;
+  double rSpacing;
 
   if( g.szTest<25 ){
     zPuz = azPuzzle[0];
@@ -847,6 +848,33 @@ void testset_cte(void){
   sqlite3_bind_text(g.pStmt, 1, zPuz, -1, SQLITE_STATIC);
   speedtest1_run();
   speedtest1_end_test();
+
+  rSpacing = 5.0/g.szTest;
+  speedtest1_begin_test(300, "Mandelbrot Set with spacing=%f", rSpacing);
+  speedtest1_prepare(
+   "WITH RECURSIVE \n"
+   "  xaxis(x) AS (VALUES(-2.0) UNION ALL SELECT x+?1 FROM xaxis WHERE x<1.2),\n"
+   "  yaxis(y) AS (VALUES(-1.0) UNION ALL SELECT y+?2 FROM yaxis WHERE y<1.0),\n"
+   "  m(iter, cx, cy, x, y) AS (\n"
+   "    SELECT 0, x, y, 0.0, 0.0 FROM xaxis, yaxis\n"
+   "    UNION ALL\n"
+   "    SELECT iter+1, cx, cy, x*x-y*y + cx, 2.0*x*y + cy FROM m \n"
+   "     WHERE (x*x + y*y) < 4.0 AND iter<28\n"
+   "  ),\n"
+   "  m2(iter, cx, cy) AS (\n"
+   "    SELECT max(iter), cx, cy FROM m GROUP BY cx, cy\n"
+   "  ),\n"
+   "  a(t) AS (\n"
+   "    SELECT group_concat( substr(' .+*#', 1+min(iter/7,4), 1), '') \n"
+   "    FROM m2 GROUP BY cy\n"
+   "  )\n"
+   "SELECT group_concat(rtrim(t),x'0a') FROM a;"
+  );
+  sqlite3_bind_double(g.pStmt, 1, rSpacing*.05);
+  sqlite3_bind_double(g.pStmt, 2, rSpacing);
+  speedtest1_run();
+  speedtest1_end_test();
+
 }
 
 /*