1. 02 Oct, 2009 2 commits
    • Alexander Larsson's avatar
      Add gobject performance tests for threaded code · f4d9789f
      Alexander Larsson authored
      This measures how much things like lock contention affects the gobject
      code.
      f4d9789f
    • Alexander Larsson's avatar
      Add performance tests for GObject primitives · b1f94af0
      Alexander Larsson authored
      These are basic performance test for a couple of basic gobject
      primitives:
      
      * construction of simple objects. Simple is a bare gobject derived
        class with no properties, signals or interfaces.
      
      * construction of complex objects. Complex is a gobject subclass
        with construct properties, normal properties, signals, and
        implements an interface.
      
      * run-time type check of complex objects
      
      * signal emissions
      
      Lots of care is taken to try to make the results reproducible. Each
      test is run for multible "rounds", where we try to make each round be
      "not too short" in order to be significant wrt timer accuracy, but
      also "not to long" to make the probability of some other random event
      happening on the system (interrupts, other process scheduled, etc)
      during the round less likely.
      The current target round time is 4 msecs, which was picked without
      rigour, but seems small wrt e.g. scheduler time.
      
      For each test we then run the calculated round size for 60 seconds,
      and then report the performance based on the minimal time of one
      round. The model here is that any random stuff that happens during a
      round can only slow it down, there is nothing that can make it go
      faster, so the minimal time is the best estimate of how fast one round
      goes.
      
      The result is not ideal, even on a "idle" system the results vary
      from round to round, but the variation seems to be less than 1%.
      So, any performance difference reported by this test over 1% is
      probably statistically significant.
      
      Additionally the tests can be run with or without threads being
      initialized. The script tests/gobject/run-performance.sh makes
      it easy to produce a performance report for the current checkout.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=557100
      b1f94af0
  2. 21 Nov, 2007 1 commit
    • 21:06:47  Tim Janik's avatar
      initialize automake variables EXTRA_DIST and TEST_PROGS for unconditional · 1e55738f
      21:06:47 Tim Janik authored
      2007-11-21 21:06:47  Tim Janik  <timj@imendio.com>
      
      	* Makefile.decl: initialize automake variables EXTRA_DIST and
      	TEST_PROGS for unconditional appending via += in other makefiles.
      	define recursive test targets: test, test-report, perf-report,
      	full-report, as described here:
            http://mail.gnome.org/archives/gtk-devel-list/2007-November/msg00000.html
      
      	* Makefile.am:
      	* build/win32/vs8/Makefile.am, build/win32/dirent/Makefile.am:
      	* build/win32/Makefile.am, build/Makefile.am:
      	* docs/Makefile.am, docs/reference/Makefile.am:
      	* docs/reference/glib/Makefile.am, docs/reference/gobject/Makefile.am:
      	* gmodule/Makefile.am, tests/Makefile.am:
      	* tests/refcount/Makefile.am, tests/gobject/Makefile.am:
      	* glib/update-pcre/Makefile.am, glib/libcharset/Makefile.am:
      	* glib/tests/Makefile.am, glib/pcre/Makefile.am:
      	* glib/gnulib/Makefile.am, gobject/Makefile.am, m4macros/Makefile.am:
      	* gthread/Makefile.am, glib/Makefile.am:
      	include $(top_srcdir)/Makefile.decl, adapted EXTRA_DIST assignments.
      
      	* glib/tests/Makefile.am: removed example testing rules.
      
      	* glib/tests/testing.c: conditionalized performance and slow tests.
      
      	* glib/gtestutils.h:
      	* glib/gtestutils.c: work around g_test_config_vars not changing its
      	exported value after value assignments, aparently due to symbol aliases.
      
      	* glib/gtester.c: fixed off-by-one error which produced junk in logs.
      
      	* configure.in: check for python >= 2.4 and provide $PYTHON for scripts.
      
      
      svn path=/trunk/; revision=5914
      1e55738f
  3. 23 Mar, 2007 1 commit
  4. 29 Dec, 2006 1 commit
  5. 16 Aug, 2006 1 commit
  6. 02 May, 2006 1 commit
  7. 18 Feb, 2006 1 commit
    • Matthias Clasen's avatar
      Add paramspec-test · c773a618
      Matthias Clasen authored
      2006-02-18  Matthias Clasen  <mclasen@redhat.com>
      
      	* tests/gobject/Makefile.am: Add paramspec-test
      
      	* tests/gobject/paramspec-test.c: Some GParamSpec tests.
      c773a618
  8. 05 Dec, 2005 1 commit
  9. 09 Aug, 2005 1 commit
    • Matthias Clasen's avatar
      Add it here. · 320711e2
      Matthias Clasen authored
      2005-08-09  Matthias Clasen  <mclasen@redhat.com>
      
      	* tests/gobject/Makefile.am (test_programs): Add it here.
      
      	* tests/gobject/gvalue-test.c: Beginning of a test suite
      	for GValue.
      320711e2
  10. 05 May, 2005 1 commit
    • Owen Taylor's avatar
      Add g_object_add/remove_toggle_ref() functions to get notification when a · 2ae1a46b
      Owen Taylor authored
      2005-05-05  Owen Taylor  <otaylor@redhat.com>
      
              * gobject.[ch] gobject.symbols: Add
              g_object_add/remove_toggle_ref() functions to get notification
              when a reference count is the last remaining reference; this
              enables better memory management for language bindings.
              (http://mail.gnome.org/archives/gtk-devel-list/2005-April/msg00095.html)
      
      2005-05-05  Owen Taylor  <otaylor@redhat.com>
      
              * glib/gdataset.[ch] glib/gdatasetprivate.h: Add
              g_datalist_set/unset_flags(), g_datalist_get_flags() functions
              to squeeze some bits into a GDataSet... this is needed for
              efficient implementation of toggle references in GObject.
      
              * tests/gobject/references.c tests/gobject/Makefile.am:
              Add a test case for weak and toggle references.
      
              * glib/gfileutils.[ch]: Rename g_file_replace() back
              to g_file_set_contents().
      
              * glib/glib.symbols: Update.
      
      2005-05-05  Owen Taylor  <otaylor@redhat.com>
      
              * glib/Makefile.am glib/glib-sections.txt gobject/gobject-sections.txt:
              Update
      
              * gobject/tmpl/objects.sgml: Document toggle-references.
      2ae1a46b
  11. 24 Oct, 2003 1 commit
    • Tor Lillqvist's avatar
      Force shared library (DLL) only on Windows. (I don't think that is · 5d097b85
      Tor Lillqvist authored
      2003-10-24  Tor Lillqvist  <tml@iki.fi>
      
      	* configure.in: Force shared library (DLL) only on Windows.
      	(I don't think that is controversial?) Remove unnecessary
      	AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on
      	Win32, it is not used by mingw or MSVC headers.
      
      	* config.h.win32.in
      	* glibconfig.h.win32.in: Match what configure produces.
      
      	* glib/gconvert.c
      	* glib/gutils.c: Mark a couple of functions and variables that
      	aren't public as static.
      
      	* glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining
      	it potentially differently, to silence compiler.
      
      	* glib/glib.def: Add some missing entries.
      
      	* tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after
      	libtestgobject.
      
      	* tests/gobject/ifaceproperties.c (main): NULL-terminate arg list
      	to g_object_set() and _get().
      5d097b85
  12. 23 Oct, 2003 1 commit
    • Owen Taylor's avatar
      === Released 2.3.0 === · dfa8c540
      Owen Taylor authored
      Thu Oct 23 12:38:24 2003  Owen Taylor  <otaylor@redhat.com>
      
              * === Released 2.3.0 ===
      
              * tests/gobject/Makefile.am (dist-hook): Remove
              and extra backslash.
      
              * tests/gobject/Makefile.am (EXTRA_DIST): Add
              testmarshal.list.
      
              * glib/Makefile.am (libglib_2_0_la_SOURCES): Add
              missing gunicode-private.h.
      
              * tests/testglib.c (main): Fix a warning.
      
              * tests/gobject/ifaceinherit.c: Remove check that
              wasn't supposed to work (adding an interface already
              added to the derived class to the base class),
              fix a bug.
      dfa8c540
  13. 21 Oct, 2003 1 commit
  14. 02 Oct, 2003 2 commits
  15. 29 Sep, 2003 1 commit
  16. 12 Sep, 2003 1 commit
    • Owen Taylor's avatar
      New directory, framework for automated GObject tests. · 4ec041d5
      Owen Taylor authored
      Fri Sep 12 16:26:21 2003  Owen Taylor  <otaylor@redhat.com>
      
              * tests/gobject/ configure.in: New directory, framework
              for automated GObject tests.
      
              * tests/gobject/override.c: Move testoverride.c
              here, automate.
      
              * tests/gobject/ifaceinit.c: Move testifaceinit.c here.
      
              * tests/gobject/accumulator.c: Test signal accumulators,
              including g_signal_accumulator_true_handled.
      4ec041d5