c - 实现桶排序 - 使用 calloc 获得更好的性能?

标签 c

我正在尝试使用 C 语言中的桶排序算法来实现一些东西, 因此,为了使算法正常工作,我需要手动将数组中的每个项目初始化为零, 但如果我使用calloc,无论如何我都会将所有值初始化为零。

我确信的唯一区别是,通过使用 calloc,我将其全部放入堆内存中 - 这是一个很大的区别吗?

问题是 - 这两种方式的优缺点是什么? (性能等)

最佳答案

如果您需要对数组进行分配和零填充,那么 calloc 是最简单的方法。不要让零初始化驱动堆栈或堆分配之间的选择。独立做出选择。

不要纠结于分配和初始化的性能。你正在排序。排序将占主导地位。您将无法可靠地测量分配和零初始化。与往常一样,如果您真的想了解性能,就进行测量。

关于c - 实现桶排序 - 使用 calloc 获得更好的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16005617/

相关文章:

c++ - 从另一个 dll 内的 dll 获取字符串

c - bash 使用什么来打开/执行 argv[0]?

c++ - 释放锁定的内存是否会解锁相应的页面?

c - 链表在打印时仅显示第一个节点元素

c - 简单的程序段错误

c - 在文本文件中搜索字符串,以空格分隔并截断空格后的所有内容

c - 获取文件名分隔的c - linux

c - 使用自定义堆的类似 malloc 的函数

c - 在两个进程之间共享内存(C、Windows)

我可以获得 DOS 6.22 操作系统的 IP 地址吗?