!13 代码小优化
* 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
This commit is contained in:
@@ -67,7 +67,8 @@ static int snowdrift_init()
|
||||
}
|
||||
bzero(shmctx.addr, wid_num * sizeof(snowflake));
|
||||
sf = (snowflake *)shmctx.addr;
|
||||
for (int i = 0; i < wid_num; i++)
|
||||
int i;
|
||||
for (i = 0; i < wid_num; i++)
|
||||
{
|
||||
snowflake *tmp = (sf + i);
|
||||
tmp->Method = SD_G(Method);
|
||||
@@ -116,7 +117,8 @@ PHP_METHOD(snowdrift, NextNumId)
|
||||
}
|
||||
snowflake *flake = (sf + wid);
|
||||
array_init(return_value);
|
||||
for (int i = 0; i < num; i++)
|
||||
int i;
|
||||
for (i = 0; i < num; i++)
|
||||
{
|
||||
add_next_index_long(return_value, NextId(flake));
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include "snowflake.h"
|
||||
#include "spinlock.h"
|
||||
|
||||
@@ -45,7 +46,7 @@ void Config(snowflake *flake)
|
||||
else if (flake->BaseTime < 631123200000 || flake->BaseTime > GetCurrentTime())
|
||||
{
|
||||
perror("BaseTime error.");
|
||||
return 0;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// 2.WorkerIdBitLength
|
||||
@@ -278,7 +279,8 @@ uint64_t *NextNumId(snowflake *flake, uint32_t num)
|
||||
{
|
||||
uint64_t *arr = (uint64_t *)malloc(sizeof(uint64_t) * num);
|
||||
spin_lock(&flake->_Lock, pid);
|
||||
for (uint32_t i = 0; i < num; i++)
|
||||
uint32_t i;
|
||||
for (i = 0; i < num; i++)
|
||||
{
|
||||
arr[i] = GetId(flake);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,8 @@ uint64_t containsDuplicate()
|
||||
|
||||
void run()
|
||||
{
|
||||
for (int i = 0; i < TOTAL / THREAD; i++)
|
||||
int i;
|
||||
for (i = 0; i < TOTAL / THREAD; i++)
|
||||
{
|
||||
arr[__sync_fetch_and_add(&index, 1)] = NextId(flake);
|
||||
}
|
||||
@@ -56,7 +57,8 @@ int main()
|
||||
{
|
||||
// clock_gettime(CLOCK_REALTIME, &t_start);
|
||||
|
||||
// for (int i = 0; i < THREAD; i++)
|
||||
int i;
|
||||
// for (i = 0; i < THREAD; i++)
|
||||
// {
|
||||
// if (pthread_create(&tid[i], NULL, (void *)run, NULL) != 0)
|
||||
// {
|
||||
@@ -65,7 +67,7 @@ int main()
|
||||
// }
|
||||
// }
|
||||
|
||||
// for (int i = 0; i < THREAD; i++)
|
||||
// for (i = 0; i < THREAD; i++)
|
||||
// {
|
||||
// pthread_join(tid[i], NULL); //等待线程结束
|
||||
// }
|
||||
@@ -91,7 +93,7 @@ int main()
|
||||
// index = 0;
|
||||
|
||||
gettimeofday(&t_start, NULL);
|
||||
for (int i = 0; i < TOTAL; i++)
|
||||
for (i = 0; i < TOTAL; i++)
|
||||
{
|
||||
NextId(flake);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user