相关疑难解决方法(0)

如何分析在Linux上运行的C++代码?

我有一个在Linux上运行的C++应用程序,我正在优化它.如何确定代码的哪些区域运行缓慢?

c++ unix profiling

1732
推荐指数
12
解决办法
49万
查看次数

Python慢​​读性能问题

在早期的一个帖子之后,我把我的问题归结为它的问题,在从Perl脚本迁移到Python的过程中,我发现在Python中使用slurping文件存在巨大的性能问题.在Ubuntu Server上运行它.

注意:这不是一个X对Y线程,我需要从根本上了解它是如何实现的,或者我是在做一些愚蠢的事情.

我创建了我的测试数据,50,000个10kb文件(这反映了我正在处理的avg文件大小):

mkdir 1
cd 1
for i in {1..50000}; do dd if=/dev/zero of=$i.xml bs=1 count=10000; done
cd ..
cp -r 1 2
Run Code Online (Sandbox Code Playgroud)

尽可能简单地创建了我的2个脚本:

Perl的

foreach my $file (<$ARGV[0]/*.xml>){
    my $fh;
    open($fh, "< $file");
    my $contents = do { local $/; <$fh> };
    close($fh);
}
Run Code Online (Sandbox Code Playgroud)

蟒蛇

import glob, sys
for file in glob.iglob(sys.argv[1] + '/*.xml'):
    with open(file) as x:
        f = x.read()
Run Code Online (Sandbox Code Playgroud)

然后我清除了缓存并运行了我的2个slurp脚本,在每次运行之间我再次使用以下方法清理缓存:

sync; sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
Run Code Online (Sandbox Code Playgroud)

然后进行监控以确保每次都从磁盘读取所有内容:

sudo iotop -a -u me
Run Code Online (Sandbox Code Playgroud)

我在具有RAID …

python io perl performance

61
推荐指数
1
解决办法
4575
查看次数

标签 统计

c++ ×1

io ×1

performance ×1

perl ×1

profiling ×1

python ×1

unix ×1