我在目前正在开发的应用中报告了一些性能问题。它是一个非常简单的应用程序,没有非常复杂的逻辑。
在没有任何用户活动的主视图上打开,它在Samsung S5上占用了大约25%的CPU("用户" 15%"内核"的15%)设备。有一个后台网络轮询,但我尝试删除它,CPU使用情况类似。
这是一个跟踪输出(没有用户活动,只是应用程序在前台)
我不确定这是否正常,但我发现一些引用可能表示死锁(由于df = pd.DataFrame({'node':[1,2,3,3,3,5,5],'lang':['it','en','ar','ar','es','uz','es']})
print df
lang node
0 it 1
1 en 2
2 ar 3
3 ar 3
4 es 3
5 uz 5
6 es 5
a = df.groupby('node')['lang'].apply(lambda x: np.unique(x, return_counts=True))
.reset_index(name='tup')
#split tuples
a[['langs','lfreq']] = a['tup'].apply(pd.Series)
#filter columns
print a[['node','langs','lfreq']]
node langs lfreq
0 1 [it] [1]
1 2 [en] [1]
2 3 [ar, es] [2, 1]
3 5 [es, uz] [1, 1]
占用大部分时间)
你在我的追踪中看到任何明显的问题吗?如何更好地解决这个问题?
我已经看到使用2%或3%CPU的更复杂的应用程序,因此必须有一些我可以改进的东西。