【发布时间】:2013-01-10 01:49:45
【问题描述】:
我有一个基于 Web 的 Java 应用程序,它为会话信息生成随机 UUID。我们的一位测试人员声称根据他自己的分析生成 UUID 最多需要 350 毫秒,但我还没有能够复制他的结果。他指向这篇文章http://www.cowtowncoder.com/blog/archives/2010/10/entry_429.html 来帮助支持他的结果。我想看看是否有其他人在 Java 6 或 Java 7 应用程序中使用 Java 内置的 UUID 生成功能遇到了这个限制。
【问题讨论】:
-
350 毫秒生成 一个 UUID?他如何用您链接的文章来支持这一点?
-
这是他正在使用的分析工具。我还没有能够在我的末端复制。这就是为什么我想检查是否有其他人遇到过类似的问题。这可能是分析工具的问题,也可能是 Java 与运行时环境的奇怪组合。我也觉得很奇怪。
-
再一次:他是否声称生成 一个 UUID 需要 350 毫秒(因为您将 UUID 写成复数形式,但没有实际指定多少)?他如何用您链接到的文章来支持这一点?那篇文章中没有任何内容表明 UUID 生成器如此缓慢。另一个问题:测试者在哪个操作系统上运行它的测试? Linux 上的 Java 使用 /dev/urandom 生成器,如果该系统上没有太多活动(例如用户输入或网络流量),它可能会相当慢。
-
声称生成单个 UUID 需要 350 毫秒。我们的默认系统是运行 Mountain Lion 的 Macbook Pro。生产系统是 CentOS 的最新版本。
-
350 毫秒?我在 C 中创建了one,在较新的 macbook pro 上每秒生成 400,000 个 UUID。但这并不是一个公平的比较;)