我是计算机科学专业的学生,在谈到程序和各种各样时,我听到了"开销"这个词.这究竟是什么意思?
这是设置操作所需的资源.它可能看似无关,但是必要的.
就像你需要去某个地方一样,你可能需要一辆车.但是,要让汽车沿着街道行驶会有很多开销,所以你可能想要走路.但是,如果你要去全国各地,那么开销是值得的.
在计算机科学中,有时我们会使用汽车走在街上,因为我们没有更好的方法,或者我们不值得"学会走路".
这个词的含义可以与上下文有很大的不同.通常,它使用的资源(通常是内存和CPU时间)不会直接影响预期结果,但是正在使用的技术或方法需要这些资源.例子:
协议开销:以太网帧,IP数据包和TCP段都有标头,TCP连接需要握手数据包.因此,您无法使用硬件能够为您的实际数据提供的整个带宽.您可以通过使用更大的数据包大小来减少开销,而UDP具有更小的标头并且没有握手.
数据结构内存开销:链表要求它包含的每个元素至少有一个指针.如果元素与指针的大小相同,则意味着50%的内存开销,而数组可能有0%的开销.
方法调用开销:精心设计的程序分解为许多简短的方法.但是每个方法调用都需要设置堆栈帧,复制参数和返回地址.与在单个单片函数中执行所有操作的程序相比,这表示CPU开销.当然,增加的可维护性使其非常值得,但在某些情况下,过多的方法调用会对性能产生重大影响.
你累了,不能做更多的工作.你吃的食物.寻找食物,获取食物并实际食用它所消耗的能量消耗能量并且是开销!
为了完成任务,开销就浪费了.目标是使开销非常小.
在计算机科学中,我们可以说你想打印一个数字,这就是你的任务.但是存储数字,设置显示以打印它并调用例程来打印它,然后从变量访问数字都是开销.
维基百科有我们覆盖:
在计算机科学中,开销通常被认为是实现特定目标所需的过量或间接计算时间,存储器,带宽或其他资源的任何组合.这是工程开销的特例.
开销通常指的是不同编程算法所需的额外资源(内存,处理器,时间等).
例如,插入到平衡二进制树中的开销可能比插入到简单链接列表中的相同插入要大得多(插入将花费更长时间,使用更多处理能力来平衡树,这导致更长的操作时间更长用户).