Artikel mit Tag performance

myndian.de

Artikel mit Tag performance

Verwandte Tags

object orientation mixins jade adom scala java composition rpg optimization traits web development dynamic typing mvc sql fun antipattern ibatis strindtemplate nice jdbc velocity c# jsp web-applikationen model driven software development groocy groovy sql maps test spring framework ms sql server configuration database fehlerbehandlung strong typing language framework open source

Samstag, 15. März 2008

Premature optimization and object orientation

Just a litte note aside: I know many people saying that object oriented software does not perform well. Mostly that is their pretext to do ancient procedural programming or - worse - to mix up both. But every informed developer knows that this is not true. The (performance, architectural, ...) problem of many oo-software is the mashup of procedural/relational on one side and object oriented on the other. A well-known advice is to build the simplest object oriented programm you could and to leave out optimization as far as you could. Optimize only if it is really, really necessary and only if you know very, very well where your performance lack resides.

This week I stumbled over such a situation. Last week - friday afternoon, of course :-) - a customer called us that the result of the actual iteration does not work properly. A component which generates a network plan from a template and does some computations on that structure really killed the test system. A test on our development machine with their test data showed us that this process takes over three minutes of full workload of the hardware. And the plan had only 64 nodes.

So I took Nils over to a pair debugging session and we did some profiling. The bug was found quickly in the gap between some domain objects that evolved from a relational structure. To fix this we added a little cache to one class. The process took about one minute. Another cache and it performed in under one second! Without changing any other part of the system, because of the oo design. :-)

We took this as a proof of the advices above.
Geschrieben von Jörg in Softwaretechnik um 11:51 | Kommentare (0) | Trackbacks (0)
Tags für diesen Artikel: java, object orientation, optimization, performance
Artikel mit ähnlichen Themen:
  • Toying around ... with Scala
  • POJOs, POGOs und POCOs
  • View technologys for generated web layers
  • More about Groovy SQL Maps
  • Make your SQL Maps Groovy!
  • last language war language trolling
  • Dynamic two dimensional array in Java
  • static vs. dynamic typed configuration
  • notice: JDBC batch updates
  • the framework framework
(Seite 1 von 1, insgesamt 1 Einträge)

Suche

Inhalt

Startseite
Galerien
Impressum

Kategorien

  • XML Alltag
  • XML Internet
  • XML Musik
  • XML Politik
  • XML Softwaretechnik
  • XML Sonstiges
  • XML Visuelles

Alle Kategorien

Archive

September 2010
August 2010
Juli 2010
Das Neueste ...
Älteres ...

Blog abonnieren

XML RSS 2.0 feed
ATOM/XML ATOM 1.0 feed
XML RSS 2.0 Kommentare

Login

Verwaltung des Blogs

Login

Aktuelle Einträge

Netzwerkkultur verändert die Gesellschaft
Dienstag, 17. November

Absolute and relative date and time
Sonntag, 18. Oktober

Oren Lavie - Her Morning Elegance
Dienstag, 6. Oktober

Twitter & Blogroll
Samstag, 8. August

Read It Later: Round-Trip-Integration mit Firefox und Google-Reader
Montag, 3. August

Blogroll

* Jörg bei Twitter
* Jens bei Twitter
* Nils bei Twitter

* Beetlebum
* a life less ordinary?
* Martin Fowler's Bliki
* Springify
* BILDblog
* Plazeboalarm
* LawBlog
* ADOM Blog
* Being busy
* Dr. Gero Presser

Links

* Heise
* The Scala Programming Language
Nils' Fotos bei fotocommunity.de
Jogi auf Qype
Get Firefox!
Use OpenOffice.org

Heise News

* US-Forscher untersuchen Vertrauensseligkeit im Netz

* Kontrastreich: OLED-Videobrille von Zeiss

* DivX will Adobes Flash Player als Webvideo-Abspieler ablösen

* Projektorhersteller setzen beim Heimkino auf LCoS

* Videosignale per WLAN zum Monitor funken

kostenloser Counter