Browse Source

!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
tags/v1.2
微希夷 yitter 4 years ago
parent
commit
0d18d6d014
3 changed files with 14 additions and 8 deletions
  1. +4
    -2
      PHP/snowdrift.c
  2. +4
    -2
      PHP/src/snowflake/snowflake.c
  3. +6
    -4
      PHP/src/test.c

+ 4
- 2
PHP/snowdrift.c View File

@@ -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));
}


+ 4
- 2
PHP/src/snowflake/snowflake.c View File

@@ -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);
}


+ 6
- 4
PHP/src/test.c View File

@@ -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);
}


Loading…
Cancel
Save