
|
[haiku-appserver]
||
[Date Prev]
[10-2005 Date Index]
[Date Next]
||
[Thread Prev]
[10-2005 Thread Index]
[Thread Next]
[haiku-appserver] Re: [Haiku-commits] r14599 - haiku/trunk/src/servers/app
- From: Adi Oanca <adioanca@xxxxxxxxx>
- To: haiku-appserver@xxxxxxxxxxxxx
- Date: Tue, 01 Nov 2005 01:02:58 +0200
Ingo Weinhold wrote:
On 2005-10-31 at 21:50:20 [+0100], Adi Oanca wrote:
[...]
What if we avoid programming with exceptions and compile the app_server
without exceptions support? This should get us some speed...
Is it possible?
It is possible, though. Whether it really gains a lot is another thing. AFAIK
the overhead of using exceptions is not really relevant (if there is overhead
at all -- you have to do error checking anyway). Throwing exceptions can be
rather expensive, though, which is why one should use them only for really
exceptional cases.
Which is... almost never. :-)
+ while (fDesktops.CountItems() > 0) {
+ Desktop *desktop = fDesktops.RemoveItemAt(0);
...
+ }
- Layer *layer;
- for (int32 i = 0; i < windowCount; ++i)
- // is this layer in fact a WinBorder?
- if ((layer =
static_cast<Layer*>(sDesktop->WindowList().ItemAtFast(i)))) {
...
- }
To avoid a few CPU cycles please pull out local declarations from loops.
Please don't do something like this; keeping variables as local as possible
increases the readability. Furthermore trust the compiler. Don't try to trick
it -- it's your friend. Extending the scope of a variable may cause a bigger
stack footprint and may even make your code slower, since the compiler has
less knowledge it can apply.
Umm... I don't think so. At least my tests and the books I read point
this as a very simple method of optimizing code.
(readability is down with 5% - not even noticeable)
(the stack footprint ain't bigger at all. one variable put on stack
once VS. the same variable pushed an pop-ed many times)
Also, this code:
>>>+ while (fDesktops.CountItems() > 0) {
>>>+ Desktop *desktop = fDesktops.RemoveItemAt(0);
is not optimal at all.
I'm not saying we should optimize at this stage, but you know, you were
the one who said that simple optimizations should find their way at the
time the code is written.
bye,
Adi.
|

|