ITPub博客

首页 > > > dpdk 二次开发之C和C++兼容性及性能问题

dpdk 二次开发之C和C++兼容性及性能问题

作者:codergeek 时间:2019-09-26 15:26:29 0 删除 编辑

公司项目代码是使用封装的dpdk库,上层业务处理(解析数据包,会话重组,数据结果合并等业务)都采用C++语言实现

在NUMA模式下,如果想实现高性能,必然要保证CPU和CPU访问的内存属于同一个Socket 节点

如果项目是纯c代码,将malloc函数替换成rte_malloc_socket函数即可在指定的socket节点上申请内存空间,

但是在C++代码中却不能这样改动!!!

默认情况下,C++ 的new操作符来分配内存空间会自动调用类的构造函数,那么修改new为rte_malloc后将不会主动调用类的构造函数,释放内存时也不会主动调用类的析构函数,请教下各位大佬有什么可行的方法吗?

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29296549/viewspace-3152816/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2019-09-24

  • 博文量
    1
  • 访问量
    0