Javascript 为什么以下短ID生成器在特定的迭代次数后总是暂停
我正在写我自己的短Id生成器。在测试预期的碰撞次数时遇到一些问题,脚本似乎总是在一定次数的迭代后暂停。它打印3.699999999997%碰撞=0(即在37000000次迭代之后),然后在打印3.8%碰撞=0之前暂停很长时间 我真的不知道为什么会这样Javascript 为什么以下短ID生成器在特定的迭代次数后总是暂停,javascript,Javascript,我正在写我自己的短Id生成器。在测试预期的碰撞次数时遇到一些问题,脚本似乎总是在一定次数的迭代后暂停。它打印3.699999999997%碰撞=0(即在37000000次迭代之后),然后在打印3.8%碰撞=0之前暂停很长时间 我真的不知道为什么会这样 var alreadyExistsCounter = 0; var oneMillion = 1000000; var iterations = oneMillion * 100; var ALPHABET = '23456789abdegjkmn
var alreadyExistsCounter = 0;
var oneMillion = 1000000;
var iterations = oneMillion * 100;
var ALPHABET = '23456789abdegjkmnpqrvwxyz';
var hash = {};
var ID_LENGTH = 10;
var generate = function() {
var rtn = '';
for (var i = 0; i < ID_LENGTH; i++) {
rtn += ALPHABET.charAt(Math.floor(Math.random() * ALPHABET.length));
}
return rtn;
}
for (var i = 0; i < iterations;i++){
var sh = generate();
if (hash[sh]){
alreadyExistsCounter = alreadyExistsCounter +1;
}
hash[sh] = true;
if (i % 100000 === 0){
var pct = i / iterations * 100;
console.log( pct + '% clashes = ' + alreadyExistsCounter );
}
}
var-alreadyexistsconter=0;
var One000000=1000000;
var迭代次数=一百万*100;
变量字母表='23456789abdegjkmnpqrvwxyz';
var hash={};
变量ID_长度=10;
var generate=function(){
var rtn='';
对于(变量i=0;i
它可能正在重新格式化哈希表,或者可能存在垃圾收集循环。使用开发者工具中的探查器。谢谢,在使用开发者工具之前,我从未使用过开发者工具。我到底需要做什么?以下是有关使用评测内存使用的Chrome文档: