[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