[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [T-Merge patch] syncing code for views

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Wed, 06 Apr 2011 18:25:50 +0200

On 05.04.2011 23:09, Oto BREZINA wrote:
> On 2011-04-05 20:03, Stefan Küng wrote:
>> On 04.04.2011 22:57, Oto BREZINA wrote:
>>> Theme of patch: syncing code of BottomView.cpp, LeftView.cpp,
>>> RightView.cpp for later refactor common part to (BaseView.cpp)
> (same theme) part 2 attached : LeftView: extracting code from switch
> into functions; RightView add spaces to match LeftView formating;
> BaseView remove commented block defining WM_MOUSEHWHEEL fo pre 600 wins
>>> popup.AppendMenu(
>>> UINT nFlags,
>>> UINT_PTR nIDNewItem = 0,
>>> LPCTSTR lpszNewItem = NULL )
>>> 1. Is there any real gain to do not use nIDNewItem same value as IDS ?
>> That depends on whether we trust the optimizations of the compiler :)
>> If we use the IDS values, then the switch() could take up a lot of space
>> since those values are not continuous or even in the same value range.
>> Sure, we could edit the resource.h file manually to make sure those IDS
>> values are as we would like them, but I don't like messing with
>> generated files.
> we are talking about user action response - called rare, with up to ten
> values. No big deal, but I will keep in mind ...

It's not a performance issue but a code size issue. The switch-case
statement is converted into a jump table, and if the values are far
apart, that jump table gets really big. And we have to trust the
optimizer to decide in such cases that a jump table isn't the right
thing to do but better convert the switch-case to if-else statements.


   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-04-06 18:26:02 CEST

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.