能力值:
(RANK:350 )
|
-
-
2 楼
没测试,纯支持一下,期待完善。;)
|
能力值:
( LV9,RANK:170 )
|
-
-
3 楼
呵呵,多谢老大支持。
效率上市没有问题的,基本的运算我也大体测试过了。毕竟今后实验室要用这个做进一步算法实现
不过可能会有一些小bug在
|
能力值:
(RANK:1060 )
|
-
-
4 楼
蒙哥xx的好一些?
|
能力值:
( LV9,RANK:170 )
|
-
-
5 楼
素性验证时候要求A^n (mod m)其中n是小整数,用窗口法就是杀鸡用牛刀,慢在这里
|
能力值:
( LV9,RANK:1250 )
|
-
-
6 楼
这个一定要支持。
|
能力值:
( LV9,RANK:1250 )
|
-
-
7 楼
发现这么句话:“国内著名破解组织看雪论坛”
呵呵
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
楼上的那句话不够味儿啊
|
能力值:
( LV9,RANK:290 )
|
-
-
9 楼
支持一下。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
不错,支持下,赞一个
|
能力值:
( LV4,RANK:50 )
|
-
-
11 楼
赞一下大三的小学弟~
|
能力值:
( LV12,RANK:779 )
|
-
-
12 楼
timeGetTime(),GetTickCount(),返回值的单位是ms,但实际上它的精度只有10ms左右。
所以就有0ms这样的值出来了。
QueryPerformanceCounter()采用3.579545MHZ计时器,精度能达到us.
rdtsc取CPU内部time stamp counter,精度是ns级的。
你可以实测一下两段代码消耗的cpu周期数。
// Win32, C++ return an int64, is EDX:EAX
// rdtsc: 0F31
__inline unsigned __int64 cput_64bit(void)
{
__asm _emit 0x0F
__asm _emit 0x31
}
uint64 cpucnt_now;
CRITICAL_SECTION g_critical_cpu_cnt;
InitializeCriticalSection(&g_critical_cpu_cnt);
EnterCriticalSection(&g_critical_cpu_cnt);
cpucnt_now = cput_64bit();
// 待测代码段
cpucnt_now = cput_64bit() - cpucnt_now;
LeaveCriticalSection(&g_critical_cpu_cnt);
|
能力值:
( LV9,RANK:170 )
|
-
-
13 楼
恩,这个问题当时因为只是想做验证性的测试所以就偷懒用timeGetTime()了。rdtsc其实也会因为windows线程调度造成不精确。
对于比较精确的benchmark还是需要列出histogram
给的代码不错,收藏了^_^
|
能力值:
( LV12,RANK:779 )
|
-
-
14 楼
函数不要太长就是,一般是没有问题的。1ms已经可以跑百万个时钟周期了。
长时间的性能比较,超过10ms被切换,直接加减时间的方法都不行了。则要用统计线程时间来算了。
那段是我计算CPU主频的一段代码。比如说
QueryPerformanceCounter() 消耗时钟周期;
每次是有变化的 6000-8000不等。多次测试就OK了。
|
|
|