Tag: 性能

为什么Android模拟器如此慢? 我们如何加快Android模拟器?

我有一个2.67 GHz Celeron处理器和一个x86 Windows XP Professional机器上1.21 GB的RAM。 我的理解是Android模拟器应该在这样的机器上相当快地启动,但是对于我来说却不行。 我已经遵循了设置IDE,SDK,JDK等方面的所有说明,并且已经在快速启动模拟器方面取得了一些成功,但这是非常罕见的。 我可以如何解决这个问题? 即使它启动并加载主屏幕,它是非常缓慢。 我已经在版本3.5 (伽利略)和3.4 (Ganymede)尝试过Eclipse IDE 。

我应该在JavaScript链接中使用哪个“href”值,“#”或“javascript:void(0)”?

以下是构build链接的两种方法,其中唯一目的是运行JavaScript代码。 在function,页面加载速度,validation目的等方面哪个更好? function myJsFunc() { alert("myJsFunc"); } <a href="#" onclick="myJsFunc();">Run JavaScript Code</a> 要么 function myJsFunc() { alert("myJsFunc"); } <a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>

为什么JSF多次调用getters

比方说,我指定一个outputText组件如下所示: <h:outputText value="#{ManagedBean.someProperty}"/> 如果我打印一个日志消息,当调用someProperty的getter并加载页面时,注意到getter被多次调用每次请求(在我的例子中发生了两次或三次)是微不足道的: DEBUG 2010-01-18 23:31:40,104 (ManagedBean.java:13) – Getting some property DEBUG 2010-01-18 23:31:40,104 (ManagedBean.java:13) – Getting some property 如果someProperty的值是昂贵的计算,这可能是一个问题。 我GOOGLE了一下,并认为这是一个已知的问题。 一个解决方法是包括一个检查,看看它是否已经被计算: private String someProperty; public String getSomeProperty() { if (this.someProperty == null) { this.someProperty = this.calculatePropertyValue(); } return this.someProperty; } 这样做的主要问题是,你会得到大量的样板代码,更不用说你可能不需要的私有variables了。 这种方法有什么替代方法? 有没有办法实现这个没有太多不必要的代码? 有没有办法阻止JSF以这种方式行事? 感谢您的input!

性能优化策略不得已而为之

这个网站上已经有很多性能问题了,但是几乎所有的问题都是针对特定问题的,而且相当狭窄。 几乎所有的重复build议,以避免过早优化。 我们假设: 代码已经正常工作 所select的algorithm对于问题的情况已经是最佳的 代码已被测量,并且违规程序已被隔离 所有优化的尝试也将被测量,以确保它们不会让事情变得更糟 我在这里寻找的是一些策略和技巧,当没有其他任何事情可以做,但是无论如何,都可以挤压到关键algorithm中的最后几个百分比。 理想情况下,尽量使语言无关的答案,并在适用的情况下指出build议策略的任何不利方面。 我会用我自己的最初build议来添加一个回复,并期待Stack Overflow社区能够想到的任何其他内容。

为什么使用JavaScript的eval函数是一个坏主意?

eval函数是dynamic生成代码的一个强大而简单的方法,那么注意什么呢?

为什么处理sorting后的数组比未sorting的数组更快?

这是一个C ++代码,看起来很奇特。 出于一些奇怪的原因,对数据进行奇迹sorting使得代码快了近6倍。 #include <algorithm> #include <ctime> #include <iostream> int main() { // Generate data const unsigned arraySize = 32768; int data[arraySize]; for (unsigned c = 0; c < arraySize; ++c) data[c] = std::rand() % 256; // !!! With this, the next loop runs faster std::sort(data, data + arraySize); // Test clock_t start = clock(); […]

recursion或迭代?

如果我们使用循环代替recursion,反之亦然,在两者都可以达到相同目的的algorithm中,性能是否会受到影响? 例如:检查给定的string是否是回文。 我已经看到许多程序员使用recursion作为一种手段来炫耀,当一个简单的迭代algorithm可以适应账单。 编译器在决定使用什么时起到至关重要的作用?

如果分析器不是答案,我们还有其他的选择吗?

在看了Joshua Bloch的“表现焦虑”的演讲之后,我阅读了他在“评估Java Pro fi lers准确性”的文章中提出的论文。 引用结论: 我们的结果是令人不安的,因为它们表明,在我们的七个基准中的大部分和两个生产JVM中,普遍存在的错误是普遍存在的,并且显着的是,所有四个最先进的专家都会产生错误的配置文件。 不正确的配置文件很容易导致性能分析人员花费时间优化对性能影响最小的冷​​方法。 我们证明,不使用屈服点进行抽样的概念证明不受上述问题的困扰 本文的结论是我们不能真正相信轮廓仪的结果。 但是,那么使用轮廓仪的选择是什么? 我们应该回去,只是用我们的感觉做优化? 更新 :在讨论中似乎被忽略的一点是观察者效应 。 我们可以建立一个真正的“ 观察者效应 ”分析器吗?

std :: vector比普通数组慢吗?

我一直认为这是std::vector的一般智慧是“作为一个数组来实现的”,等等等等。 今天,我去了,测试它,似乎并非如此: 以下是一些测试结果: UseArray completed in 2.619 seconds UseVector completed in 9.284 seconds UseVectorPushBack completed in 14.669 seconds The whole thing completed in 26.591 seconds 那大约要慢3到4倍! 对于“几个毫微秒的vector可能会变慢”的评论并没有真正的理由。 和我使用的代码: #include <cstdlib> #include <vector> #include <iostream> #include <string> #include <boost/date_time/posix_time/ptime.hpp> #include <boost/date_time/microsec_time_clock.hpp> class TestTimer { public: TestTimer(const std::string & name) : name(name), start(boost::date_time::microsec_clock<boost::posix_time::ptime>::local_time()) { } ~TestTimer() { […]

如何识别未使用的CSS定义

有没有什么好的方法来帮助识别项目中未使用的CSS定义? 一堆css文件被拉进来,现在我正试图清理一些东西。