Login | Register
My pages Projects Community openCollabNet

Discussions > dev > Re: [T-Merge Patch] Lock build to reduce build time

Project highlights: :. Download .: :. Support .: :. FAQ .: :. Translations .: :. Donate .: :. Report Bug .:

tortoisesvn
Discussion topic

Back to topic list

Re: [T-Merge Patch] Lock build to reduce build time

Author steveking
Full name Stefan Küng
Date 2011-04-28 03:24:05 PDT
Message On Thu, Apr 28, 2011 at 09:30, Oto BREZINA <otik at printflow dot eu> wrote:
> On 2011-04-28 08:53, Stefan Küng wrote:
>> On Wed, Apr 27, 2011 at 23:22, Oto BREZINA<otik@prin​tflow.eu>  wrote:
>>> On 2011-04-27 22:22, Oto BREZINA wrote:
>>>> second try
>>>>
>>>> It saves about 6  BuildAllScreen2ViewVector executions on start and
>>>> about 5 calls per reload.
>>>>
>>>> This is first approach for review (you may suggest better names) to
>>>> don't spend too much time with something wrong from base.
>>> Same with:
>>> Using array+enum instead of set of variables
>>> Better handling of update of locator
>> Haven't checked your patch yet (still in the office).
>> But I had an idea on how to deal with this without using
>> locks/counters/whatever:
>>
>> How about using a separate class for the screen/view vector. Access to
>> the vector is controlled by the class methods. That way, you can just
>> set a flag "rebuild necessary", and the vector is then rebuilt on the
>> first read access.
>> With such an implementation, the vector really is only rebuilt when necessary.
>>
>> Thoughts?
> Sounds good to me, I did not want to make that big change just improve
> actual code. Of course real solutions are better then hacks.
> In fact "all" static attributes may be refactored out.
> However this vector is needed for updating scrolls and other stuffs, so
> not sure how it can be implemented properly ...


class Screen2View
{
public:
  int GetViewLine(int screenline);
private:
 void RebuildVector();
 vector<> m_screen2view;
};

int GetViewLine(int screenline)
{
  if (needsrebuild)
  {
    RebuildVector();
    needrebuild = false;
  }
  return m_screen2View[screenline];
}


basically, you hide the vector completely from the outside. Not sure
why you think that updating scrollbars is somehow related to this?

Stefan

--
       ___
  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net

« Previous message in topic | 6 of 10 | Next message in topic »

Messages

Show all messages in topic

[T-Merge Patch] Lock build to reduce build time otik Oto BREZINA 2011-04-27 00:21:16 PDT
     Re: [T-Merge Patch] Lock build to reduce build time otik Oto BREZINA 2011-04-27 13:22:37 PDT
         Re: [T-Merge Patch] Lock build to reduce build time otik Oto BREZINA 2011-04-27 14:23:08 PDT
             Re: [T-Merge Patch] Lock build to reduce build time steveking Stefan Küng 2011-04-27 23:56:15 PDT
                 Re: [T-Merge Patch] Lock build to reduce build time otik Oto BREZINA 2011-04-28 00:30:14 PDT
                     Re: [T-Merge Patch] Lock build to reduce build time steveking Stefan Küng 2011-04-28 03:24:05 PDT
                         Re: [T-Merge Patch] Lock build to reduce build time otik Oto BREZINA 2011-04-28 03:29:01 PDT
                             Re: [T-Merge Patch] Lock build to reduce build time steveking Stefan Küng 2011-04-28 11:36:41 PDT
                                 Re: [T-Merge Patch] Lock build to reduce build time otik Oto BREZINA 2011-04-28 12:40:03 PDT
                                     Re: [T-Merge Patch] Lock build to reduce build time otik Oto BREZINA 2011-04-28 14:07:44 PDT
Messages per page: