[gxml] GDocument: add benchmark test



commit 63f62524638b7e74499601bde5cf55f184a15dd5
Author: Daniel Espinosa <esodan gmail com>
Date:   Wed Mar 20 12:19:15 2019 -0600

    GDocument: add benchmark test

 test/GXmlDocumentPerformanceTest.vala | 48 +++++++++++++++++++++++++++++++++++
 test/meson.build                      | 18 ++++++++++---
 2 files changed, 63 insertions(+), 3 deletions(-)
---
diff --git a/test/GXmlDocumentPerformanceTest.vala b/test/GXmlDocumentPerformanceTest.vala
new file mode 100644
index 0000000..07e1039
--- /dev/null
+++ b/test/GXmlDocumentPerformanceTest.vala
@@ -0,0 +1,48 @@
+/* -*- Mode: vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */
+/* GXmlDocumentPerformanceTest.vala
+ *
+ * Copyright (C) 2019 Daniel Espinosa <esodan gmail com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ *      Daniel Espinosa <esodan gmail com>
+ */
+
+using GXml;
+class GXmlTest.Suite : Object
+{
+  static int main (string[] args)
+  {
+    GLib.Intl.setlocale (GLib.LocaleCategory.ALL, "");
+    Test.init (ref args);
+    Test.add_func ("/gxml/g-document/performance", () => {
+    try {
+      DomDocument d = new GDocument ();
+      File dir = File.new_for_path (GXmlTestConfig.TEST_DIR);
+      assert (dir.query_exists ());
+      File f = File.new_for_uri (dir.get_uri ()+"/test-large.xml");
+      assert (f.query_exists ());
+      Test.timer_start ();
+      d.read_from_file (f);
+      var t = Test.timer_elapsed ();
+      message ("Elapsed time: %g", t);
+    } catch (GLib.Error e) {
+      warning ("Error: %s", e.message);
+      assert_not_reached ();
+    }
+  });
+  return Test.run ();
+}
+}
diff --git a/test/meson.build b/test/meson.build
index 709196a..d924605 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -77,15 +77,27 @@ feedreadert = executable('feedreader_tests', feedreader_files + configvapi + con
 # test ('feedreader_tests', feedreadert)
 
 
-files_benchmark = files ([
+files_gom_performance = files ([
                'GomDocumentPerformanceTest.vala'
        ])
 
-benchmark = executable('gom-performance', files_benchmark + configvapi + configtestvapi,
+gom_performance = executable('gom-performance-load', files_gom_performance + configvapi + configtestvapi,
        vala_args : [],
        dependencies : [ gio, gee, xml, inc_libh_dep, testdirs_dep, inc_rooth_dep],
        link_with: libgxml
 )
 
-benchmark ('gom-performance', benchmark)
+benchmark ('gom-performance-load', gom_performance)
+
+
+files_libxml_performance = files ([
+               'GXmlDocumentPerformanceTest.vala'
+       ])
+libxml_performance = executable('libxml-performance-load', files_libxml_performance + configvapi + 
configtestvapi,
+       vala_args : [],
+       dependencies : [ gio, gee, xml, inc_libh_dep, testdirs_dep, inc_rooth_dep],
+       link_with: libgxml
+)
+
+benchmark ('libxml-performance', libxml_performance)
                


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]