我看到一篇讨论 Cygwin 中分叉速度的帖子,在 Windows XP 中给出了大约每秒 30-50 次的预期“分叉率”(链接)
我有一个 Core 2 duo (1.79GHz),我希望能得到类似的结果,但它每秒只能管理大约 8 个分叉(有时会更少):
$ while (true); do date --utc; done | uniq -c
5 Wed Apr 21 12:38:10 UTC 2010
6 Wed Apr 21 12:38:11 UTC 2010
1 Wed Apr 21 12:38:12 UTC 2010
1 Wed Apr 21 12:38:13 UTC 2010
8 Wed Apr 21 12:38:14 UTC 2010
8 Wed Apr 21 12:38:15 UTC 2010
6 Wed Apr 21 12:38:16 UTC 2010
1 Wed Apr 21 12:38:18 UTC 2010
9 Wed Apr 21 12:38:19 UTC 2010
Run Code Online (Sandbox Code Playgroud)
你能建议我可以做些什么来加快速度吗?这台机器在 Cygwin 中的运行速度比我之前使用过的其他机器慢得多,实际上它们要慢得多。
让我来证明我的问题:我不相信拥有更快的 fork 会神奇地让我的生活变得更好,但我相信这个基准测试是我在 bash 中看到的由于正常使用外部可执行文件而导致的性能问题的一个很好的代理来计算值。我发现通过浏览我的 shell 启动脚本和 bash 完成并尝试用内部命令替换外部命令,我在 Cygwin 上获得了明显的加速;在 Linux 上这不是问题。但是,这通常是不可能的,而且我的 PC 目前需要大约 14 秒的时间来启动具有热缓存且无负载的外壳。
你没有看到叉子;您会看到 fork、exec、系统调用来读取时钟时间、格式化并转换输出。更不用说其他什么并行的时间共享了。
您凭什么说其他机器“实际上更慢”?有很多因素会影响计算机的实际速度以及用户对计算机速度的感知。您正在做哪些事情,其中 forks/sec 是衡量性能的良好指标?内存速度、架构和容量是多少?磁盘 I/O 速度和缓冲?
您认为哪一个每秒会执行更多的 fork:运行 Vista、512MB RAM 的 Core i7 或运行 2 GB 最小 Linux 的 Celeron?
| 归档时间: |
|
| 查看次数: |
5264 次 |
| 最近记录: |