关于@淘宝日照问题的代码

@淘宝日照 提出了一个问题

问题:memset 1G的内存一次与memset 8个字节内存1G/8次哪个操作更快?

我的测试代码如下:


#include <iostream>

#include "stdlib.h"
#include "string.h"
using namespace std;
static __inline__ unsigned long long rdtsc(void)
{
  unsigned hi, lo;
  __asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi));
  return ( (unsigned long long)lo)|( ((unsigned long long)hi)<<32 );
}
nt main(void)
{
        int mem_size = 16*1024*1024;
        char* ptr1 = (char*)malloc(mem_size);
        memset(ptr1,0x0,mem_size);


        unsigned long long now = rdtsc();
        memset(ptr1,0x1,mem_size);
        unsigned long long end = rdtsc();
        cout<<"use time:\t"<< end - now <<endl;
        free(ptr1);
        char* ptr2 = (char*)malloc(mem_size);
        memset(ptr2,0x0,mem_size);
        now = rdtsc();
        int seg = mem_size/8;
        for(int i = 0;i<seg;++i)
        {
                memset(ptr2+i*8,0x2,8);
        }
        end = rdtsc();
        cout<<"use time:\t"<< end - now <<endl;
        free(ptr2);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MATLAB是一种用于科学计算和数据可视化的软件环境,也被广泛用于地理信息系统(GIS)和气象领域。在MATLAB中,我们可以使用经纬度数据进行日照分析。 日照是指太阳光照射地球的时间和强度。通过分析经纬度数据和日期时间数据,我们可以计算出某个特定位置在不同时间段内的日照情况。 在MATLAB中,可以使用内置的工具箱(如Mapping Toolbox和Image Processing Toolbox)来处理地理信息数据和图像数据。通过加载相应的数据并使用适当的函数,我们可以获取特定经纬度位置的日照数据。 要进行经纬度日照分析,首先需要获取地理坐标数据和日期时间数据。可以从多个资源中获取这些数据,如卫星图像、气象数据等。 然后,可以使用MATLAB中的相关函数来计算特定经纬度位置在不同时间段内的日照情况。这些函数可以根据地理坐标和日期时间数据计算太阳高度角、太阳方位角、日照时间等。 MATLAB还提供了数据可视化功能,可以将计算得到的日照数据以图形或图像的形式展示出来。这样,我们可以直观地了解某个特定位置在不同时间段内的日照情况,从而更好地进行日照分析和研究。 总之,MATLAB可以帮助我们进行经纬度日照分析。通过加载地理坐标和日期时间数据,并使用相关函数进行计算,我们可以获取某个特定位置在不同时间段内的日照情况,并通过数据可视化功能进行展示和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值