Changeset 2130 for XIOS/dev/dev_ym/XIOS_COUPLING/src/node/field.cpp
- Timestamp:
- 04/20/21 09:49:47 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/node/field.cpp
r2022 r2130 497 497 CATCH_DUMP_ATTR 498 498 499 bool CField::evaluateBufferSize(map<CContextClient*,map<int,size_t>>& evaluateBuffer, bool isOptPerformance) 500 { 501 CContextClient* client=nullptr ; 502 503 for(int i=0;i<2;i++) 504 { 505 map<int,int> dataSize ; 506 if (i==0 && clientToServerStoreFilter_) client = clientToServerStoreFilter_-> getTransferedDataSize(dataSize) ; 507 if (i==1 && serverToClientStoreFilter_) client = serverToClientStoreFilter_-> getTransferedDataSize(dataSize) ; 508 509 if (client!=nullptr) 510 { 511 map<int,size_t> bufferSize ; 512 513 if (evaluateBuffer.count(client)!=0) bufferSize = evaluateBuffer[client] ; 514 if (isOptPerformance) 515 { 516 for(auto& it : dataSize) 517 { 518 if (bufferSize.count(it.first)==0) bufferSize[it.first]=it.second ; 519 else bufferSize[it.first]+=it.second ; 520 } 521 } 522 else 523 { 524 for(auto& it : dataSize) 525 { 526 if (bufferSize.count(it.first)==0) bufferSize[it.first]=it.second ; 527 else bufferSize[it.first]=std::max(bufferSize[it.first],(size_t)it.second) ; 528 } 529 } 530 evaluateBuffer[client] = bufferSize ; 531 client=nullptr ; 532 } 533 } 534 if (client==nullptr) return false ; 535 else return true; 536 } 499 537 500 538
Note: See TracChangeset
for help on using the changeset viewer.