Diverse prosjekter

Her kan du lese om diverse utviklingsprosjekter jeg driver med - hobbyprosjekter stort sett, inkludert open source prosjekter jeg har startet eller bidrar på.

QuickBencher (beta)

I går lanserte jeg versjon 0.1 av et lite open source bibliotek jeg har valgt å kalle QuickBencher. Dere finner det på quickbencher.codeplex.com. Formålet er å gjøre det litt enklere å måle hvor lang tid ting tar, og kjøre sammenligninger på ulike større eller mindre kodesnutter. Her er et eksempel:

    1 var list = new List<string>();

    2 for (int i = 0; i < 10000000; i++)

    3     list.Add(i.ToString());

    4 

    5 string dummy;

    6 Benchmark.Bm(x =>

    7 {

    8     x.Report(“For:”, ()

    9         => { for (int i = 0; i < list.Count; i++) dummy = list[i]; });

   10     x.Report(“While:”, ()

   11         => { var enu = list.GetEnumerator(); while(enu.MoveNext()) dummy = enu.Current; });

   12     x.Report(“Foreach:”, ()

   13         => { foreach (var item in list) dummy = item; });

   14     x.Report(“Lambda:”, ()

   15         => { list.ForEach(s => dummy = s); });

   16 });

Output:

                  user     system      total        real
  For:        0.140401   0.000000   0.140401 (  0.147000)
  While:      0.124801   0.000000   0.124801 (  0.122000)
  Foreach:    0.124801   0.000000   0.124801 (  0.121000)
  Lambda:     0.062400   0.000000   0.062400 (  0.093000)

Mens jeg holdt på å lære meg Ruby kom jeg over en modul som heter Benchmark. “En sånn modul skulle jeg hatt i verktøyskrinet mitt når jeg utvikler i C#,” tenkte jeg, og siden det ikke så ut som om noen hadde gjort det før så lagde jeg den.

Ta en titt på prosjektsiden på CodePlex for mer info og for å laste ned v0.1. Den skal fungere mer eller mindre som tiltenkt, men det hadde vært kjekt å få litt tilbakemelding på om den fungerer for andre enn meg. Jeg tar gladelig imot forbedringsforslag, og hvis noen har lyst til å bidra på andre måter så er dere velkomne til det.

Nytt prosjekt: SharpBrain

"Vil du bli en .NET Ninja" lansert

Fussball Manager blir Åpen Kildekode

Snookiepoof på google code

Overvåk ledig diskplass med WMI

The Forecast Exchange: Flere grafer og en promo video

Enkel integrasjon mot TeamCity

En enkel SOA komponent

ContikiCenter version 2.0

Torbjørn Marø

Torbjørn er systemutvikler og et aktivt medlem av .NET-miljøet i Bergen. Dette er hans blog.

Siste kommentarer


Torbjørn: Skulle forresten ikke forundre meg om IronRuby - slik som mi...

Torbjørn: Er faktisk litt forvirret over de ulike strategiene man kan...

Jonas Follesø: Tips er og å se hvordan man lytter på events i IronRuby, s...

Torbjørn: Jeg unnlot med vilje å nevne ruby's implementasjon av Obser...

Odd Rune: Foretrekker ofte å bruke Observer jeg - http://ruby-doc.org...

Torbjørn: Takk for linken - gir god mening! Kanskje PSWinCom burde ha...

Bård Strøm: Ja, jeg er på. Interessante betraktninger når jeg nå skal...