Tag: 性能

什么进程正在使用我的所有磁盘IO

如果我使用“顶”,我可以看到什么样的CPU忙,什么过程使用我所有的CPU。 如果我使用“iostat -x”,我可以看到什么驱动器正忙。 但是我怎么看到哪个进程正在使用所有驱动器的吞吐量呢?

用Pythonreplace列表中的值

我有一个列表,我想用Nonereplace值,其中condition()返回True。 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 例如,如果条件检查bool(item%2)应该返回: [None, 1, None, 3, None, 5, None, 7, None, 9, None] 什么是最有效的方式来做到这一点?

编译C#Lambdaexpression式的性能

考虑以下对集合的简单操作: static List<int> x = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; var result = x.Where(i => i % 2 == 0).Where(i => i > 5); 现在让我们使用expression式。 以下代码大致相同: static void UsingLambda() { Func<IEnumerable<int>, IEnumerable<int>> lambda = l => l.Where(i => i % 2 == 0).Where(i => i > […]

等效静态和非静态方法的速度差别很大

在这段代码中,当我在main方法中创build一个对象,然后调用这个对象的方法: ff.twentyDivCount(i) (运行在16010毫秒)时,运行速度比使用这个注释调用要快得多: twentyDivCount(i) 59516毫秒)。 当然,当我运行它而不创build一个对象时,我使得这个方法是静态的,所以它可以在main中调用。 public class ProblemFive { // Counts the number of numbers that the entry is evenly divisible by, as max is 20 int twentyDivCount(int a) { // Change to static int…. when using it directly int count = 0; for (int i = 1; i<21; i++) { if (a % […]

在Python中的str性能

当分析一段python代码( python 2.6到3.2 )时,我发现把对象(在我的情况下是一个整数)转换为一个string的str方法几乎比使用string格式化要慢一个数量级。 这是基准 >>> from timeit import Timer >>> Timer('str(100000)').timeit() 0.3145311339386332 >>> Timer('"%s"%100000').timeit() 0.03803517023435887 有谁知道这是为什么? 我错过了什么吗?

C#中try / catch的真正开销是多less?

所以,我知道try / catch确实增加了一些开销,因此不是一个控制stream程的好方法,但是这个开销是从哪里来的?它的实际影响是什么?

快速的方法来在Python中复制字典

我有一个Python程序,与字典很多。 我必须复制数千次的字典。 我需要密钥和相关内容的副本。 副本将被编辑,不得链接到原件(例如,副本中的更改不得影响原件。) 键是string,值是整数(0/1)。 我目前使用一个简单的方法: newDict = oldDict.copy() 分析我的代码显示,复制操作大部分时间都需要。 dict.copy()方法有更快的select吗? 什么是最快的?

Dictionary vs Object – 哪个更有效率,为什么?

在内存使用和CPU消耗方面,什么是更高效的Python – 字典或对象? 背景:我必须将大量的数据加载到Python中。 我创build了一个只是一个字段容器的对象。 创build4M实例并将其放入字典需要大约10分钟和6GB的内存。 字典准备好后,访问它是一个眨眼之间。 例子:为了检查性能,我写了两个相同的简单程序 – 一个是使用对象,其他字典: 对象(执行时间〜18秒): class Obj(object): def __init__(self, i): self.i = i self.l = [] all = {} for i in range(1000000): all[i] = Obj(i) 字典(执行时间〜12秒): all = {} for i in range(1000000): o = {} o['i'] = i o['l'] = [] all[i] = o 问题:我做错了什么或字典比对象快? 如果确实字典performance更好,有人可以解释为什么?

在大型data.table中取代NAs的最快方法

我有一个很大的data.table ,许多缺失的值分散在整个〜200K行和200列。 我想尽可能有效地将这些NA值重新编码为零。 我看到两个选项: 1:转换为data.frame,并使用这样的东西 2:一些很酷的data.table子设置命令 我会很满意types1的一个相当有效的解决scheme。转换为data.frame,然后返回到data.table不会太长。

为什么在Windows上创build一个比Linux更昂贵的新进程?

我听说在Windows上创build一个新的进程比在Linux上花费更多。 这是真的? 有人可以解释为什么它更昂贵的技术原因,并提供背后的原因devise决定的历史原因?