c - 字符串操作是否因为一次访问一个字符而效率低下?
问题描述
我听说
- C 标准库中的字符串操作(例如
strlen()
)访问和操作字符串的字符,一次一个字符。 - 计算机一次访问内存中的一个单词。
- 一次访问一个字符效率低下,字符串操作的时间成本很高。
以上是真的吗?
可以使用哪些解决方案来提高字符串操作的时间性能?
解决方案
问题中的假设是错误的。优化的实现strlen
和其他字符串操作实际上是一个字一个字地工作。
GNU C 库(“glibc”)为此提供了手动优化的汇编例程,例如用于 x86_64 的汇编例程。
推荐阅读
- kubernetes - Kubernetes Google Cloud 上 GCR.io 注册表中的 ImagePullBackOff
- three.js - Three.js 光线投射与 Line 的交集
- javascript - onClick 事件未在 iOS Instagram In App Browser Meteor React JS Web App 内触发
- java - 在没有 youtube api 的情况下获得 YouTube 订阅者
- javascript - 如何从数组中删除新行字符串 [JS]
- java - 我应该如何设计我的应用程序流程来处理谷歌文档文件?
- python - 从输出中获取神经网络输入
- linux - 如何仅使用 Linux 终端命令将 Eclipse 上的项目视图更改为分层?
- sql - 从数据库订购数据 - Eloquent - Laravel
- reactjs - 在 React.js 的内容显示组件中的渲染中的条件