Fast memcpy

刚刚写了一个fast的memcpy,叫做Pz_memcpy;至于Pz,就是Proze的缩写,而Proze是什么,你们以后就知道了。

代码随便用,no copyright。

/*
 * healer
 * healer_kx@163.com
 * OR yuzhongm@cn.ibm.com
 
*/
void *  Pz_memcpy( void *  dest,  void *  src, size_t len)
{
    size_t l 
=  len  /   8 ;
    size_t m 
=  len  %   8 ;

    
int *  si  =  ( int * )src;
    
int *  di  =  ( int * )dest;
    
while  (l -- )
    {
        
* di ++   =   * si ++ ;
        
* di ++   =   * si ++ ;
    }

    unsigned 
char *  sc  =  (unsigned  char * )si;
    unsigned 
char *  dc  =  (unsigned  char * )di;

    
switch (m)
    {
    
case   8 * dc ++   =   * sc ++ ;
    
case   7 * dc ++   =   * sc ++ ;
    
case   6 * dc ++   =   * sc ++ ;
    
case   5 * dc ++   =   * sc ++ ;
    
case   4 * dc ++   =   * sc ++ ;
    
case   3 * dc ++   =   * sc ++ ;
    
case   2 * dc ++   =   * sc ++ ;
    
case   1 * dc ++   =   * sc ++ ;
    
case   0 :
    
default :
        
break ;
    }
    
return  dest;
}


转载于:https://www.cnblogs.com/healerkx/articles/1337456.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值