【发布时间】:2009-08-12 13:47:01
【问题描述】:
我正在寻找一种快速的 PRNG,以便我可以快速为对象创建(半)唯一 ID。唯一性更多的是一个管理问题,ID 重复只是在极少数情况下才会出现的问题。
它必须尽可能快,因为性能至关重要,而且是非连续的(如果 ID 是连续的,则更有可能在管理方面发生错误)。另外,我想避免使用较低的数字,但只要重试直到检索到足够高的数字,就可以轻松缓解这种情况。
编辑 我还应该补充一点,我要求 ID 为 32 位,因此 GUID 不起作用并且需要独立于平台(目前正在 PC 上实现,但还需要在 Nintendo DS、PSP、PS3、Wii、Xbox 等上运行平台)。此外,它可能每秒调用数千次,因此基于输入的随机数生成是不可行的。
谢谢
【问题讨论】:
-
您使用什么语言/系统?
-
@John:那应该对算法影响太大了吧?
-
所以你想要一个 prng 算法,而不是快速实现。
-
为什么是随机的?为什么不是顺序的?如果您想要不同,如果只有一个来源,则最后一个加一保证是唯一的。
标签: random