关于tcmalloc\malloc和new

      最近在测试tcmalloc性能的时候发现了一个现象!!!!就是new似乎很消耗性能!!直接上代码!

       

#include "time.h"
#include <gperftools/tcmalloc.h>
using namespace std;#define MAX_SIZE 500000//MsgDuplex _msg_list;struct MsgToPut
{UINT _wr_ptr;UINT _rd_ptr;UINT _length;CHAR _base[1024];
};int main()
{long long int start = get_os_system_time();MessageBlock* mbs[MAX_SIZE];for(int i=0;i<MAX_SIZE;i++){mbs[i] = new MessageBlock(1024);delete mbs[i];}long long int end = get_os_system_time();printf("%d\n",end - start);MsgToPut* mtp[MAX_SIZE];for(int i=0;i<MAX_SIZE;i++){mtp[i] = (MsgToPut*)tc_malloc(sizeof(MsgToPut));tc_delete(mtp[i]);}start = get_os_system_time();printf("%d\n",start - end);return 0;
}

  MessageBlock 在博文http://www.cnblogs.com/archy_yu/archive/2012/09/07/2674909.html中有介绍!!!

 我们看下打印数据!

28
10

 既然new在执行的时候运行了构造函数,那么我们也做一个reset操作; 并且在每次mtp[i] = (MsgToPut*)tc_malloc(sizeof(MsgToPut));之后执行reset函数,但是效果影响不大,打印数据为:

28

12

new 相比malloc 和 tcmalloc要消耗性能!!!而且很客观!!!

转载于:https://www.cnblogs.com/archy_yu/archive/2013/03/22/2976137.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/293932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android之系统服务-WindowManager

WindowManager是Android中一个重要的服务&#xff08;Service &#xff09;。WindowManager Service 是全局的&#xff0c;是唯一的。它将用户的操作&#xff0c;翻译成为指令&#xff0c;发送给呈现在界面上的各个Window。Activity会将顶级的控件注册到 Window Manager 中&…

史上最可怕最震撼的46亿年世界历史!看完我跪了....

▲ 点击查看雨果在《笑面人》中曾说过&#xff1a;历史是什么&#xff0c;是过去传到将来的回声&#xff0c;是将来对过去的反映。哈佛大学、哥伦比亚大学、加州大学&#xff0c;这些精英摇篮&#xff0c;都要求所有学生必须选修历史。马云在演讲中说&#xff0c;自己喜欢历史&…

使用 dotnet format 格式化代码

使用 dotnet format 格式化代码Introdotnet-format 在之前的版本是一个独立的命令行工具&#xff0c;在 .NET 6 里已经成为了 SDK 的一部分&#xff0c;我们可以使用&#xff0c;使用 dotnet format 我们可以结合 editorconfig 保持代码风格的一致&#xff0c;我们也可以将 dot…

降低winnt Apache服务的权限,让你的虚拟主机更安全

winnt 安装 Apache 后&#xff0c;在后台的服务默认是以system权限运行的(system是winnt的最高权限&#xff09;&#xff0c;这给服务器带来很大的安全隐患&#xff0c;最近我遇到的就是php的W8C 文件管理既然可以随意浏览&#xff0c;创建和删除winnt分区内的所有文件&#xf…

MySQL relay log 详细参数解释

前言&#xff1a;MySQL进行主主复制或主从复制的时候会在home目录下面产生相应的relay log&#xff0c;本文档总结这些相关参数的定义及解释.1、什么是relay logThe relay log, like the binary log, consists of a set of numbered files containing events that describe dat…

B2B行业网站电话销售应具备的精神

B2B行业网站电话销售人员除了要具备一定的专业知识、销售技巧之外&#xff0c;还需要销售者本身具有一定的精神&#xff0c;才能更好的胜任电话销售的工作。 1 B2B行业网站电话销售的精神&#xff1a;脸皮厚、抗压力强、不达目的不罢休脸皮一定要足够厚&#xff0c;不能说别人…

Android之解决远程拍照不打开activity用其它方式获取surfaceView

关键代码&#xff1a; mSurfaceView new SurfaceView(mContext);mSurfaceHolder mSurfaceView.getHolder();mSurfaceHolder.setType(SurfaceHolder.SURFACETYPE_TYPE_PUSH_BUFFERS&#xff09;//获取相机缓存数据mmSurfaceHoler.addCallback(mSurfaceCallback);mWindowManag…

计算机管理用户和组无法访问,同一工作组无法访问如何解决【详解】

在生活中&#xff0c;不知道你是否和小编一样&#xff1a;计算机会出现各种各样&#xff0c;千奇百怪的问题&#xff0c;其中最常见的是同一工作组无法访问的问题。由于某种不知名的原因&#xff0c;在打开计算机网上邻居时&#xff0c;计算机会弹出讨人厌的提示——无法访问。…

linux去掉某一字符开头的行

grep -v ^# /home/test > /home/test2 转载于:https://www.cnblogs.com/no314/p/3656921.html

关于Asp.net core配置信息读取的源码分析梳理

概述我们都知道asp.net core配置信息的读取离不开IConfigurationSource和IConfigurationProvider这两个类&#xff0c;ConfigurationSource可以提供一个ConfigurationProvider&#xff0c;然后去读取信息。究竟他们之间有着怎样的千丝万缕&#xff0c;我们一起来看看源码。首先…

MCGS与PLC通讯不上

为什么80%的码农都做不了架构师&#xff1f;>>> 组态串口参数错误 应为偶校验 转载于:https://my.oschina.net/5star/blog/118301

MySQL案例分析--QueryCache

QueryCache联动内容:http://blog.itpub.net/29510932/viewspace-1694922/ -------------------------------------------------------------------------------------------------正文--------------------------------------------------------------------------------------…

Android之PowerManager简介

android.os. PowerManager 通过 PowerManager 类我们可以对设备的电源进行管理。对该类API的使用将影响到电池寿命。只有在必须使用WakeLocks的时候,才使用WakeLocks,且在不使用它的时候要及时释放(release). 默认情况下,当用户对手机有一段时间没有操作后࿰

计算机科学中的虚拟化包括哪些,计算机虚拟化包括哪几个方面(计算机虚拟技术在计算机教学中的应用探究)...

经济的快速发展使我国飞速发展&#xff0c;进入也进入了现代化的网络时代。计算机科学硕士论文&#xff0c;表示&#xff0c;在计算机教学中运用虚拟技术实现了教学的多元化&#xff0c;降低了教学成本&#xff0c;最终提高了学生的学习质量。虚拟技术已经成为人机交互的基本媒…

什么时候告白最合适?

1 电饭煲吐血了&#xff01;&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 比冰淇淋掉地上更悲剧的事&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 老师的火气又上去了▼4 什么时候最适合告白&#xff08;via.银教授&#xff0c;侵删&#xff09;▼…

helloworld:一个完整的WCF案例

服务端 1.创建一个空的解决方案:WCFDemo: 2.创建一个宿主控制台程序&#xff1a;Host 3.右击Host项目&#xff0c;选择“添加”--“新建项”&#xff0c;选择“WCF服务”创建名为“Service1.cs”的服务 如此&#xff1a;VS2010已经为我们创建了 IService1.cs Service1.cs a…

极简实用的Asp.NetCore模块化框架决定免费开源了

背景在开发这个框架之前&#xff0c;前前后后看过好几款模块化的框架&#xff0c;最后在一段时间内对ABP VNext痛下狠心&#xff0c;研究一段时间后&#xff0c;不得不说 ABP VNext的代码层面很规范&#xff0c;也都是一些最佳实践&#xff0c;开发出一个模块效率也很高。但不得…

我做的OSC界面

2019独角兽企业重金招聘Python工程师标准>>> 转载于:https://my.oschina.net/hotbain/blog/118542

Android之Timer和TimerTask的介绍

在开发中我们有时会有这样的需求&#xff0c;即在固定的每隔一段时间执行某一个任务。比如UI上的控件需要随着时间改变&#xff0c;我们可以使用Java为我们提供的计时器的工具类&#xff0c;即Timer和TimerTask。 Timer是一个普通的类&#xff0c;其中有几个重要的方法&#…