[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: Re: KDE/kdelibs
From: Frans Englich <frans.englich () telia ! com>
Date: 2005-09-26 19:47:08
Message-ID: 200509261947.08445.frans.englich () telia ! com
[Download RAW message or body]
On Monday 26 September 2005 19:02, Shaheed wrote:
> On Sunday 25 September 2005 22:02, André Wöbbeking wrote:
> > > But on the part about private structs, can I safely assume it is NOT
> > > the norm to start moving member variables into private structs just
> > > for compilation performance? In fact, I would expect that at each
> > > opportunity to break BC, we would try to flatten the private structs
> > > out where convenient.
> >
> > The main reason FOR d-pointers is BC. So I don't think that they are
> > removed. That d-pointers also make the interface cleaner, reduce
> > dependencies and improve compile time are a nice addons.
>
> I am not suggesting the removal of the d-pointers; I understand the role
> they play in preserving BC.
>
> What I am checking/suggesting is that the intent should be to flatten the
> private structures they point to into the parent structure at convenient
> (non-BC preserving) times even though that might imply an increase in
> compile time, because that is surely to be preferred to the run time
> overhead of two allocations/structures.
>
> Otherwise some might think it a good idea to move *all* private members to
> the private structure pointed to by the d-pointer.
And my view is the exact opposite of yours, to /not/ remove d-pointers but
namely add more d-pointers.
I think worrying about performance is a programmer decease. I constantly hear
this "let's chop of our legs, and In Theory it should save a nano second."
Premature optimization is evil.
This time, it's about that even though our API development is inconsistent,
happens fragmented, and that BC is a PITA to have as developer partner, one
of the few mechanism we have to make our lives easier should be removed in
the name of speed. Where is the _proof_ for what is _claimed_ to be a
relevant gain? Is there profiling numbers for typical codepaths run
with/without d-pointerification?
So, I'm surely not against optimization. I just need proof, and stuff in touch
with reality before I go breaking other stuff which is important, and that is
for sure developer flexibility, API design and BC.
Cheers,
Frans
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic