byte[] to byte*... What is the fastest way? - Framework and Interface Programming

This is a discussion on byte[] to byte*... What is the fastest way? - Framework and Interface Programming ; Hi, The subject says it all... I want to use a byte[] and use it as byte* so I can increment the pointer to iterate through it. What is the fastest way of doing so in C#? Thanks ThunderMusic...

+ Reply to Thread
Page 1 of 6 1 2 3 ... LastLast
Results 1 to 10 of 51

byte[] to byte*... What is the fastest way?

  1. Default byte[] to byte*... What is the fastest way?

    Hi,
    The subject says it all... I want to use a byte[] and use it as byte* so I
    can increment the pointer to iterate through it.

    What is the fastest way of doing so in C#?

    Thanks

    ThunderMusic



  2. Default Re: byte[] to byte*... What is the fastest way?

    >The subject says it all... I want to use a byte[] and use it as byte* so I
    >can increment the pointer to iterate through it.
    >
    >What is the fastest way of doing so in C#?


    The fixed statement?


    Mattias

    --
    Mattias Sjögren [C# MVP] mattias @ mvps.org
    http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
    Please reply only to the newsgroup.

  3. Default Re: byte[] to byte*... What is the fastest way?

    >The subject says it all... I want to use a byte[] and use it as byte* so I
    >can increment the pointer to iterate through it.
    >
    >What is the fastest way of doing so in C#?


    The fixed statement?


    Mattias

    --
    Mattias Sjögren [C# MVP] mattias @ mvps.org
    http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
    Please reply only to the newsgroup.

  4. Default Re: byte[] to byte*... What is the fastest way?

    ThunderMusic,

    Use unsafe code:

    byte[] bytes = ...;

    unsafe
    {
    fixed (byte* p = bytes)
    {
    // Work with pointer here.
    }
    }

    As a matter of fact, that's the only way to do it, as you need to pin
    down the location of the array to prevent the reference from moving around.

    Is there a reason you need the pointer, or are you just looking for a
    faster way to iterate through the array?


    --
    - Nicholas Paldino [.NET/C# MVP]
    - mvp@spam.guard.caspershouse.com

    "ThunderMusic" <NoSpAmdanlatathotmaildotcom@NoSpAm.com> wrote in message
    news:%23KkK5zb5HHA.5316@TK2MSFTNGP04.phx.gbl...
    > Hi,
    > The subject says it all... I want to use a byte[] and use it as byte* so I
    > can increment the pointer to iterate through it.
    >
    > What is the fastest way of doing so in C#?
    >
    > Thanks
    >
    > ThunderMusic
    >




  5. Default Re: byte[] to byte*... What is the fastest way?

    ThunderMusic,

    Use unsafe code:

    byte[] bytes = ...;

    unsafe
    {
    fixed (byte* p = bytes)
    {
    // Work with pointer here.
    }
    }

    As a matter of fact, that's the only way to do it, as you need to pin
    down the location of the array to prevent the reference from moving around.

    Is there a reason you need the pointer, or are you just looking for a
    faster way to iterate through the array?


    --
    - Nicholas Paldino [.NET/C# MVP]
    - mvp@spam.guard.caspershouse.com

    "ThunderMusic" <NoSpAmdanlatathotmaildotcom@NoSpAm.com> wrote in message
    news:%23KkK5zb5HHA.5316@TK2MSFTNGP04.phx.gbl...
    > Hi,
    > The subject says it all... I want to use a byte[] and use it as byte* so I
    > can increment the pointer to iterate through it.
    >
    > What is the fastest way of doing so in C#?
    >
    > Thanks
    >
    > ThunderMusic
    >




  6. Default Re: byte[] to byte*... What is the fastest way?

    Hi,

    "ThunderMusic" <NoSpAmdanlatathotmaildotcom@NoSpAm.com> wrote in message
    news:%23KkK5zb5HHA.5316@TK2MSFTNGP04.phx.gbl...
    > Hi,
    > The subject says it all... I want to use a byte[] and use it as byte* so I
    > can increment the pointer to iterate through it.
    >
    > What is the fastest way of doing so in C#?


    Out of curiosity, why you want to do that?

    What is wrong with using a indexer like
    for( int i=0; i< buffer.Lengh; i++
    buffer[i] .....




  7. Default Re: byte[] to byte*... What is the fastest way?

    Hi,

    "ThunderMusic" <NoSpAmdanlatathotmaildotcom@NoSpAm.com> wrote in message
    news:%23KkK5zb5HHA.5316@TK2MSFTNGP04.phx.gbl...
    > Hi,
    > The subject says it all... I want to use a byte[] and use it as byte* so I
    > can increment the pointer to iterate through it.
    >
    > What is the fastest way of doing so in C#?


    Out of curiosity, why you want to do that?

    What is wrong with using a indexer like
    for( int i=0; i< buffer.Lengh; i++
    buffer[i] .....




  8. Default Re: byte[] to byte*... What is the fastest way?

    "ThunderMusic" <NoSpAmdanlatathotmaildotcom@NoSpAm.com> wrote:

    > The subject says it all... I want to use a byte[] and use it as byte* so I
    > can increment the pointer to iterate through it.


    I really hate to be pedantic, but I'm willing to bet that the difference in
    how you iterate through your array makes little to no difference in the
    overall performance of your code.

    People frequently are guilting of over-optimizing things that are already
    "Fast Enough". Unless you've verified this section is slow via a Profiler,
    you're better off not getting fancy with optimizations.

    --
    Chris Mullins, MCSD.NET, MCPD:Enterprise, Microsoft C# MVP
    http://www.coversant.com/blogs/cmullins



  9. Default Re: byte[] to byte*... What is the fastest way?

    "ThunderMusic" <NoSpAmdanlatathotmaildotcom@NoSpAm.com> wrote:

    > The subject says it all... I want to use a byte[] and use it as byte* so I
    > can increment the pointer to iterate through it.


    I really hate to be pedantic, but I'm willing to bet that the difference in
    how you iterate through your array makes little to no difference in the
    overall performance of your code.

    People frequently are guilting of over-optimizing things that are already
    "Fast Enough". Unless you've verified this section is slow via a Profiler,
    you're better off not getting fancy with optimizations.

    --
    Chris Mullins, MCSD.NET, MCPD:Enterprise, Microsoft C# MVP
    http://www.coversant.com/blogs/cmullins



  10. Default Re: byte[] to byte*... What is the fastest way?

    hi,
    thanks for the really quick answer... Your solution works, but I can't
    do p++ because it's fixed. So I must use another pointer like byte* p2 = p;
    so now I can do p2++;...

    Actually, I'm looking for a faster way to compute a checksum on a byte
    array... For now, I'm using the Adler-32 algorithm, but I'm open to advises
    on a performant checksum algorithm. It will be for an error checking
    mecanism for tcp and udp communication on a closed network environment. So
    it doesn't need to be human-modification resistant, it's just to prevent
    modification due to the noise on the line (if it can happen)...

    Thanks

    ThunderMusic

    "Nicholas Paldino [.NET/C# MVP]" <mvp@spam.guard.caspershouse.com> wrote in
    message news:uezij7b5HHA.5360@TK2MSFTNGP03.phx.gbl...
    > ThunderMusic,
    >
    > Use unsafe code:
    >
    > byte[] bytes = ...;
    >
    > unsafe
    > {
    > fixed (byte* p = bytes)
    > {
    > // Work with pointer here.
    > }
    > }
    >
    > As a matter of fact, that's the only way to do it, as you need to pin
    > down the location of the array to prevent the reference from moving
    > around.
    >
    > Is there a reason you need the pointer, or are you just looking for a
    > faster way to iterate through the array?
    >
    >
    > --
    > - Nicholas Paldino [.NET/C# MVP]
    > - mvp@spam.guard.caspershouse.com
    >
    > "ThunderMusic" <NoSpAmdanlatathotmaildotcom@NoSpAm.com> wrote in message
    > news:%23KkK5zb5HHA.5316@TK2MSFTNGP04.phx.gbl...
    >> Hi,
    >> The subject says it all... I want to use a byte[] and use it as byte* so
    >> I can increment the pointer to iterate through it.
    >>
    >> What is the fastest way of doing so in C#?
    >>
    >> Thanks
    >>
    >> ThunderMusic
    >>

    >
    >




+ Reply to Thread
Page 1 of 6 1 2 3 ... LastLast

Similar Threads

  1. Byte to byte compare, duplicate file finder/killer
    By Application Development in forum ASM x86 ASM 370
    Replies: 12
    Last Post: 10-01-2007, 04:37 PM
  2. byte[] to byte*... What is the fastest way?
    By Application Development in forum CSharp
    Replies: 25
    Last Post: 08-30-2007, 04:47 AM
  3. byte[] to byte*... What is the fastest way?
    By Application Development in forum DOTNET
    Replies: 0
    Last Post: 08-23-2007, 02:36 PM
  4. Fastest way to convert a byte of integer into a list
    By Application Development in forum Python
    Replies: 13
    Last Post: 07-14-2007, 09:37 PM
  5. Replies: 3
    Last Post: 07-11-2007, 06:16 PM