计算机编程的时候,影响性能的地方主要有哪些?

hupflupper-avatar

hupflupper

2022-04-10T10:45:18+00:00

看了点编程教程,有一个问题,如果要写一段代码,有什么办法去提高性能或者优化它?
代码的行数对性能有影响吗,是不是应该尽可能去压缩代码的行数?
リンs-avatar

リンs

时间复杂度啊
……
colden-avatar

colden

最关键的是算法
dilerious-avatar

dilerious

时间复杂度和空间复杂度
Mombo-avatar

Mombo

找本数据结构的书看,看完第一章你就懂了
miguiz-avatar

miguiz

代码行数是影响最小的吧,最简单的对比一下各种排序算法
Miza-avatar

Miza

你日常遇到的最大瓶颈就是IO
SweetPea1124-avatar

SweetPea1124

用行数评价代码,等于用重量评价船。[s:dt:笑3]
Park-avatar

Park

这个问题展开来说就太复杂了……但总体来说需要你对计算机体系结构有一个完整的认知。CPU流水线、内存缓存机制、网络与硬盘IO、进程线程调度、编译器优化、通信与同步,都得有概念。

楼上说的时间复杂度也是一点,不过只是最基本的,很多性能问题还真不是时间复杂度那么简单。
𝑲𝒓𝒊𝒕𝒂𝒏𝒕𝒂 ☭-avatar

𝑲𝒓𝒊𝒕𝒂𝒏𝒕𝒂 ☭

[quote][tid=31495669]Topic[/tid] Post by [uid=61403825]香喷喷火辣辣[/uid] (2022-04-15 18:54):

看了点编程教程,有一个问题,如果要写一段代码,有什么办法去提高性能或者优化它?
代码的行数对性能有影响吗,是不是应该尽可能去压缩代码的行数?[/quote]优化性能需要你对计算机本身的工作原理有一定的了解,是一个比较系统的工程,推荐一本书叫性能之巅,基本涵盖了可以优化的一些方向。
Kakarot-avatar

Kakarot

这个不得先学数据结构?
kinuyツ-avatar

kinuyツ

查询,插入,修改,这些不同功能用同一个数据结构都有不同时间复杂度的
Impaeling-avatar

Impaeling

不要急着问问题,再多看看书
Park-avatar

Park

Reply to [pid=603383352,31495669,1]Reply[/pid] Post by [uid=62677235]该账号声望不足[/uid] (2022-04-15 18:56)

光看数据结构和算法,看完也不会懂。这方面的书都是讲内存算法的,而且习惯性只强调时间复杂度不讲常数。

最基本的:斐波那契堆和普通的二项堆谁快?插入排序和快速排序谁快?
tachy-avatar

tachy

最主要是算法,直观评价标准就是时间复杂度,空间复杂度。

再底层一点就是考虑缓存的读写特性
NICOTINE-avatar

NICOTINE

[s:ac:汗] 你这种提问方式,在编程学习里属于一种无效问题,因为太宽泛了……具体一点,什么语言,运行在什么平台,系统什么配置,做什么样的业务
Kkwateh-avatar

Kkwateh

不要过度优化
绝大部分地方都对性能没什么影响
严重影响性能的都是一些关键点

代码行数和性能无关
Doug Dimmadome-avatar

Doug Dimmadome

先看算法的复杂度
优化完了之后再看数据IO
然后再搞的话恐怕就要调汇编了吧
AuraHyperX-avatar

AuraHyperX

不像算法之类的 ,,现在好多辣鸡程序都在重复执行。。。
RoadKillGrill-avatar

RoadKillGrill

Io操作.zsbd