GMP和HugeCalc对比测试, 代码存在什么错误?

yaos 2008-02-26 01:46:25
本来说过不再关心他HugeCalc的
但似乎以前答应做个测试
不算反悔, 看下面代码, 哪里错误?
均为C接口形式

Intel P4 XEON 2.0双CPU, 带HT技术
1G DDR


#include <stdio.h>
#include <tchar.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>

#include "gmp.h"
#include "HugeCalc.h"

#pragma comment( lib, "libgmp-3.lib" )
#define _NO_HI

unsigned long sizeList[16] = {256, 512, 1024, 1536, 2048, 3072, 4096,
8192, 10240, 16384, 64000, 65536, 256000, 512000, 1048576, 33554432};
char a[10485760], b[10485760];
char hexChar[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};

void RandomStr(int sizes) //随机填充16进制数字
{
srand(GetTickCount());
a[0] = b[0] = 'F'; //保证达到特定大小
for (int i = 1; i < sizes; i ++)
{
a[i] = hexChar[rand() % 16];
b[i] = hexChar[rand() % 16];
}
a[sizes] = '\0';
b[sizes] = '\0';
}

int main(int argc, _TCHAR* argv[])
{
mpz_t gmp_a, gmp_b, gmp_c;
HHUGEINTX huge_a, huge_b, huge_c;
LPCTSTR lpszA, lpszB;
LARGE_INTEGER CountFreq, start, stop;
double UsedTime;
int mult;//重复次数

QueryPerformanceFrequency(&CountFreq);
SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS);

//初始化
mpz_init(gmp_a);
mpz_init(gmp_b);
mpz_init(gmp_c);

hugeCalcDLLInit( (LPCTSTR)"d:\\hugecalc\\copybyguoxianqiang\\hugecalc" );

for (int i = 0; i < 16; i ++)
{
printf("现在计算长度(bits): %d\n", sizeList[i]);
RandomStr(sizeList[i] / 4);

//GMP Test
mpz_set_str(gmp_a, a, 16);
mpz_set_str(gmp_b, b, 16);
QueryPerformanceCounter(&start);
if (sizeList[i] < 10000) mult = 1000; else mult = 1;
for (int j = 0; j < mult; j ++)
mpz_mul(gmp_c, gmp_a, gmp_b);
QueryPerformanceCounter(&stop);
UsedTime = (double)(stop.QuadPart - start.QuadPart) * 1000000.0 / (double)CountFreq.QuadPart / (double)mult;
printf(" GMP包计算时间(us): %.3f\n", UsedTime);

//HugeCalc Test
huge_a = HX_new();
huge_b = HX_new();
huge_c = HX_new();
lpszA = (LPCTSTR)(LPSTR)a;
lpszB = (LPCTSTR)(LPSTR)b;
HX_setHexStr(huge_a, lpszA);
HX_setHexStr(huge_b, lpszB);
QueryPerformanceCounter(&start);
if (sizeList[i] < 10000) mult = 1000; else mult = 1;
for (int j = 0; j < mult; j ++)
HX_mul(huge_c, huge_a, huge_b);
QueryPerformanceCounter(&stop);
UsedTime = (double)(stop.QuadPart - start.QuadPart) * 1000000.0 / (double)CountFreq.QuadPart / (double)mult;
printf(" HugeCalc包计算时间(us):%.3f\n", UsedTime);
HX_delete(huge_a);
HX_delete(huge_b);
HX_delete(huge_c);
}

mpz_clear(gmp_a);
mpz_clear(gmp_b);
mpz_clear(gmp_c);
hugeCalcDLLFree();

return 0;

}


结果:

====== 'HugeCalc' exported 236 functions. ======



现在计算长度(bits): 256
GMP包计算时间(us): 0.273
HugeCalc包计算时间(us):2.363
现在计算长度(bits): 512
GMP包计算时间(us): 0.774
HugeCalc包计算时间(us):2.469
现在计算长度(bits): 1024
GMP包计算时间(us): 2.696
HugeCalc包计算时间(us):2.326
现在计算长度(bits): 1536
GMP包计算时间(us): 5.990
HugeCalc包计算时间(us):0.519
现在计算长度(bits): 2048
GMP包计算时间(us): 8.841
HugeCalc包计算时间(us):2.461
现在计算长度(bits): 3072
GMP包计算时间(us): 17.947
HugeCalc包计算时间(us):2.306
现在计算长度(bits): 4096
GMP包计算时间(us): 27.649
HugeCalc包计算时间(us):2.345
现在计算长度(bits): 8192
GMP包计算时间(us): 94.477
HugeCalc包计算时间(us):2.447
现在计算长度(bits): 10240
GMP包计算时间(us): 132.209
HugeCalc包计算时间(us):5.270
现在计算长度(bits): 16384
GMP包计算时间(us): 272.385
HugeCalc包计算时间(us):4.984
现在计算长度(bits): 64000
GMP包计算时间(us): 2140.938
HugeCalc包计算时间(us):5.991
现在计算长度(bits): 65536
GMP包计算时间(us): 2205.859
HugeCalc包计算时间(us):5.694
现在计算长度(bits): 256000
GMP包计算时间(us): 12472.812
HugeCalc包计算时间(us):14.125
现在计算长度(bits): 512000
GMP包计算时间(us): 28352.394
HugeCalc包计算时间(us):16.871
现在计算长度(bits): 1048576
GMP包计算时间(us): 63635.169
HugeCalc包计算时间(us):19.238
现在计算长度(bits): 33554432
GMP包计算时间(us): 4311831.340
HugeCalc包计算时间(us):7.861

GMP的时间是正常的
但HugeCalc完全不对
...全文
623 65 打赏 收藏 转发到动态 举报
写回复
用AI写文章
65 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxqcn 2008-02-28
  • 打赏
  • 举报
回复
当然可以了。
只是上述代码效率不太高,有许多临时对象需要构造/析构。

很高兴在本帖中与你的交流;以前的你过于情绪化,说句中肯的话。
yaos 2008-02-28
  • 打赏
  • 举报
回复
另外四则运算这么测试

a = 1;
b = 2;
c = 3;
d = 4;
e = (a + b) * (c + d) / (d - c) + (b + c);

可以做到么?

yaos 2008-02-28
  • 打赏
  • 举报
回复
估计下(1..1000000000000) * 10000# + (1..100000000) + (1, 3, 7, 9)运算量
大概需要测试(10^8内四生素数组数) * 4 * 1000000000000 的素数

晕菜
yaos 2008-02-28
  • 打赏
  • 举报
回复
算3000位四生素数

用我服务器比你高速机器好用

哈哈
gxqcn 2008-02-28
  • 打赏
  • 举报
回复
发展得真快啊,你这台服务器整体速度尚不及我的蹩脚台式机(单核)。

刚给你发了条短消息,请注意查收。

另外,你在数学研发论坛(bbs.emath.ac.cn)上发的帖子:估计下找到10^100以上的一个四生素数的工作量 新增了不少有价值的回帖。
yaos 2008-02-28
  • 打赏
  • 举报
回复
我服务器02年买的,内存小没办法
ECC内存当时多贵啊

可能内存小造成的
比较小阶乘结果看下

1000 0.001844
10000 0.012410
100000 0.173253
1000000 2.419232

再问你HugeCalc编译器是什么?
gxqcn 2008-02-28
  • 打赏
  • 举报
回复
另外在我机器上运算 40000000!需要200多秒钟

早说过:相对你的双超线程CPU,1GB的内存配置严重失衡。
还有,不知你是否还同时运行着其它耗内存或CPU的程序?

上述测试结果早在我的意料之中,哈哈。。。
yaos 2008-02-28
  • 打赏
  • 举报
回复
另外在我机器上运算 40000000!需要200多秒钟

不知道为什么

可能核心不好, 虽然是双CPU

我用你给程序测试结果

[code=INIFile]
请按任意键继续. . .
*** 被乘数与乘数长度之比为:10 ***

现在计算长度(bits): 256
GMP 包计算时间(us):0.072
HugeCalc包计算时间(us):0.631
现在计算长度(bits): 512
GMP 包计算时间(us):0.153
HugeCalc包计算时间(us):0.641
现在计算长度(bits): 1024
GMP 包计算时间(us):0.455
HugeCalc包计算时间(us):1.643
现在计算长度(bits): 1536
GMP 包计算时间(us):0.747
HugeCalc包计算时间(us):3.351
现在计算长度(bits): 2048
GMP 包计算时间(us):1.357
HugeCalc包计算时间(us):5.545
现在计算长度(bits): 3072
GMP 包计算时间(us):3.457
HugeCalc包计算时间(us):10.862
现在计算长度(bits): 4096
GMP 包计算时间(us):6.025
HugeCalc包计算时间(us):19.281
现在计算长度(bits): 8192
GMP 包计算时间(us):24.869
HugeCalc包计算时间(us):68.588
现在计算长度(bits): 10240
GMP 包计算时间(us):34.133
HugeCalc包计算时间(us):107.641
现在计算长度(bits): 16384
GMP 包计算时间(us):70.770
HugeCalc包计算时间(us):258.914
现在计算长度(bits): 64000
GMP 包计算时间(us):675.705
HugeCalc包计算时间(us):2904.457
现在计算长度(bits): 65536
GMP 包计算时间(us):707.486
HugeCalc包计算时间(us):2903.605
现在计算长度(bits): 256000
GMP 包计算时间(us):5599.664
HugeCalc包计算时间(us):8028.124
现在计算长度(bits): 512000
GMP 包计算时间(us):15575.712
HugeCalc包计算时间(us):15835.532
现在计算长度(bits): 1048576
GMP 包计算时间(us):46620.997
HugeCalc包计算时间(us):32131.107
现在计算长度(bits): 33554432
GMP 包计算时间(us):1953747.191
HugeCalc包计算时间(us):1209019.837
现在计算长度(bits): 67108864
GMP 包计算时间(us):4351422.847
HugeCalc包计算时间(us):2345686.657
现在计算长度(bits): 100663296
GMP 包计算时间(us):6488270.701
HugeCalc包计算时间(us):4111786.536

请按任意键继续. . .
*** 被乘数与乘数长度之比为:1 ***

现在计算长度(bits): 256
GMP 包计算时间(us):0.270
HugeCalc包计算时间(us):1.184
现在计算长度(bits): 512
GMP 包计算时间(us):0.772
HugeCalc包计算时间(us):3.365
现在计算长度(bits): 1024
GMP 包计算时间(us):2.684
HugeCalc包计算时间(us):11.321
现在计算长度(bits): 1536
GMP 包计算时间(us):5.890
HugeCalc包计算时间(us):24.250
现在计算长度(bits): 2048
GMP 包计算时间(us):9.114
HugeCalc包计算时间(us):41.519
现在计算长度(bits): 3072
GMP 包计算时间(us):18.018
HugeCalc包计算时间(us):81.104
现在计算长度(bits): 4096
GMP 包计算时间(us):28.017
HugeCalc包计算时间(us):136.518
现在计算长度(bits): 8192
GMP 包计算时间(us):93.564
HugeCalc包计算时间(us):421.842
现在计算长度(bits): 10240
GMP 包计算时间(us):138.212
HugeCalc包计算时间(us):606.268
现在计算长度(bits): 16384
GMP 包计算时间(us):285.892
HugeCalc包计算时间(us):1269.622
现在计算长度(bits): 64000
GMP 包计算时间(us):2258.924
HugeCalc包计算时间(us):6236.798
现在计算长度(bits): 65536
GMP 包计算时间(us):2223.911
HugeCalc包计算时间(us):6092.322
现在计算长度(bits): 256000
GMP 包计算时间(us):13368.282
HugeCalc包计算时间(us):21776.769
现在计算长度(bits): 512000
GMP 包计算时间(us):28602.953
HugeCalc包计算时间(us):46065.288
现在计算长度(bits): 1048576
GMP 包计算时间(us):63580.110
HugeCalc包计算时间(us):93924.520
现在计算长度(bits): 33554432
GMP 包计算时间(us):3966312.839
HugeCalc包计算时间(us):3456752.734
现在计算长度(bits): 67108864
GMP 包计算时间(us):9028743.083
HugeCalc包计算时间(us):6906244.123
现在计算长度(bits): 100663296
GMP 包计算时间(us):13464338.803
HugeCalc包计算时间(us):10250999.851

[/code]
yaos 2008-02-28
  • 打赏
  • 举报
回复
不要谈别的了

验证了我的猜测
你的代码在小数字下不如GMP
原因可能是:
汇编效率不高, 存在非数学因素, 既你说的监测

大数字下, GMP不如你
可能是算法问题90%, 还有是编译器不好10%吧

你编译器到底是那个?
gxqcn 2008-02-28
  • 打赏
  • 举报
回复
回43楼:HugeCalc早已可以进行混合四则运算。看来是HugeCalc扼杀了你的继续开发,罪过罪过。。。


回42楼:源代码及编译好的程序、DLL等全部打包邮寄给你了,注意查收。


回41楼:由于采用非常谨慎的开发模式,到release版时bug一般很少。
从V7.0.0.0到目前的V8.0.0.0接口数没有再增加,
且V8.0.0.0公布至今,未发现任何bug,是一个相当稳定的版本。


回40楼:现在即便是嵌入式的CPU也支持多线程的啊,要不怎么适应多任务请求?
开发HugeCalc的初衷就是降低使用者的门槛,无论是软硬件配置,还是开发人员的素质。
能充分而合理的替用户发掘计算机的潜力,应该是一个开发者应具有的良好品质。


回36楼:虽同是DLL动态库,但静态调用与动态调用还是有区别的,后者需要一个函数指针定位的过程,且HugeCalc还额外地对入参进行了全面的跟踪检查。
你不满意他比你快”——这句话又从何来?也与你在40楼的“关于HugeCalc和GMP的速度比较,我是绝对没说GMP比你快的 你可以搜我的言论”相矛盾。
我在数学研发论坛(bbs.emath.ac.cn)上曾说过的:
几年前曾有位参与GMP核心算法开发的一位台湾人对我说,GMP速度是HugeCalc的1.7倍,
但HugeCalc经过最近几次核心大提速,内部速度已翻番,且自动支持多核等,所以才能后来居上。



附一:给楼主的最新测试代码(输出重新排版过):
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>

#include "Include/gmp.h"
#include "Include/HugeCalc.h"
#include "Include/HugeIntX.h"

#pragma comment( lib, "lib/libgmp-3.lib" /*"lib/gmp.lib"*/ )
#pragma comment( lib, "lib/HugeCalc.lib" )

unsigned long sizeList[] = {256, 512, 1024, 1536, 2048, 3072, 4096,
8192, 10240, 16384, 64000, 65536, 256000, 512000, 1048576, 33554432, 0x4000000, 0x6000000/*, 0x8000000, 0xC000000*/};
char hexChar[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};


bool showLastErr( void )
{
bool bErr = TRUE;

switch( HugeCalc::GetLastError() )
{
case HCERR_NO_LICENSE:
printf("Last Error: HCERR_NO_LICENSE\n");
break;

case HCERR_USER_STOP:
printf("Last Error: HCERR_USER_STOP\n");
break;

case HCERR_NO_ENOUGH_MEMORY:
printf("Last Error: HCERR_NO_ENOUGH_MEMORY\n");
break;

case HCERR_INVALID_POINTER:
printf("Last Error: HCERR_INVALID_POINTER\n");
break;

case HCERR_DIV_ZERO:
printf("Last Error: HCERR_DIV_ZERO\n");
break;

case HCERR_BASE2SMALL:
printf("Last Error: HCERR_BASE2SMALL\n");
break;

case HCERR_RADIX2SMALL:
printf("Last Error: HCERR_RADIX2SMALL\n");
break;


case HCERR_NONE:
case HCERR_UNKNOWN:
default:
bErr = FALSE;
}

return bErr;
}

void RandomStr(char *p, int sizes) //随机填充16进制数字
{
srand(GetTickCount());
p[0] = 'F'; //保证达到特定大小
for (int i = 1; i < sizes; i ++)
{
p[i] = hexChar[rand() % 16];
}
}

int main(int argc, _TCHAR* argv[])
{
mpz_t gmp_a, gmp_b, gmp_c;
CHugeIntX huge_a, huge_b, huge_c;
LARGE_INTEGER CountFreq, start, stop;
double UsedTime;
int mult;//重复次数
int i, j;
char *pA, *pB;

QueryPerformanceFrequency(&CountFreq);
SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS);

//初始化
mpz_init(gmp_a);
mpz_init(gmp_b);
mpz_init(gmp_c);

#if 1
# define _RATIO 10UL /* 被乘数与乘数长度之比 */
#else
# define _RATIO 1UL /* 被乘数与乘数长度之比 */
#endif

printf("*** 被乘数与乘数长度之比为:%d ***\n\n", _RATIO);

i = sizeof(sizeList)/sizeof(sizeList[0]);
j = sizeList[i-1] / 4;

pA = (char *)malloc( j + 1 );
RandomStr(pA, j);

j /= _RATIO;
pB = (char *)malloc( j + 1 );
RandomStr(pB, j);

for (i = 0; i < sizeof(sizeList)/sizeof(sizeList[0]); i ++)
{
printf("现在计算长度(bits): %d\n", sizeList[i]);

// 设定字串终止符
j = sizeList[i] / 4;
pA[j] = '\0';
pB[j/_RATIO] = '\0';


if (sizeList[i] < 10000) mult = 1000; else mult = 1;


//GMP Test
mpz_set_str(gmp_a, pA, 16);
mpz_set_str(gmp_b, pB, 16);
QueryPerformanceCounter(&start);
for (j = 0; j < mult; j ++)
mpz_mul(gmp_c, gmp_a, gmp_b);
QueryPerformanceCounter(&stop);
UsedTime = (double)(stop.QuadPart - start.QuadPart) * 1000000.0 / (double)CountFreq.QuadPart / (double)mult;
// printf( " gmp_c have %u bits\n", mpz_sizeinbase( gmp_c, 2 ) );
printf(" GMP 包计算时间(us):%.3f\n", UsedTime);

// 释放内存
mpz_set_ui( gmp_a, 0 );
mpz_set_ui( gmp_b, 0 );
mpz_set_ui( gmp_c, 0 );


//HugeCalc Test
huge_a.SetHexStr((LPCTSTR)pA);
huge_b.SetHexStr((LPCTSTR)pB);
QueryPerformanceCounter(&start);
for (j = 0; j < mult; j ++)
huge_c.Mul(huge_a, huge_b);
QueryPerformanceCounter(&stop);
UsedTime = (double)(stop.QuadPart - start.QuadPart) * 1000000.0 / (double)CountFreq.QuadPart / (double)mult;
// printf( "huge_c have %u bits\n", huge_c.GetBits() );
printf(" HugeCalc包计算时间(us):%.3f\n", UsedTime);

if ( showLastErr() )
break;

// 释放内存
huge_c = huge_a = huge_b = 0;

// 将字串终止符恢复成16进制数字
j = sizeList[i] / 4;
pA[j] = hexChar[rand() % 16];
pB[j/_RATIO] = hexChar[rand() % 16];
}

free( pA );
free( pB );

mpz_clear(gmp_a);
mpz_clear(gmp_b);
mpz_clear(gmp_c);

system( "pause" );

return 0;
}



附二:对应的测试结果:[code=INIFile]*** 被乘数与乘数长度之比为:10 ***

现在计算长度(bits): 256
GMP 包计算时间(us):0.048
HugeCalc包计算时间(us):0.330
现在计算长度(bits): 512
GMP 包计算时间(us):0.133
HugeCalc包计算时间(us):0.354
现在计算长度(bits): 1024
GMP 包计算时间(us):0.347
HugeCalc包计算时间(us):0.614
现在计算长度(bits): 1536
GMP 包计算时间(us):0.608
HugeCalc包计算时间(us):1.132
现在计算长度(bits): 2048
GMP 包计算时间(us):1.047
HugeCalc包计算时间(us):1.792
现在计算长度(bits): 3072
GMP 包计算时间(us):2.115
HugeCalc包计算时间(us):4.024
现在计算长度(bits): 4096
GMP 包计算时间(us):3.532
HugeCalc包计算时间(us):6.530
现在计算长度(bits): 8192
GMP 包计算时间(us):18.964
HugeCalc包计算时间(us):21.784
现在计算长度(bits): 10240
GMP 包计算时间(us):37.994
HugeCalc包计算时间(us):38.832
现在计算长度(bits): 16384
GMP 包计算时间(us):67.048
HugeCalc包计算时间(us):86.324
现在计算长度(bits): 64000
GMP 包计算时间(us):676.622
HugeCalc包计算时间(us):1481.753
现在计算长度(bits): 65536
GMP 包计算时间(us):607.060
HugeCalc包计算时间(us):1387.048
现在计算长度(bits): 256000
GMP 包计算时间(us):4379.328
HugeCalc包计算时间(us):5920.026
现在计算长度(bits): 512000
GMP 包计算时间(us):11874.973
HugeCalc包计算时间(us):12876.776
现在计算长度(bits): 1048576
GMP 包计算时间(us):35291.357
HugeCalc包计算时间(us):26408.384
现在计算长度(bits): 33554432
GMP 包计算时间(us):1331961.464
HugeCalc包计算时间(us):1184980.773
现在计算长度(bits): 67108864
GMP 包计算时间(us):3154349.226
HugeCalc包计算时间(us):2320234.555
现在计算长度(bits): 100663296
GMP 包计算时间(us):4559124.414
HugeCalc包计算时间(us):4328886.772
请按任意键继续. . .[/code]
测试环境:Windows XP SP2,AMD Athlon 64 Processor 3200+,1GB DDR - 200MHz

[img=http://www.emath.ac.cn/image/logo.gif]学术性数学网站;知识与趣味相交融;提供原创数学工具软件。[/img] [img=http://www.emath.ac.cn/image/logo_bbs.gif]研讨数学的研究、发展及应用等问题,以及计算机(算法)在数学研发中的相互关系。[/img]
无心人 2008-02-28
  • 打赏
  • 举报
回复
呵呵

明天结掉部分帖子
让不愉快消失
gxqcn 2008-02-28
  • 打赏
  • 举报
回复
刚才通过论坛IM与楼主相谈甚欢,消除了误会,尽释前嫌(其实也没什么,只是一点小误会)。
不打不相识(其实我们几年前就结识了),希望与楼主在今后的交流中继续保持融洽的气氛,
也随时欢迎楼主到[img=http://www.emath.ac.cn/image/logo_bbs.gif]研讨数学的研究、发展及应用等问题,以及计算机(算法)在数学研发中的相互关系。[/img]交流。
yaos 2008-02-28
  • 打赏
  • 举报
回复
废话少说

还想Show的露脸

明天结帖子
gxqcn 2008-02-28
  • 打赏
  • 举报
回复
请收短信(论坛提示不及时)。
yaos 2008-02-28
  • 打赏
  • 举报
回复
那就是没实现
呵呵

不知道就算了

那和C++无关的
===========
看来你对我短消息里的问题是不想回答的?
回避 还是 不屑回答?
能告诉我么?

我就问这一次
==========
真要我在这里提出疑问么?
我不想的
gxqcn 2008-02-28
  • 打赏
  • 举报
回复
不好意思,我还真不知道你说的“寄存器”是指什么?
有些事情需要看C++以及编译器的技术标准,它们会告诉你答案的。。。
yaos 2008-02-28
  • 打赏
  • 举报
回复
俺不和你争什么GMP和HugeCalc谁快的问题

俺从纯技术角度讨论可以么?

你库实现了寄存器否?
yaos 2008-02-28
  • 打赏
  • 举报
回复
你真不想回答我的短消息么?
我没恶意的
gxqcn 2008-02-28
  • 打赏
  • 举报
回复
我也借用你的语气和词汇:实现混合四则运算很简单,其实那真不算什么的。。。
无非是重载运算符,代码严谨点而已;

内存管理本来就是算法库不可避免的课题之一,
至于内存泄露问题是没有的,除非是你的程序中途异常退出。。。


本来你是向mathe提问的,我是忍不住才进来帮忙的,只是不希望看到观众再被误导。

不调查没有发言权!——通过本帖对最最核心算法的测试数据表明:
1、即便在单核上,HugeCalc一样可以击败号称“地球上最快”的大数库GMP;
2、在多核上,HugeCalc可领先更多;
3、HugeCalc需要对小规模计算算法进一步提速;
4、HugeCalc效率最高的接口方式是C++静态导入,而后是C动态导入,最后是TLB形式;
5、还可以总结更多的。。。
加载更多回复(45)

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧