1. 08 May, 2012 1 commit
  2. 25 Nov, 2011 1 commit
    • Simon Marlow's avatar
      Time handling overhaul · 6b109851
      Simon Marlow authored
      Terminology cleanup: the type "Ticks" has been renamed "Time", which
      is an StgWord64 in units of TIME_RESOLUTION (currently nanoseconds).
      The terminology "tick" is now used consistently to mean the interval
      between timer signals.
      
      The ticker now always ticks in realtime (actually CLOCK_MONOTONIC if
      we have it).  Before it used CPU time in the non-threaded RTS and
      realtime in the threaded RTS, but I've discovered that the CPU timer
      has terrible resolution (at least on Linux) and isn't much use for
      profiling.  So now we always use realtime.  This should also fix
      
      The default tick interval is now 10ms, except when profiling where we
      drop it to 1ms.  This gives more accurate profiles without affecting
      runtime too much (<1%).
      
      Lots of cleanups - the resolution of Time is now in one place
      only (Rts.h) rather than having calculations that depend on the
      resolution scattered all over the RTS.  I hope I found them all.
      6b109851
  3. 26 Oct, 2011 2 commits
  4. 08 Jul, 2010 1 commit
  5. 07 Apr, 2006 1 commit
    • Simon Marlow's avatar
      Reorganisation of the source tree · 0065d5ab
      Simon Marlow authored
      Most of the other users of the fptools build system have migrated to
      Cabal, and with the move to darcs we can now flatten the source tree
      without losing history, so here goes.
      
      The main change is that the ghc/ subdir is gone, and most of what it
      contained is now at the top level.  The build system now makes no
      pretense at being multi-project, it is just the GHC build system.
      
      No doubt this will break many things, and there will be a period of
      instability while we fix the dependencies.  A straightforward build
      should work, but I haven't yet fixed binary/source distributions.
      Changes to the Building Guide will follow, too.
      0065d5ab
  6. 03 Nov, 2005 3 commits
    • simonmar's avatar
      [project @ 2005-11-03 16:22:15 by simonmar] · d8afa7c9
      simonmar authored
      Improve the Win32 implementation of the time-measurement stuff.  Now
      supports per-thread CPU time, and the elapsed time should be correct
      (previously it was the sum of user time & kernel time, which isn't
      what we want).
      d8afa7c9
    • simonmar's avatar
      [project @ 2005-11-03 13:39:22 by simonmar] · 57fadb77
      simonmar authored
      Fix build on win32.
      57fadb77
    • simonmar's avatar
      [project @ 2005-11-03 11:05:38 by simonmar] · cc2926f3
      simonmar authored
      Improvments to time-measurement and stats:
      
        - move all the platform-dependent timing related stuff into
          posix/GetTime.c and win32/GetTime.c, with the machine-indepent
          interface specified in GetTime.h.  This is now used by
          Stats.c.
      
        - On Unix, use gettimeofday() and getrusage() by default, falling
          back to time() if one of these isn't available.
      
        - try to implement thread-specfic CPU-time measurement using
          clock_gettime() on Unix.  Doesn't work reliably on Linux, because
          the implemenation tries to use the processor TSC, which on an
          SMP machine goes wrong when the thread moves between CPUs.  However,
          it's slightly less bogus that before, and hopefully will improve
          in the future.
      cc2926f3