当前位置:网站首页 > R语言数据分析 > 正文

hprof(Hprof 堆栈)



https://taskflow.github.io/taskflow/install.html

https://github.com/szandara/cpp-taskflow?tab=readme-ov-file  info

https://dreampuf.github.io/GraphvizOnline/

https://taskflow.github.io/tfprof/

https://www.oschina.net/p/cpp-taskflow
https://github.com/taskflow/taskflow/releases/tag/v3.5.0
https://github.com/taskflow/taskflow
https://taskflow.github.io/taskflow/index.html
https://www.zywvvd.com/notes/coding/cpp/taskflow/taskflow/



我使用的版本是3.5,

 
  

运行官例出现如下报错:

 
  

加上-std=c++17后就解决了。后面的官例大家可以看 Taskflow:异步任务(Asynchronous Tasking)-CSDN博客 https://blog.csdn.net/jj147258369/category_12624347.html 这个博主,他理解得透彻一些。而我现在只是为了追求性能蛮试。

运行官例parallel_data_pipeline,结果:

 将输出的拓扑图代码复制到在线查看网站:Graphviz Online

由pdf第3章可以知道,有5种任务调度模式:static task, dynamic task, composable task, condition

task , and cudaFlow task 。
静态调度是指任务层次平坦,无法从正在运行的任务图中创建新的任务。我觉得静态调度就是只有唯一一条任务线(主线),很顺的从头走到尾。如下图的:A--(B,C)--D
动态调度涉及父任务、子任务,如下图的静态线A--(B,C)--D就是父任务,而(B2,B1)--B3--B就是子任务。

组合任务使开发者可以自行决定任务层次,可以通过组合模块化、重复的单元形成更大的任务。这可以提高产能和并行编程的可伸缩性。如下图C--D--E是静态线(主taskflow),而D1--D2--D是动态线,E是一个模块化任务单元(单独的一个taskflow)。

而下图是一个不正确的组合任务示例:因为这两个相同的模块化任务F1会导致竞争???

我的实例是参考简单的官例写的,都是静态task,部分代码与输出如下:

 
  

拓扑图如下,这和我设计的流程是一致的:

 可是性能对比好像并没有太大的提升???

是不是不该用静态,因为这并不是一条很顺的主线。应该用动态?组合? 

我profile一下,按照官网:

 
  

将这个json文件拷贝到Taskflow Profiler 下面的框中:

可以看到我的都是浅蓝色的,因为表示static即静态。末端的柱状图表示对每个task根据耗时排序的结果。鼠标点击任意位置即可出现task名称以及相关信息:

左边显示的E0即Executor0,因为我的确只创建了1个executor。W即表示Worker,这4个worker自动生成的?L0表示Level0,也是自动生成?

可以看到主要是W1最耗时,怎么继续优化我想想

到此这篇hprof(Hprof 堆栈)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • word打开目录导航(word2016目录导航)2025-08-24 20:36:04
  • spring 入门(spring 入门案例)2025-08-24 20:36:04
  • aiplaza有什么公司(aphria inc公司怎么样?)2025-08-24 20:36:04
  • tornado龙卷风(tri-state龙卷风)2025-08-24 20:36:04
  • orecal甲骨文(ocd甲骨文)2025-08-24 20:36:04
  • ifstream和ofstream的用法(ofstream ifstream fstream)2025-08-24 20:36:04
  • jcenter 跑路了(jcenter官网)2025-08-24 20:36:04
  • framebrowser.exe停止工作(epbrowser.exe停止工作)2025-08-24 20:36:04
  • druid 未授权访问(druid未授权访问漏洞编号)2025-08-24 20:36:04
  • gmarket中文版下载(gmarket中文app下载)2025-08-24 20:36:04
  • 全屏图片