当前位置:  开发笔记 > 编程语言 > 正文

什么构成昂贵的方法或资源?

如何解决《什么构成昂贵的方法或资源?》经验,为你挑选了1个好方法。

经常提到异常是昂贵的,并且.NET中的各种方法也是昂贵的.

究竟什么构成了.NET中昂贵的方法?

这是该方法处理的时间吗?EG我使用WebClient对象获得了网页的响应流(这不是异步),当获得响应并将其分配给变量时,需要一段时间来逐步完成这行代码.也许是因为网页本身是图形密集和大.为了看到所花费的时间,我知道我可以使用秒表或计时器(这两者之间存在细微差别,我不记得了).

还是采取了资源?如果是这样,查看方法所需资源的最佳方法是什么?我知道我可以使用其中一种GC方法或分析器.有什么其他方法吗?



1> plinth..:

昂贵是程度和背景的问题.

我在图像处理方面工作,我觉得分工很贵.在我的情况下,任何最终在一个循环中执行两到五百万次的操作就会增加.这可能是1/8秒和1/32秒之间的差异.UI时间的1/8秒对动态显示来说很重要.1/32是可以接受的.

在其他情况下,它可以是大型JPEG图像的完全解码并缩小它们,而不是利用同样文件中编码的2个缩小版本的功能.

在网页时间中,它可能是页面加载时的服务器命中数.明白了吗?

语境就是一切.

如果资源稀缺并导致其他事情等待,则资源被认为是昂贵的.如果你有1个非raid磁盘,如果两个进程在整个地方反弹,你需要付出沉重的代价,因此严重依赖于驱动器和操作系统中的缓存.

您的打印机是一种非常昂贵的资源,特别是如果它没有纸张,因此排队.

与其他语言功能相比,例外是昂贵的.静态方法调用很便宜.普通方法调用稍贵一些.虚方法调用稍贵一些.例外情况要贵得多.

例如,您可以抱怨C#没有类型强的多态返回类型,我可以说 - 哦不,它确实 - 只是抛出结果并在另一侧捕获正确的类型.然后我会被嘲笑出房间提出建议.与返回(几乎没有指令)相比,异常可能会导致几十到几百个,具体取决于上下文.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有