mirror of
https://github.com/AdaCore/PolyORB.git
synced 2026-02-12 13:01:15 -08:00
README for PolyORB benchmarking =============================== This file details the organization of the benchmark suite for the PolyORB/CORBA personality. I. Compiling tests ------------------ 1/ Editing Makefile to set compilation options and IDL-to-Ada compiler name and flags. For iac, it is recommended to use "-hc -rs" for maximum performance. Note: it is assumed PolyORB tools (idlac, iac, polyorb-config) and gnatmake are in the PATH. 2/ Edit bench_utils, if required, to configure benchmark timeouts and threshold (see bench_utils.ads for details). 2/ Compile II. Running tests ----------------- 1/ Run server_no_tasking and then client with server's IOR 2/ After the test completes, a set of .data files store the performance measurements for each test. See bench_utils.ads for its format. 3/ A GNUPlot script is available and allow for turning the performance measures into a graph, run it with "gnuplot print_data.gnuplot". If a performance decrease is measured, the corresponding test is flagged as failed. This can be reported by e.g. PolyORB test driver to detect any performance regression For more details on types tested, see benchs.idl III. Directory structure ------------------------ benchs.idl : IDL benchs-impl.ad? : implementation files for benchs.idl methods bench_utils.ad? : utility functions to do some benchmarking on functions client.adb : client of benchs.idl Makefile : compilation of tests polyorb.conf : parameter tuning of the application print_data.gnuplot: GNUPlot script to display value server_common.ad? : common routines to set up a benchs server server_no_tasking.adb : server using the no tasking profile of PolyORB server_thread_pool.adb: server using a threadpool