Sorry guys I messed this up.
below is a similar test but using a selectionset
iplines = 0;
start = DateTime.Now.Ticks;
RXClass plineClass = RXClass.GetClass(typeof(Polyline));
for (int i = 0; i < 10000; i++)
{
foreach (ObjectId id in ids)
{
if (id.ObjectClass == plineClass)
{
using (Transaction tr = db.TransactionManager.StartTransaction())
{
pl = (Polyline)tr.GetObject(id, OpenMode.ForRead);
tr.Commit();
iplines++;
}
}
}
}
ed.WriteMessage("\ndirect cast using pre dimmed class, ellapsed time ="
+ ((DateTime.Now.Ticks - start) / 1000).ToString()
+ " plines=" + iplines);
results
Select objects:
As test ellapsed time =25160 plines=30000
Field, ellapsed time =8340 plines=30000
direct cast using pre dimmed class, ellapsed time =8780 plines=30000
As cast using pre dimmed class, ellapsed time =8580 plines=30000
direct cast using id string comparison, ellapsed time =8940 plines=30000