You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

split.php 447 B

!14 修复WorkerId类型问题,添加多实例控制 * 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
4 years ago
12345678910111213
  1. <?php
  2. declare(strict_types=1);
  3. for ($i = 0; $i < 50000; $i++) {
  4. $id = \SnowDrift::NextId();
  5. $seq = $id & ((1 << (int)ini_get('snowdrift.SeqBitLength')) - 1);
  6. $id = $id >> (int)ini_get('snowdrift.SeqBitLength');
  7. $wid = $id & ((1 << (int)ini_get('snowdrift.WorkerIdBitLength')) - 1);
  8. $id = $id >> (int)ini_get('snowdrift.WorkerIdBitLength');
  9. $time = $id;
  10. echo "time:$time, wid:$wid, seq:$seq" . PHP_EOL;
  11. }