packages feed

rdtsc-1.3.0.0: rdtsc.cabal

Name: rdtsc
Version: 1.3.0.0
Build-type: Simple
Cabal-version: >= 1.6

Synopsis: Binding for the rdtsc machine instruction
Description: This module provides the function 'rdtsc' for accessing
  the 'rdtsc' machine register on modern IA-32 processors.  This is
  a 64-bit counter which counts the number of processor cycles since
  the machine has been powered up.  Using this instruction, you can
  make very precise time measurements which are independent of the
  actual CPU frequency.  But note that you can get strange results
  sometimes on a superscalar processor.
  .
  Also note that the Haskell foreign function interface imposes some
  additional overheads.  On my machine, it takes about 950 cycles to
  call this function twice and to compute the difference, whereas in
  C the overhead is only about 88 cycles.

License: BSD3

License-file: LICENSE

Author: Martin Grabmueller <martin@grabmueller.de>

Maintainer: martin@grabmueller.de

Homepage: http://code.haskell.org/rdtsc

Category: Foreign binding

Stability: Experimental

extra-source-files:  README
  tests/Makefile
  tests/test_rdtsc.c
  tests/TestRdtsc.hs

Source-repository head
  type:     darcs
  location: http://code.haskell.org/rdtsc/

Library
  Exposed-Modules:
    System.CPUTime.Rdtsc
  Extensions: ForeignFunctionInterface
  C-sources: cbits/rdtsc.c
  Include-dirs: cbits
  Install-includes:
    rdtsc.h
    cycle.h
  ghc-options:        -Wall
  Build-depends:      base >= 4 && < 5