相关疑难解决方法(0)

为什么我的C代码运行缓慢?

我在C中编写了一些代码,我惊讶地发现它执行的时间比我预期的要长.我想知道哪些操作成本高昂以及如何摆脱它们.

我使用赋值语句,条件(嵌套),循环,函数调用和回调.

对常见的C性能缺陷有什么好的参考?

我可以使用一个好的剖析器吗?


谢谢你们

感谢您的所有投入.你是绝对正确的:它的算法可以减慢事情(大幅度).虽然通过编码实践可以获得一点性能提升 - 我100%确信只有错误的算法才能大大减慢速度.

事实上:我正在研究RB树并按升序插入节点.花了很多时间(和Binary Search Tree(Skewed)一样糟糕).在寻求你的建议后,我检查了算法,我在平衡方面犯了一个错误,使树倾斜(倾斜).我纠正了.

再次感谢您的建议.

c performance

2
推荐指数
1
解决办法
4117
查看次数

组织大量方法的最有效方法是什么?

我正在制作一个模拟java语言,它有很多方法.我会将类似的方法组合在一起并将它们放在自己的类中,但所有方法都需要扩展一个处理如何中断数据的类.在运行时性能方面,组织它们的最有效方法是什么?

现在它只是一个类(ListOfMethods)中的一堆方法,使用if-else语句的特殊方法调用以找到正确的方法,如:

public void methods(String name, String param) throws NumberFormatException, InterruptedException {
    if (name.equals("systemexit")) SystemExit(param);
    else if (name.equals("sleep")) sleep(param);
}
public void SystemExit(String param)
{
    int exit=(int)Double.parseDouble(param);
    System.exit(exit);
}
public void sleep(String param) throws NumberFormatException, InterruptedException
{
    Thread.sleep((long)Double.parseDouble(param));
}
Run Code Online (Sandbox Code Playgroud)

我不是要改变这种格式,而是改变方法的组织方式.我想将它们分组成类,如数学和字符串,但我想知道最好的方法吗?

  1. ListOfMethods可以延长每个班级.问题是Java不支持多重继承,因此类1将扩展类2,这将扩展类4等.
  2. ListOfMethods可以导入每个类.这个问题是他们都需要扩展超类.那效率低吗?
  3. 将它们放入不同的类并使方法静态(非常类似于前一个).
  4. 只需将其保留原样.

我对其他建议持开放态度 - 我希望尽可能提高效率.提前致谢.

注意:这个类会有数百个实例同时运行 - 这只是实际问题的一个简短例子 - 所以我真的不想浪费内存.

java memory methods class

2
推荐指数
1
解决办法
481
查看次数

标签 统计

c ×1

class ×1

java ×1

memory ×1

methods ×1

performance ×1