glib/gobject/tests
Thomas Haller 282d536fd2 tests/performance: ensure to always warm up for 2 seconds
Despite all the efforts, there still seems to be a lot of noise in the
performance measurement. Especially, the first iterations seem to run
faster. Maybe that is because the kernel didn't yet determine that the
process is CPU bound and is less likely to schedule it out Or maybe it's
because burning the cycles heats up the CPU and it gets throttled after
a while. It's unclear why, and it's even unclear whether this really
happens. But from my observations, it seems to do.

Hence, more warm up.

- the first time we enter the test, ensure that we keep the CPU busy for
  at 2 seconds. This additional warm up (WARM_UP_ALWAYS_SEC) is
  global, and not per test.

- for each test, ignore the first 5% of the runs. It seems those tend to
  run faster, thus skewing the results.

- if the user specifies a "--factor", the warm up operations are the
  same and independent from external factors (such as time
  measurements).

Note that this matters the most, when you want to run the executable
twice in a row and compare the results.
2024-03-18 13:56:02 +00:00
..
performance tests/performance: ensure to always warm up for 2 seconds 2024-03-18 13:56:02 +00:00
accumulator.c tests: Add SPDX license headers automatically 2022-06-01 12:17:28 +01:00
autoptr.c Add a SPDX LicenseRef for the license historically used for tests 2022-11-02 12:34:19 +00:00
basic-signals.c tests: Add SPDX license headers automatically 2022-06-01 12:17:28 +01:00
basics-gobject.c tests: Fix a non-TAP formatted debug message in the basics-gobject test 2022-06-21 12:50:31 +01:00
binding.c Replace most GObject warnings with criticals 2022-08-09 13:18:47 -05:00
bindinggroup.c tests: Add SPDX license headers automatically 2022-06-01 12:17:28 +01:00
boxed.c Add boxed GType for GRand 2023-12-31 09:09:48 +00:00
closure-refcount.c Add a SPDX LicenseRef for the license historically used for tests 2022-11-02 12:34:19 +00:00
closure.c Fix the closure test in continuous 2014-05-30 10:22:35 -04:00
custom-dispatch.c custom-dispatch: Change SPDX-License-Identifier to match license grant 2022-11-02 12:35:45 +00:00
cxx.cpp Add SPDX license headers for LGPL-2.1-or-later to various files 2022-06-01 12:44:23 +01:00
defaultiface.c tests: Add SPDX license headers automatically 2022-06-01 12:17:28 +01:00
deftype.c tests: Add SPDX license headers automatically 2022-06-01 12:17:28 +01:00
deprecated-properties.c gobject: Add a test for deprecated properties 2022-09-21 10:27:55 +01:00
dynamictests.c Add a SPDX LicenseRef for the license historically used for tests 2022-11-02 12:34:19 +00:00
dynamictype.c gtype: Allow g_type_query() to be called on dynamic types 2023-07-30 11:25:42 +03:00
enums.c Use varargs for enum types definition macros 2022-06-30 01:46:54 +01:00
flags.c tests: Add SPDX license headers automatically 2022-06-01 12:17:28 +01:00
genmarshal.py tests: Run processes under test with G_DEBUG=fatal-warnings 2023-11-07 13:51:56 +00:00
gobject-query.py tests: Run processes under test with G_DEBUG=fatal-warnings 2023-11-07 13:51:56 +00:00
ifaceproperties.c tests: Add SPDX license headers automatically 2022-06-01 12:17:28 +01:00
marshalers.list Moving gobject tests from tests/gobjects to gobjects/tests 2022-05-26 19:13:19 +01:00
max-version.c tests: Test that we can include all headers with an old MAX_VERSION 2022-10-27 14:50:48 +01:00
meson.build tests: Verify GParamSpecPool creation 2023-12-19 19:53:48 +00:00
mkenums.py mkenums: Allow , in a character literal 2023-11-21 11:54:42 +00:00
notify-init2.c Add a SPDX LicenseRef for the license historically used for tests 2022-11-02 12:34:19 +00:00
notify-init.c Add a SPDX LicenseRef for the license historically used for tests 2022-11-02 12:34:19 +00:00
object.c testsuite: Make tests not fail in !debug builds 2022-05-28 08:02:16 -04:00
objects-refcount1.c gtype: avoid "-Wcast-align" warning with optimized G_TYPE_CHECK_INSTANCE_CAST() 2022-12-16 20:48:06 +01:00
objects-refcount2.c Moving tests/refcount/ directory to gobject/tests/ 2022-05-26 18:37:35 +01:00
override.c tests: Add SPDX license headers automatically 2022-06-01 12:17:28 +01:00
param.c tests: Rework how slow param test is skipped 2024-02-06 11:01:46 +00:00
private.c glib: Avoid redefining GLIB_DISABLE_DEPRECATION_WARNINGS 2020-07-27 15:41:09 +01:00
properties-introspection.c tests: Check thread safety of GParamSpecPool 2023-12-19 22:48:03 +00:00
properties-refcount1.c tests: Port GObject tests from g_thread_create() to g_thread_new() 2022-05-26 18:37:35 +01:00
properties-refcount2.c Moving tests/refcount/ directory to gobject/tests/ 2022-05-26 18:37:35 +01:00
properties-refcount3.c tests: Remove various bits of overly-verbose test output 2022-05-31 15:21:46 +01:00
properties-refcount4.c Moving tests/refcount/ directory to gobject/tests/ 2022-05-26 18:37:35 +01:00
properties.c gobject: Always ref-sink variants in g_object_set 2022-10-24 10:47:35 +01:00
qdata.c Add SPDX license headers for LGPL-2.1-or-later to various files 2022-06-01 12:44:23 +01:00
reference.c gobject: track GWeakRef in object's WeakRefData with an array 2024-02-02 14:49:09 +01:00
references.c gobject/tests: add test checking that GWeakRef is cleared in GWeakNotify 2024-01-31 12:42:02 +01:00
signal-handler.c tests: Allow signal-handler performance tests to be smoketested 2022-06-21 12:57:33 +01:00
signalgroup.c gsignalgroup: Avoid function call with side effect in g_return_* macro 2023-11-01 10:53:55 +00:00
signals-refcount.c tests: Remove various bits of overly-verbose test output 2022-05-31 15:21:46 +01:00
signals.c gobject: use g_once_init_enter_pointer for GType initializers 2023-10-04 14:50:54 +01:00
singleton.c Merge branch 'more-spdx' into 'main' 2022-07-05 11:06:49 +00:00
taptestrunner.py tests: Add some SPDX license headers 2022-05-17 17:23:34 +01:00
testcommon.h tests: Add SPDX license headers automatically 2022-06-01 12:17:28 +01:00
testing.c Merge branch 'more-spdx' into 'main' 2022-07-05 11:06:49 +00:00
testmodule.c tests: Add SPDX license headers automatically 2022-06-01 12:17:28 +01:00
testmodule.h tests: Add SPDX license headers automatically 2022-06-01 12:17:28 +01:00
threadtests.c tests: Speed up threaded toggle notify test unless -m slow is passed 2024-02-13 08:52:15 +00:00
type-flags.c gobject: use g_once_init_enter_pointer for GType initializers 2023-10-04 14:50:54 +01:00
type.c tests: Add some more tests for g_type_query() 2023-07-30 13:51:00 +03:00
value.c gvalue: add g_value_steal_string() 2023-11-04 10:40:30 +00:00