[gxml] StreamReader: add benchmark test for iteration
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gxml] StreamReader: add benchmark test for iteration
- Date: Tue, 23 Jul 2019 18:47:56 +0000 (UTC)
commit 69f99cbf5f7e80edf2f12e97b30327384013ad86
Author: Daniel Espinosa <esodan gmail com>
Date: Tue Jul 23 12:58:55 2019 -0500
StreamReader: add benchmark test for iteration
Fixes on performance tests in other backends, for real
comparations
test/DocumentPerformanceIterateTest.vala | 6 ++--
test/StreamReaderPerformanceIterateTest.vala | 48 ++++++++++++++++++++++++++++
test/XDocumentPerformanceIterateTest.vala | 4 +--
test/meson.build | 21 +++++++++---
4 files changed, 70 insertions(+), 9 deletions(-)
---
diff --git a/test/DocumentPerformanceIterateTest.vala b/test/DocumentPerformanceIterateTest.vala
index 213c187..eea7760 100644
--- a/test/DocumentPerformanceIterateTest.vala
+++ b/test/DocumentPerformanceIterateTest.vala
@@ -21,7 +21,7 @@
*/
using GXml;
-class GXmlTest.Suite : Object
+class GXmlTest.Suite : GLib.Object
{
static int main (string[] args)
{
@@ -29,7 +29,7 @@ class GXmlTest.Suite : Object
Test.init (ref args);
Test.add_func ("/gxml/document/performance/iterate", () => {
try {
- DomDocument d = new GomDocument ();
+ DomDocument d = new Document ();
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");
@@ -39,7 +39,7 @@ class GXmlTest.Suite : Object
var t = Test.timer_elapsed ();
message ("Elapsed time: %g", t);
Test.timer_start ();
- foreah (DomNode n in d.child_nodes) {
+ foreach (DomNode n in d.document_element.child_nodes) {
assert (n.node_name != "");
}
} catch (GLib.Error e) {
diff --git a/test/StreamReaderPerformanceIterateTest.vala b/test/StreamReaderPerformanceIterateTest.vala
new file mode 100644
index 0000000..71fe711
--- /dev/null
+++ b/test/StreamReaderPerformanceIterateTest.vala
@@ -0,0 +1,48 @@
+/* -*- Mode: vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */
+/* GomDocumentPerformanceTest.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 : GLib.Object
+{
+ static int main (string[] args)
+ {
+ GLib.Intl.setlocale (GLib.LocaleCategory.ALL, "");
+ Test.init (ref args);
+ Test.add_func ("/gxml/stream-reader/performance", () => {
+ try {
+ 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 ());
+ var sr = new GXml.StreamReader (f.read ());
+ var d = sr.read ();
+ foreach (DomNode n in d.document_element.child_nodes) {
+ assert (n.node_name != "");
+ }
+ } catch (GLib.Error e) {
+ warning ("Error: %s", e.message);
+ assert_not_reached ();
+ }
+ });
+ return Test.run ();
+}
+}
diff --git a/test/XDocumentPerformanceIterateTest.vala b/test/XDocumentPerformanceIterateTest.vala
index dea053c..445c5ba 100644
--- a/test/XDocumentPerformanceIterateTest.vala
+++ b/test/XDocumentPerformanceIterateTest.vala
@@ -21,7 +21,7 @@
*/
using GXml;
-class GXmlTest.Suite : Object
+class GXmlTest.Suite : GLib.Object
{
static int main (string[] args)
{
@@ -39,7 +39,7 @@ class GXmlTest.Suite : Object
var t = Test.timer_elapsed ();
message ("Elapsed time: %g", t);
Test.timer_start ();
- foreah (DomNode n in d.child_nodes) {
+ foreach (DomNode n in d.document_element.child_nodes) {
assert (n.node_name != "");
}
} catch (GLib.Error e) {
diff --git a/test/meson.build b/test/meson.build
index 93dd014..88b14ff 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -72,7 +72,7 @@ files_gom_performance_iterate = files ([
'DocumentPerformanceIterateTest.vala'
])
-gom_performance_iterate = executable('performance-iterate', files_gom_performance + configvapi +
configtestvapi,
+gom_performance_iterate = executable('performance-iterate', files_gom_performance_iterate + configvapi +
configtestvapi,
vala_args : [],
dependencies : [ libgxml_deps, inc_libh_dep, testdirs_dep, inc_rooth_dep],
link_with: libgxml
@@ -96,7 +96,7 @@ files_libxml_performance_iterate = files ([
'XDocumentPerformanceIterateTest.vala'
])
-libxml_performance_iterate = executable('libxml-performance-iterate', files_gom_performance + configvapi +
configtestvapi,
+libxml_performance_iterate = executable('libxml-performance-iterate', files_libxml_performance_iterate +
configvapi + configtestvapi,
vala_args : [],
dependencies : [ libgxml_deps, inc_libh_dep, testdirs_dep, inc_rooth_dep],
link_with: libgxml
@@ -104,15 +104,28 @@ libxml_performance_iterate = executable('libxml-performance-iterate', files_gom_
benchmark ('libxml-performance-iterate', libxml_performance_iterate)
-files_stream_reader_performance_iterate = files ([
+files_stream_reader_performance = files ([
'StreamReaderPerformanceTest.vala'
])
-stream_reader_performance_iterate = executable('stream-reader-performance-load',
files_stream_reader_performance_iterate + configvapi + configtestvapi,
+stream_reader_performance_iterate = executable('stream-reader-performance-load',
files_stream_reader_performance + configvapi + configtestvapi,
vala_args : [],
dependencies : [ libgxml_deps, inc_libh_dep, testdirs_dep, inc_rooth_dep],
link_with: libgxml
)
benchmark ('stream-reader-performance-load', stream_reader_performance_iterate)
+
+
+files_stream_reader_performance_iterate = files ([
+ 'StreamReaderPerformanceIterateTest.vala'
+ ])
+
+stream_reader_performance_iterate = executable('stream-reader-performance-iterate',
files_stream_reader_performance_iterate + configvapi + configtestvapi,
+ vala_args : [],
+ dependencies : [ libgxml_deps, inc_libh_dep, testdirs_dep, inc_rooth_dep],
+ link_with: libgxml
+)
+
+benchmark ('stream-reader-performance-iterate', stream_reader_performance_iterate)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]