gpt4 book ai didi

c - strnmp() 实现优化

转载 作者:行者123 更新时间:2023-11-30 19:41:08 26 4
gpt4 key购买 nike

如果我有一个 strncmp() 的实现来检查两个字符串是否相同,我可以通过执行以下操作来显着优化它:

if (str1 == str2) {
return true;
} else {
/* Do real comparison here */
}

请注意,由于我正在实现与 C 库不同的东西,因此这些都是非标准的,这是故意的。

这背后的逻辑是:如果两个字符串实际上指向同一个位置,那么它们一定是相同的。如果字符串很长,这可以节省大量检查工作。

最佳答案

你能做到。

它是否真正加速您的应用程序将取决于您的应用程序的行为。

  • 如果“相等”字符串经常是不同的指针,或者如果您正在比较的字符串很少“相等”,那么您的优化实际上可能会减慢应用程序的速度。

  • 如果您将应用程序更改为(例如)标准化字符串,以便“相等”字符串始终具有相同的指针值,那么这样做的开销1可能会超过节省的成本.

<小时/>

1 - 例如,通过构建一个已经见过的字符串的巨大哈希表。注意:小心内存泄漏!

关于c - strnmp() 实现优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33884374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com