附录 A. 开发者小贴示
- 使用线程。
- 不必要的唤醒 CPU 或者未有效使用唤醒。如果您必须执行唤醒,尽快一次做完所有的事(迅速返回闲置状态)。
- 不必要的使用
[f]sync()。 - 不必要的活跃调用或者使用简短常规超时(使用响应事件)。
- 未有效使用唤醒。
- 低效磁盘访问。使用大量缓冲来避免频繁的磁盘访问。一次写入大块信息。
- 低效使用计时器。可能时使用跨应用程序(甚至跨系统)的组群计时器。
- 过量的 I/O、电源消耗或者内存使用(包括内存泄露)。
- 执行不必要的计算。
A.1. 使用线程
Perl 线程原是用于系统中不使用分叉技术的应用程序的(比如使用 32 位 Windows 操作系统的系统)。在 Perl 线程中会为每个单一线程复制数据(写时复制)。数据不是默认共享的,因为用户应该可以定义数据共享等级。必须包括共享 threads::shared 模块的数据。但是数据不仅仅是被复制(写时复制),该模块还为这些数据生成了捆绑变量,这就需要更多的时间,且速度更慢。[3]
C 线程共享同一内存,每个线程都有自己的层叠,同时 kernel 不一定要生成新的文件描述符并分配新的内存空间。C 可以真正在更多线程中使用更多 CPU 支持。因此要最大化您的线程性能,请使用低级语言,比如 C 或者 C++。如果您使用脚本语言,请考虑写入一个 C 绑定。请使用分析器识别不能很好执行的代码。[4]

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.