* changed WorkerId from uint8_t to uint16_t * Merge branch 'master' of https://gitee.com/laoyaosu/idgenerator * use C89 style and fix perror invalid * Merge branch 'master' of https://gitee.com/yitter/idgenerator * 代码优化,注释掉不用的代码 * 增加版权信息 * Merge branch 'master' of https://gitee.com/yitter/idgenerator * Merge branch 'master' of https://gitee.com/yitter/idgenerator * 1.php extension add more check * update readme * fix min_seqnumber default value * Merge branch 'master' of https://gitee.com/yitter/idgenerator * fmt v code * update php&vlang readme file * Merge branch 'master' of https://gitee.com/yitter/idgenerator * Merge branch 'master' of https://gitee.com/yitter/idgenerator * 更严格的默认配置 * fix worker max num * changed property num named wid_num * Merge branch 'master' of https://gitee.com/yitter/idgenerator * 修复MaxSeqNumber判断 * Merge branch 'master' of https://gitee.com/yitter/idgenerator * fix init return * Merge branch 'master' of https://gitee.com/yitter/idgenerator * add README.md * always lock * fix shared memory addr * use share memory * fix malloc * add make file * add php ext * Merge branch 'master' of https://gitee.com/yitter/idgenerator * Merge branch 'master' of https://gitee.com/yitter/idgenerator * Merge branch 'master' of https://gitee.com/yitter/idgenerator * Merge branch 'master' of https://gitee.com/yitter/idgenerator * Merge branch 'master' of https://gitee.com/yitter/idgenerator * use lock and bit operation
14 lines
447 B
PHP
14 lines
447 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
for ($i = 0; $i < 50000; $i++) {
|
|
$id = \SnowDrift::NextId();
|
|
$seq = $id & ((1 << (int)ini_get('snowdrift.SeqBitLength')) - 1);
|
|
$id = $id >> (int)ini_get('snowdrift.SeqBitLength');
|
|
$wid = $id & ((1 << (int)ini_get('snowdrift.WorkerIdBitLength')) - 1);
|
|
$id = $id >> (int)ini_get('snowdrift.WorkerIdBitLength');
|
|
$time = $id;
|
|
echo "time:$time, wid:$wid, seq:$seq" . PHP_EOL;
|
|
}
|