time_t begin,end; double ret; begin=clock(); int cnt = 0; for(int i=0;i<10000000;i++) { AcDbEntity* pEnt = NULL; if(Acad::eOk!=acdbOpenObject(pEnt,entIds.at(0),AcDb::kForRead)) { continue; } if(pEnt!=NULL) { pEnt->close(); pEnt = NULL; } cnt++; } end=clock(); ret=double(end-begin)/CLOCKS_PER_SEC; acutPrintf(_T("\n耗时%.6f,成功%d次"),ret,cnt); //Debug下耗时0.719000,成功10000000次 //Release耗时0.474000,成功10000000次
这个速度够快了,可以不关注反复打开对象的效率问题
文章评论