Sponsored Content
Full Discussion: q on memmove()
Top Forums Programming q on memmove() Post 302213340 by Roman Voznyuk on Wednesday 9th of July 2008 09:59:26 PM
Old 07-09-2008
Performance.

If you are sure that buffer are not overlapped, you should use memcpy, becuase it's faster
 

We Also Found This Discussion For You

1. Red Hat

Memmove fail on 4 Gb+ raster under RHEL 64 bit

I'm rotating huge image rasters (1+ GB) using a 3-shear algorithm. I rotate 'in-place' after reallocating the raster. A necessary first step is reorganizing the image in the new raster dimensions that will exist after the rotation. RGBA pixels byte packed into uint32. The following code runs... (6 Replies)
Discussion started by: imagtek
6 Replies
memchr(9F)						   Kernel Functions for Drivers 						memchr(9F)

NAME
memchr, memcmp, memcpy, memmove, memset - Memory operations SYNOPSIS
#include <sys/ddi.h> void *memchr(const void *s, int c, size_t n); int memcmp(const void *s1, const void *s2, size_t n); void *memcpy(void *restrict s1, const void *restrict s2, size_t n); void *memmove(void *s1, const void *s2, size_t n); void *memset(void *s, int c, size_t n); INTERFACE LEVEL
Solaris DDI specific (Solaris DDI). PARAMETERS
dst Pointers to character strings. n Count of characters to be copied. s1, s2 Pointers to character strings. DESCRIPTION
These functions operate as efficiently as possible on memory areas (arrays of bytes bounded by a count, not terminated by a null charac- ter). They do not check for the overflow of any receiving memory area. The memchr() function returns a pointer to the first occurrence of c (converted to an unsigned char) in the first n bytes (each interpreted as an unsigned char) of memory area s, or a null pointer if c does not occur. The memcmp() function compares its arguments, looking at the first n bytes (each interpreted as an unsigned char), and returns an integer less than, equal to, or greater than 0, according as s1 is lexicographically less than, equal to, or greater than s2 when taken to be unsigned characters. The memcpy() function copies n bytes from memory area s2 to s1. It returns s1. If copying takes place between objects that overlap, the behavior is undefined. The memmove() function copies n bytes from memory area s2 to memory area s1. Copying between objects that overlap will take place cor- rectly. It returns s1. The memset() function sets the first n bytes in memory area s to the value of c (converted to an unsigned char). It returns s. USAGE
Using memcpy() might be faster than using memmove() if the application knows that the objects being copied do not overlap. CONTEXT
These functions can be called from user or interrupt context. SEE ALSO
bcopy(9F), ddi_copyin(9F), strcpy(9F) Writing Device Drivers SunOS 5.10 7 Sep 2004 memchr(9F)
All times are GMT -4. The time now is 11:29 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy