1
1

A slighy faster version. The if outside the for not inside.

This commit was SVN r8761.
Этот коммит содержится в:
George Bosilca 2006-01-19 23:57:03 +00:00
родитель 398457fc2a
Коммит d5d16c2162

Просмотреть файл

@ -111,7 +111,7 @@ int ompi_free_list_grow(ompi_free_list_t* flist, size_t num_elements)
num_elements = flist->fl_max_to_alloc - flist->fl_num_allocated;
if (num_elements == 0)
return OMPI_ERR_TEMP_OUT_OF_RESOURCE;
return OMPI_ERR_TEMP_OUT_OF_RESOURCE;
if (NULL != flist->fl_mpool)
alloc_ptr = flist->fl_mpool->mpool_alloc(flist->fl_mpool,
@ -138,17 +138,26 @@ int ompi_free_list_grow(ompi_free_list_t* flist, size_t num_elements)
ptr += (CACHE_LINE_SIZE - mod);
}
for(i=0; i<num_elements; i++) {
ompi_free_list_item_t* item = (ompi_free_list_item_t*)ptr;
item->user_data = user_out;
if (NULL != flist->fl_elem_class) {
if (NULL != flist->fl_elem_class) {
for(i=0; i<num_elements; i++) {
ompi_free_list_item_t* item = (ompi_free_list_item_t*)ptr;
item->user_data = user_out;
OBJ_CONSTRUCT_INTERNAL(item, flist->fl_elem_class);
} else {
OBJ_CONSTRUCT(&item->super, opal_list_item_t);
opal_list_append(&(flist->super), &(item->super));
ptr += flist->fl_elem_size;
}
} else {
for(i=0; i<num_elements; i++) {
ompi_free_list_item_t* item = (ompi_free_list_item_t*)ptr;
item->user_data = user_out;
OBJ_CONSTRUCT(&item->super, opal_list_item_t);
opal_list_append(&(flist->super), &(item->super));
ptr += flist->fl_elem_size;
opal_list_append(&(flist->super), &(item->super));
ptr += flist->fl_elem_size;
}
}
flist->fl_num_allocated += num_elements;
return OMPI_SUCCESS;