Index: /issm/trunk/src/c/Container/DataSet.cpp
===================================================================
--- /issm/trunk/src/c/Container/DataSet.cpp	(revision 7633)
+++ /issm/trunk/src/c/Container/DataSet.cpp	(revision 7634)
@@ -77,5 +77,7 @@
 /*FUNCTION DataSet::~DataSet{{{1*/
 DataSet::~DataSet(){
+//	Echo();
 	clear();
+//	Echo();
 	xfree((void**)&sorted_ids);
 	xfree((void**)&id_offsets);
@@ -379,7 +381,14 @@
 void  DataSet::clear(){
 
-	vector<Object*>::iterator object;
-
-	for ( object=objects.begin() ; object < objects.end(); object++ ){
+/*  use reverse_iterator for efficiency in matlab memory manager
+	(keeping old code in case it needs to revert back)  */
+
+//	vector<Object*>::iterator object;
+	vector<Object*>::reverse_iterator object;
+
+//	for ( object=objects.begin() ; object < objects.end(); object++ ){
+//		delete (*object);
+//	}
+	for ( object=objects.rbegin() ; object < objects.rend(); object++ ){
 		delete (*object);
 	}
