'bundle_type_1', 'name' => 'bundle_type_1', ))->save(); print "Created a new webform bundle 'bundle_type_1'.\n"; for ($counter = 0; $counter < B_NUMBER_OF_FIELDS; $counter++) { entity_create('field_storage_config', array( 'field_name' => 'field_storage_' . $counter, 'entity_type' => 'webform', 'type' => 'integer', ))->save(); entity_create('field_config', array( 'field_name' => 'field_storage_' . $counter, 'label' => 'field_' . $counter, 'entity_type' => 'webform', 'bundle' => 'bundle_type_1', ))->save(); print "Created integer field $counter for 'bundle_type_1'.\n"; } // Insert B_LOOP entities. $total_time = 0; $values = array('type' => 'bundle_type_1'); for ($counter = 0; $counter < B_NUMBER_OF_FIELDS; $counter++) { $values['field_storage_' . $counter] = array('value' => 111); } for ($i = 0; $i < B_LOOP; $i++) { $entity = entity_create('webform', $values); $start_time = microtime(TRUE); $entity->save(); $end_time = microtime(TRUE); $total_time += $end_time - $start_time; print "Saved submission $i with 300 integer fields in " . ($end_time - $start_time) . ".\n"; } print "\nAverage save time over " . B_LOOP . " submissions saves was " . ($total_time / B_LOOP) . ".\n\n"; // Delete the previously created submission and bundle. $entities = entity_load_multiple_by_properties('webform', array('type' => 'bundle_type_1')); $ids = array_keys($entities); entity_delete_multiple('webform', $ids); print "Deleted submissions.\n"; /******************************************************************************/ // Now repeat the above but for a field with a multiple-column schema. // Create an entity bundle with B_NUMBER_OF_FIELDS text_with_summary fields. entity_create('webform_type', array( 'id' => 'bundle_type_2', 'name' => 'bundle_type_2', ))->save(); print "Created a new webform bundle 'bundle_type_2'.\n"; $max = B_NUMBER_OF_FIELDS * 2; for ($counter = B_NUMBER_OF_FIELDS; $counter < $max; $counter++) { entity_create('field_storage_config', array( 'field_name' => 'field_storage_' . $counter, 'entity_type' => 'webform', 'type' => 'text_with_summary', ))->save(); entity_create('field_config', array( 'field_name' => 'field_storage_' . $counter, 'label' => 'field_' . $counter, 'entity_type' => 'webform', 'bundle' => 'bundle_type_2', ))->save(); print "Created text_with_summary field $counter for 'bundle_type_2'.\n"; } // Insert B_LOOP entities. $total_time = 0; $random = new Random(); $value = $random->sentences(500); $summary = substr($value, 0, 200); $values = array('type' => 'bundle_type_2'); for ($counter = B_NUMBER_OF_FIELDS; $counter < $max; $counter++) { $values['field_storage_' . $counter] = array( 'value' => $value, 'summary' => $summary, 'format' => 'plain_text', ); } for ($i = 0; $i < B_LOOP; $i++) { $entity = entity_create('webform', $values); $start_time = microtime(TRUE); $entity->save(); $end_time = microtime(TRUE); $total_time += $end_time - $start_time; print "Saved submission $i with 300 text_with_summary fields in " . ($end_time - $start_time) . ".\n"; } print "\nAverage save time over " . B_LOOP . " submissions saves was " . ($total_time / B_LOOP) . ".\n\n"; // Delete the previously created submissions. $entities = entity_load_multiple_by_properties('webform', array('type' => 'bundle_type_2')); $ids = array_keys($entities); entity_delete_multiple('webform', $ids); print "Deleted submissions.\n"; // Delete the bundle types. print "Deleting bundles. This may take a while.\n"; entity_delete_multiple('webform_type', array('bundle_type_1')); print "Deleted bundle 'bundle_type_1'.\n"; entity_delete_multiple('webform_type', array('bundle_type_2')); print "Deleted bundle 'bundle_type_2'.\n"; print "Done.\n";