Oma*_*mar 4 process quadratic go
我正在阅读Go编程语言书(由Donovan和Kernighan撰写)和他们的示例echo1,他们说:" 这是一个二次过程,如果参数的数量很大,可能代价很高,但对于回声来说,这不太可能 ".二次过程意味着什么?如果参数的数量很大,它是多么昂贵?
谢谢.
jus*_*ius 5
一般来说,二次方意味着与平方数相关的东西.在这种情况下,它意味着过程的成本与输入大小的平方成正比.这是因为字符串是使用+=运算符连接的,这在Go中很昂贵,因为字符串是不可变的,并且每次连接时都必须在内存中创建新字符串.连接字符串的更有效方法包括写入bytes.Buffer并将其转换为字符串或使用strings.Join函数
+=
bytes.Buffer
strings.Join
归档时间:
9 年,1 月 前
查看次数:
330 次
最近记录: