当前位置: 首页 > news >正文

大公司网站搭建公司网站空间续费一年多少钱

大公司网站搭建公司,网站空间续费一年多少钱,兰州起点网站建设公司,服务商是什么意思目录 4.1手动实现多核base16编码4.1.1 实现base16编码4.1.2无多线程代码4.1.3 C 11多线程代码4.1.4 C 17多线程并发4.1.5 所有测试代码汇总 4.1手动实现多核base16编码 4.1.1 实现base16编码 二进制转换为字符串 一个字节8位#xff0c;拆分为两个4位字节#xff08;最大值… 目录 4.1手动实现多核base16编码4.1.1 实现base16编码4.1.2无多线程代码4.1.3 C 11多线程代码4.1.4 C 17多线程并发4.1.5 所有测试代码汇总 4.1手动实现多核base16编码 4.1.1 实现base16编码 二进制转换为字符串 一个字节8位拆分为两个4位字节最大值16 拆分后的字节映射到0123456789abcdef 4.1.2无多线程代码 #include thread #includeiostream #includefuture #include string #include vector #include chrono//计时头C11using namespace std; using namespace chrono;static const char base16[] 0123456789abcdef; void Base16Encode(const unsigned char* data, int size, unsigned char* out) {for (int i 0; i size; i){unsigned char d data[i];//0000 0000//1234 5678 4 0000 1234 移位操作//1234 5678 0000 1111 0000 5678char a base16[d 4];//取出高位char b base16[d 0x0F];//取出低位out[i * 2] a;out[i * 21] b;} }int main() {//使用字符串进行16位编码测试string test_data 测试base16编码;printf(test_data size%d\n, test_data.size());//一个中文占用2个字节一个英文占用1个字节如果要解码出来包含中文和英文有点难度unsigned char* out new unsigned char[test_data.size()*21];Base16Encode((unsigned char*)test_data.data(), test_data.size(), out);//编码out[test_data.size()*2] \0;//字符串\0结尾否则后面总有乱码cout base16: out endl;//测试单线程base16编码效率{vectorunsigned charin_data;in_data.resize(1024 * 1024 * 20);// 1024*1024*10 - 10M 测试数据for (int i 0; i in_data.size(); i){//初始化里面数据in_data[i] i % 256;}vectorunsigned charout_data;out_data.resize(in_data.size()*2);//是输入数据2倍auto start system_clock::now();//计时开始Base16Encode(in_data.data(), in_data.size(),out_data.data());auto end system_clock::now();//计时结束auto duration duration_castmilliseconds(end-start);//模板函数转换到毫秒cout 编码 in_data.size() 字节数据花费 duration.count() 毫秒 endl;//cout out_data.data() endl;}printf(All done!\n);getchar();return 0; }4.1.3 C 11多线程代码 //C11多线程 void Base16EncodeThread(const vectorunsigned chardata, vectorunsigned char out) {long size data.size();int th_count thread::hardware_concurrency();//系统支持的线程核心数printf(CPU report thread count:%d\n,th_count);//对原始数据进行切片long slice_count size / th_count;//余数丢弃了余数后续单独处理if (size th_count){//只切一片th_count 1;//1个线程搞定slice_count size;}vectorthread ths;//准备好线程ths.resize(th_count);//任务分配到各个线程 for (int i 0; i th_count; i){//eg. 1234 5678 9abc defg hi//计算偏移位置long offset i * slice_count;long count slice_count;//最后一个线程要把余数加起来一起处理if (th_count 1 i th_count - 1){count slice_count size%th_count;}//cout offset : count endl;ths[i] thread(Base16Encode, data.data() offset,count, out.data());}//等待所有线程处理结束for (auto th : ths){th.join();} } 4.1.4 C 17多线程并发 printf(C17多线程Base16编码效率测试(编译的时候先检查设置C17) 开始计算\n);//设置C17方法属性-C/C -C语言标准 设置ISOC17vectorunsigned charin_data;in_data.resize(TestNumber);// 1024*1024*10 - 10M 测试数据for (int i 0; i in_data.size(); i){//初始化里面数据in_data[i] i % 256;}vectorunsigned charout_data;out_data.resize(in_data.size() * 2);//是输入数据2倍auto start system_clock::now();//计时开始//#include execution //C17 支持std::for_each(std::execution::par,//并行计算 多核in_data.begin(),in_data.end(),[](auto d)//多线程进入此函数{char a base16[(d 4)];char b base16[(d 0x0F)];int index d - in_data.data();out_data[index * 2] a;out_data[index * 2 1] b;});auto end system_clock::now();//计时结束auto duration duration_castmilliseconds(end - start);//模板函数转换到毫秒cout C17多线程 编码 in_data.size() 字节数据花费 duration.count() 毫秒 endl;4.1.5 所有测试代码汇总 #include thread #includeiostream #includefuture #include string #include vector #include chrono//计时头C11#include execution //C17 for_eachusing namespace std; using namespace chrono;static const char base16[] 0123456789abcdef; void Base16Encode(const unsigned char* data, long size, unsigned char* out) {for (int i 0; i size; i){unsigned char d data[i];//0000 0000//1234 5678 4 0000 1234 移位操作//1234 5678 0000 1111 0000 5678char a base16[d 4];//取出高位char b base16[d 0x0F];//取出低位out[i * 2] a;out[i * 21] b;} }//C11多线程 void Base16EncodeThread(const vectorunsigned chardata, vectorunsigned char out) {long size data.size();int th_count thread::hardware_concurrency();//系统支持的线程核心数printf(CPU report thread count:%d\n,th_count);//对原始数据进行切片long slice_count size / th_count;//余数丢弃了余数后续单独处理if (size th_count){//只切一片th_count 1;//1个线程搞定slice_count size;}vectorthread ths;//准备好线程ths.resize(th_count);//任务分配到各个线程 for (int i 0; i th_count; i){//eg. 1234 5678 9abc defg hi//计算偏移位置long offset i * slice_count;long count slice_count;//最后一个线程要把余数加起来一起处理if (th_count 1 i th_count - 1){count slice_count size%th_count;}//cout offset : count endl;ths[i] thread(Base16Encode, data.data() offset,count, out.data());}//等待所有线程处理结束for (auto th : ths){th.join();} }int main() {int TestNumber 1024 * 1024 * 20 - 1; //1024 * 1024 * 10 - 10M 测试数据大小//使用字符串进行16位编码测试string test_data 测试base16编码;printf(test_data size%d\n, test_data.size());//一个中文占用2个字节一个英文占用1个字节如果要解码出来包含中文和英文有点难度unsigned char* out new unsigned char[test_data.size()*21];Base16Encode((unsigned char*)test_data.data(), test_data.size(), out);//编码out[test_data.size()*2] \0;cout base16: out endl;//测试单线程base16编码效率{printf(单线程Base16编码效率测试 开始计算\n);vectorunsigned charin_data;in_data.resize(TestNumber);// 1024*1024*10 - 10M 测试数据for (int i 0; i in_data.size(); i){//初始化里面数据in_data[i] i % 256;}vectorunsigned charout_data;out_data.resize(in_data.size()*2);//是输入数据2倍auto start system_clock::now();//计时开始Base16Encode(in_data.data(), in_data.size(),out_data.data());auto end system_clock::now();//计时结束auto duration duration_castmilliseconds(end-start);//模板函数转换到毫秒cout 编码 in_data.size() 字节数据花费 duration.count() 毫秒 endl;//cout out_data.data() endl;//预览编码后的文本}//测试C11多线程base16编码效率{printf(C11多线程Base16编码效率测试 开始计算\n);vectorunsigned charin_data;in_data.resize(TestNumber);// 1024*1024*10 - 10M 测试数据for (int i 0; i in_data.size(); i){//初始化里面数据in_data[i] i % 256;}vectorunsigned charout_data;out_data.resize(in_data.size() * 2);//是输入数据2倍auto start system_clock::now();//计时开始Base16EncodeThread(in_data, out_data);//多线程auto end system_clock::now();//计时结束auto duration duration_castmilliseconds(end - start);//模板函数转换到毫秒cout C11多线程 编码 in_data.size() 字节数据花费 duration.count() 毫秒 endl;//cout out_data.data() endl;//预览编码后的文本}//测试C11多线程base16编码效率{printf(C17多线程Base16编码效率测试(编译的时候先检查设置C17) 开始计算\n);//设置C17方法属性-C/C -C语言标准 设置ISOC17vectorunsigned charin_data;in_data.resize(TestNumber);// 1024*1024*10 - 10M 测试数据for (int i 0; i in_data.size(); i){//初始化里面数据in_data[i] i % 256;}vectorunsigned charout_data;out_data.resize(in_data.size() * 2);//是输入数据2倍auto start system_clock::now();//计时开始//#include execution //C17 支持std::for_each(std::execution::par,//并行计算 多核in_data.begin(),in_data.end(),[](auto d)//多线程进入此函数{char a base16[(d 4)];char b base16[(d 0x0F)];int index d - in_data.data();out_data[index * 2] a;out_data[index * 2 1] b;});auto end system_clock::now();//计时结束auto duration duration_castmilliseconds(end - start);//模板函数转换到毫秒cout C17多线程 编码 in_data.size() 字节数据花费 duration.count() 毫秒 endl;//cout out_data.data() endl;//预览编码后的文本}printf(All done!\n);getchar();return 0; }分析 release版本优化的比较多之所以C17耗时较长原因是进入多线程次数远远大于C11,C11只进入了12次而C17采用lambda表达式函数进入了TestNumber次
http://www.dnsts.com.cn/news/18981.html

相关文章:

  • 外贸流程及详细介绍黔南seo
  • 济南建手机网站公司沈阳妇幼保健院人流价格表
  • 处方药可以做网站吗企业网站建设大概的费用
  • 品牌推广营销平台wordpress优化检测
  • 微信公众号上微做网站阿里云网站域名查询
  • 做外贸哪些网站可以找客户赣州做网站什么价格
  • 集团网站群网站如何做快照
  • 宜城网站定制WORDPRESS添加注册登入功能
  • 如保做网站赢利专门做问卷的网站
  • 潍坊中小型网站建设公司网站建设实验报告总结
  • 旅游网站组织结构图怎么做wordpress目录分类如何使用方法
  • 团购产品 网站建设自己开加工厂怎么找订单
  • 深圳做兼职的网站wordpress php.ini
  • 做app推广上哪些网站广州模板建站哪家好
  • 网站建设需要哪些人才乾县做网站
  • 女装网站功能的建设恒丰建设集团有限公司 网站
  • 淘宝客可以自己做网站推广吗pc端网页视频怎么下载
  • django做待办事项网站电子商务营销的发展趋势
  • 网站建设费用会计入什么费用淘宝客做的好的几个网站
  • 王璞网站开发实战网站首页制作网站
  • 大型网站流量智能小程序开发
  • 坪山网站建设服务网络营销推广策划的步骤
  • 局域网网站开发软件密云富阳网站建设
  • 网站如何做优化好的外贸平台
  • 烟台专业做网站公司哪家好装修公司网站如何做网络推广
  • 电子商务网站制作公司卖产品的网站怎么做
  • php做网站示例白沟网站建设
  • 做街机棋牌上什么网站发广告页面在线设计网站
  • 做网站所需要的资质智能logo设计网站
  • 怎样查看网站关键词软件公司市值排名