pintools的简单使用

该博客介绍了如何使用Pintools工具分析BWA程序,包括统计函数调用次数和执行时间。首先,通过编写插桩程序并编译,然后下载并运行BWA,利用插桩程序获取函数调用次数并排序。接着,通过调整插桩程序分析函数执行时间并按时间排序。源代码展示了具体的插桩实现,最后进行了总结,强调了Pintools相对于DECAF的易用性。

目录

一、利用pintools分析bwa程序

(1)分析函数的调用次数,给出函数调用次序的排序

1. 将写好的插桩程序进行make ,参考Intel官网步骤

2. 下载bwa程序

3. 利用写好的pintools插桩程序来分析bwa的函数调用次数。

(2)分析函数的执行时间,按照执行时间排序。

1. 问题二的执行操作思路和上述相同。

2. 在pin的ManualExaples的目录下依次执行以下命令即可:

二、源代码

(1)分析函数的调用次数,给出函数调用次序的排序

(2)分析函数的执行时间,按照执行时间排序。

 三、总结


一、利用pintools分析bwa程序

(1)分析函数的调用次数,给出函数调用次序的排序

1. 将写好的插桩程序进行make ,参考Intel官网步骤

Pin: Pin 3.22 User Guide (intel.com)

执行如下命令

#make obj-intel64/proccount.so TARGET=intel64

2. 下载bwa程序

并按照GitHub上的提示执行,因为所给的资源文件是Ref_5.fa h和test40a.fq和test40b.fq所以在执行命令是需要替换。(https://github.com/lh3/bwa)

                         

#make

# ./bwa mem Ref_5.fa test40a.fq | gzip -3 > aln-se.sam.gz

./bwa mem Ref_5.fa test40a.fq test40b.fq | gzip -3 > aln-pe.sam.gz

3. 利用写好的pintools插桩程序来分析bwa的函数调用次数。

因为pin 和proccount.so文件是在pin的相关目录下,因此需要进入对应的目录下,同时因为bwa是在bwa的相关目录下,因此也需要找到对应目录下的文件。执行以下命令:

#../../../pin -t obj-intel64/proccount.so -- ../../../../bwa/bwa mem ../../../../bwa/Ref_5.fa ../../../../bwa/test40a.fq | gzip -3 > aln-se.sam.gz

因为head proccount.out 显示条数较少,于是用cat查看,以下截图截取一部分。

执行命令:

# cat proccount.out

下面看第二个数据集test40b.fq。执行命令:

#../../../pin -t obj-intel64/proccount.so -- ../../../../bwa/bwa mem ../../../../bwa/Ref_5.fa ../../../../bwa/test40b.fq | gzip -3 > aln-se.sam.gz

(2)分析函数的执行时间,按照执行时间排序。

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值