[Mono-dev] Moma early results.
Leszek Ciesielski
skolima at gmail.com
Tue Nov 28 05:51:09 EST 2006
> On 11/28/06, Jonathan Pobst <monkey at jpobst.com> wrote:
> > Usage frequency I suppose. If DataRowCollection.Count is listed 100
> > times for example, it doesn't mean the property is called 100 times at
> > runtime, it actually means the user has typed it out 100 times in their
> > code, and would need to replace/change/fix all 100 occurrences.
> >
> > It's probably more useful for the user's results report than the
> > submitted report, but we can still use it to determine that implementing
> > this one little property is going to alleviate 1000 calls across 10 apps
> > instead of 10 calls over 10 apps.
> >
> > Jon
> >
> >
> > Alan McGovern wrote:
> > > Not sure if this has been fixed already or not, but if you look at the
> > > largest file in the archive, it has the same methods reported multiple
> > > times (100's of times?). Is there any point to that?
> > >
> > > Alan.
> > >
> > > On 11/27/06, *Miguel de Icaza* < miguel at ximian.com
> > > <mailto:miguel at ximian.com>> wrote:
> > >
> > > Hey folks,
> > >
> > > I have posted the 102 results that have been submitted so far from
> > > running Moma on people's binaries.
> > >
> > > The results have been cleaned up a little bit, I removed a few
> > > methods that were implemented and methods that had bogus MonoTODO
> > > entries, which were removed in the last couple of weeks since the
> > > original databases for Moma were created.
> > >
> > > The results are available here:
> > >
> > > http://primates.ximian.com/~miguel/tmp/results-moma.tar.gz
> > > <http://primates.ximian.com/~miguel/tmp/results-moma.tar.gz>
> > >
> > > It is worth noticing that in some cases, an API in the documentation
> > > is flagged as existing in "1.1" and "2.0", while the actual method was
> > > introduced in 2.0.
> > >
> > > This happens because in 1.1 you could still call the method, and the
> > > call would be satisfied by calling into the parent class of a method.
> > >
> > > For example Exception.GetType() is a method that calls into
> > > base.GetType(), it is flagged in the documentation as "available" in
> > > 1.1, but it did not actually exist back then.
> > >
> > > So to implement methods like this, the #if NET_2_0 must be used;
> > > The same happens extensively in Windows.Forms, when they had to override
> > > a few methods to catch some values (is my guess), they are
> > > documented as
> > > being in 1.1, but they were not.
> > >
> > > It is important thus to check the results of corcompare, see:
> > >
> > > http://mono.ximian.com/class-status/mono-HEAD-vs-fx-2/
> > > <http://mono.ximian.com/class-status/mono-HEAD-vs-fx-2/>
> > >
> > > and:
> > >
> > > http://mono.ximian.com/class-status/mono-HEAD-vs-fx-1-1/
A simple summary:
[smaller values clipped]
108 System.Void
System.Windows.Forms.Form::set_Location(System.Drawing.Point)
114 System.Void
System.Windows.Forms.TableLayoutControlCollection::Add(System.Windows.Forms.Control,System.Int32,System.Int32)
115 Microsoft.Win32.RegistryKey
Microsoft.Win32.RegistryKey::CreateSubKey(System.String)
117 System.Windows.Forms.TableLayoutControlCollection
System.Windows.Forms.TableLayoutPanel::get_Controls()
121 System.Void
System.Windows.Forms.ToolStripItem::set_ImageTransparentColor(System.Drawing.Color)
125 System.Void
System.Windows.Forms.TabPage::set_Location(System.Drawing.Point)
132 System.Void
System.Windows.Forms.ToolStripItem::set_BackgroundImage(System.Drawing.Image)
143 System.Collections.IEnumerator
System.Data.DataRowCollection::GetEnumerator()
169 System.Windows.Forms.Control
System.Windows.Forms.Design.ControlDesigner::get_Control()
184 System.Int32
System.Xml.Serialization.XmlSerializationReader::get_ReaderCount()
184 System.Void
System.Xml.Serialization.XmlSerializationReader::CheckReaderCount(System.Int32&,System.Int32&)
188 System.Int32
Microsoft.VisualBasic.CompilerServices.ObjectType::ObjTst(System.Object,System.Object,System.Boolean)
245 System.Data.DataRow System.Data.DataRowView::get_Row()
247 System.Void System.Windows.Forms.ButtonBase::set_Text(System.String)
292 System.Object
System.ComponentModel.Design.ComponentDesigner::GetService(System.Type)
341 System.Void System.Security.CodeAccessPermission::Assert()
352 System.Int32 System.Data.DataRowCollection::get_Count()
381 System.Void
System.Data.SqlClient.SqlParameter::.ctor(System.String,System.Data.SqlDbType,System.Int32,System.Data.ParameterDirection,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object,System.String,System.String,System.String)
488 System.ComponentModel.IComponent
System.ComponentModel.Design.ComponentDesigner::get_Component()
2108 System.Void
System.Data.DataSet::.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext,System.Boolean)
This was produced by concatenating all the reports into a single file
named summary, then processing it with:
cat summary | sort | uniq -c | sort -n
More information about the Mono-devel-list
mailing list