[lkml]   [2005]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Use of C99 int types

    On Apr 3, 2005, at 2:30 PM, Dag Arne Osvik wrote:

    > Stephen Rothwell wrote:
    >> On Sun, 03 Apr 2005 13:55:39 +0200 Dag Arne Osvik <> wrote:
    >>> I've been working on a new DES implementation for Linux, and ran into
    >>> the problem of how to get access to C99 types like uint_fast32_t for
    >>> internal (not interface) use. In my tests, key setup on Athlon 64
    >>> slows
    >>> down by 40% when using u32 instead of uint_fast32_t.
    >> If you look in stdint.h you may find that uint_fast32_t is actually
    >> 64 bits on Athlon 64 ... so does it help if you use u64?
    > Yes, but wouldn't it be much better to avoid code like the following,
    > which may also be wrong (in terms of speed)?
    > #ifdef CONFIG_64BIT // or maybe CONFIG_X86_64?
    > #define fast_u32 u64
    > #else
    > #define fast_u32 u32
    > #endif

    Isn't it better to use a general integer type, reflecting the cpu's
    native register-size and let the compiler sort it out? Restrict all
    uses of explicit width types to where it's *really* needed, that is, in
    drivers, network-code, etc. I firmly oppose any definition of "#define
    fast_u32 u64". This kind of definitions will only create needless

    I wonder how much other code is suffering from this kind of overly
    explicit typing. It's much easier to make assumptions about integer
    size unwittingly than it is to avoid them. I used to assume (for
    instance) that sizeof(int) == sizeof(long) == sizeof(void *) at one
    point in my career. Fortunately, reality soon asserted itself again.


    Renate Meijer.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-04-06 13:31    [W:0.021 / U:13.780 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site