[rtems-central commit] membench.py: New
Sebastian Huber
sebh at rtems.org
Mon Jul 24 06:36:18 UTC 2023
Module: rtems-central
Branch: master
Commit: cf648d658dc3162c8bacb06d351d3a85c0785562
Changeset: http://git.rtems.org/rtems-central/commit/?id=cf648d658dc3162c8bacb06d351d3a85c0785562
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Mon Jul 24 08:57:17 2023 +0200
membench.py: New
---
membench.py | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/membench.py b/membench.py
new file mode 100755
index 00000000..a8e3b4c0
--- /dev/null
+++ b/membench.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+# SPDX-License-Identifier: BSD-2-Clause
+""" Generates a memory benchmark report. """
+
+# Copyright (C) 2023 embedded brains GmbH & Co. KG
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+import sys
+
+from rtemsspec.items import ItemCache, item_is_enabled
+from rtemsspec.membench import generate
+from rtemsspec.sphinxcontent import SphinxContent, SphinxMapper
+from rtemsspec.util import create_argument_parser, init_logging, load_config
+
+
+def main() -> None:
+ """ Generates a memory benchmark report. """
+ parser = create_argument_parser()
+ parser.add_argument(
+ "builddir",
+ metavar="BUILDDIR",
+ nargs=1,
+ help="the build directory containing the memory benchmark executables")
+ args = parser.parse_args(sys.argv[1:])
+ init_logging(args)
+ config = load_config("config.yml")
+ item_cache = ItemCache(config["spec"])
+ item_cache.set_enabled([], item_is_enabled)
+ content = SphinxContent()
+ root = item_cache["/rtems/req/mem-basic"]
+ table_pivots = ["/rtems/req/mem-basic", "/rtems/req/mem-smp-1"]
+ generate(content, root, SphinxMapper(root), table_pivots, args.builddir[0])
+ print(str(content))
+
+
+if __name__ == "__main__":
+ main()
More information about the vc
mailing list