Author Topic: Tagging Madness Again.  (Read 5576 times)

jaymmartin

  • Community Member
  • Posts: 53
  • Hero Points: 8
Tagging Madness Again.
« on: September 13, 2013, 01:17:21 am »
I only use C++11 with (of course) templated types for datastructures.  Slickedit is terribly slow with respect to tagging templated C++11 and some places it is just wrong.  The only way to get reasonable performance (cursor going away for seconds), I have had to close preview and reference windows and use key strokes to invoke "Goto Definition" and List Members,  etc which take seconds to complete.  My codebase is not even that large.  I also had to disable many background tagging options.  Furthermore, on VS2010, std::shared_ptr/std::tr1::shared_ptr is not  working correctly with tagging.  I am getting the following bizarre behavior, instead of looking up the type T of shared_ptr<T> it is lifting member names  from calls in the current file.  For example:

    shared_ptr<AType> ptr;

    ptr->Clusterf();

    ptr-><Alt-Dot> //(List members).

    "Clusterf" member is now an option!  The actual members of AType are not listed!  No amount of retagging helps.

I am disappointed that tagging improvements were not a prioirity for v18, especially with respect to the really only serious standard application computer language today (C++ with heavy use of templates).

jaymmartin

  • Community Member
  • Posts: 53
  • Hero Points: 8
Re: Tagging Madness Again.
« Reply #1 on: September 18, 2013, 08:29:45 pm »
It seems to me that a dirty "fix" to the bogus member in list problem is for shared_ptr<>'s and unique_ptr<>'s to just be treated as raw ptr's with respect to tagging.   Likewise for std::vector, std::array, (high usage base template data-structures).

mklein

  • Community Member
  • Posts: 90
  • Hero Points: 2
Re: Tagging Madness Again.
« Reply #2 on: December 13, 2013, 06:11:34 pm »
I'm having similar problems with C++11 unique_ptr not resolving (using tagged GCC 4.8.1 headers).

Is this a known issue that is being worked on?

Thanks,
Matt

dynoman

  • Junior Community Member
  • Posts: 6
  • Hero Points: 0
Re: Tagging Madness Again.
« Reply #3 on: January 21, 2014, 11:13:59 pm »
I only use C++11 with (of course) templated types for datastructures.  Slickedit is terribly slow with respect to tagging templated C++11 and some places it is just wrong.  The only way to get reasonable performance (cursor going away for seconds), I have had to close preview and reference windows and use key strokes to invoke "Goto Definition" and List Members,  etc which take seconds to complete.  My codebase is not even that large.  I also had to disable many background tagging options.  Furthermore, on VS2010, std::shared_ptr/std::tr1::shared_ptr is not  working correctly with tagging.  I am getting the following bizarre behavior, instead of looking up the type T of shared_ptr<T> it is lifting member names  from calls in the current file.  For example:

    shared_ptr<AType> ptr;

    ptr->Clusterf();

    ptr-><Alt-Dot> //(List members).

    "Clusterf" member is now an option!  The actual members of AType are not listed!  No amount of retagging helps.

I am disappointed that tagging improvements were not a prioirity for v18, especially with respect to the really only serious standard application computer language today (C++ with heavy use of templates).

I too am encountering these problems. >:(

Note! With all the above features having to be disabled, just to be able to navigate, the usability of V18 is pretty much gone for me. I've had to go back to V17!

For 20+ years I've used SlickEdit and I've not complained as the supported language set kept getting expanded. But even with the V17, the usability for me started going down. :(  I'd rather see language sets that were easily installed.

Steve

mklein

  • Community Member
  • Posts: 90
  • Hero Points: 2
Re: Tagging Madness Again.
« Reply #4 on: January 23, 2014, 06:27:10 am »
FWIW, I opened a case w/ support and they are able to repro the unique_ptr issue (which is the thing that annoys me the most currently). Not sure when they will release a fix for it.

Graeme

  • Senior Community Member
  • Posts: 2517
  • Hero Points: 327
Re: Tagging Madness Again.
« Reply #5 on: May 11, 2014, 12:01:53 pm »
Furthermore, on VS2010, std::shared_ptr/std::tr1::shared_ptr is not  working correctly with tagging.  I am getting the following bizarre behavior, instead of looking up the type T of shared_ptr<T> it is lifting member names  from calls in the current file.  For example:

    shared_ptr<AType> ptr;

    ptr->Clusterf();

    ptr-><Alt-Dot> //(List members).

    "Clusterf" member is now an option!  The actual members of AType are not listed!  No amount of retagging helps.

You mention VS2010.  Is this a problem in slick V18?  If so, you should report it to slickedit support - even if you don't have a maintenance contract.
From looking at previous threads on smart pointers, slick has supported templated smart pointer lookup for quite a long time.
e.g.
http://community.slickedit.com/index.php/topic,1367.msg5802.html#msg5802

chrisant

  • Senior Community Member
  • Posts: 1410
  • Hero Points: 131
Re: Tagging Madness Again.
« Reply #6 on: May 16, 2014, 11:30:08 pm »
How many files do you have open?  I just noticed today that if I have a lot of files open, SE takes a few seconds to close/open files.  I noticed it because jumping to tags was super slow.  I closed about 40 files and got SE back to taking less than a second to open/close files (which still seems slower than necessary).

Profiling showed it seems to be an inefficiency in the buffer tabs code.

Dennis

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 3231
  • Hero Points: 459
Re: Tagging Madness Again.
« Reply #7 on: August 07, 2014, 06:44:21 pm »
Just an FYI.  We have put a lot of effort into fixing many of these Visual Studio (and GCC) STL template problems for SlickEdit 2014.

I have tested shared_ptr<>, unique_ptr<>, auto_ptr<>, vector<>, set<>, and several other classes and they are working very well now.  The performance is better now as well.

hs2

  • Senior Community Member
  • Posts: 2752
  • Hero Points: 291
Re: Tagging Madness Again.
« Reply #8 on: August 07, 2014, 10:57:58 pm »
That's good news - thanks guys :)
HS2

chrisant

  • Senior Community Member
  • Posts: 1410
  • Hero Points: 131
Re: Tagging Madness Again.
« Reply #9 on: August 08, 2014, 05:46:50 pm »
Just an FYI.  We have put a lot of effort into fixing many of these Visual Studio (and GCC) STL template problems for SlickEdit 2014.

I have tested shared_ptr<>, unique_ptr<>, auto_ptr<>, vector<>, set<>, and several other classes and they are working very well now.  The performance is better now as well.
Hopefully the buffer tabs code efficiency can be improved so it doesn't take several seconds to open/close a file.  I apologize for not attaching the profile trace, but it should be pretty easy to reproduce by having ~60 files open and then opening or closing a file (even if it's by jumping to a tag in a file that isn't open yet).

Graeme

  • Senior Community Member
  • Posts: 2517
  • Hero Points: 327
Re: Tagging Madness Again.
« Reply #10 on: August 09, 2014, 01:30:54 am »
Just an FYI.  We have put a lot of effort into fixing many of these Visual Studio (and GCC) STL template problems for SlickEdit 2014.

I have tested shared_ptr<>, unique_ptr<>, auto_ptr<>, vector<>, set<>, and several other classes and they are working very well now.  The performance is better now as well.
Hopefully the buffer tabs code efficiency can be improved so it doesn't take several seconds to open/close a file.  I apologize for not attaching the profile trace, but it should be pretty easy to reproduce by having ~60 files open and then opening or closing a file (even if it's by jumping to a tag in a file that isn't open yet).

This is the "file tabs" tool-window you're referring to?  I don't use it but I just tried it and it takes 2 to 3 seconds to switch buffers  - however you do it.  Wow, that's an eternity.  I've never understood why people use file tabs as having to scroll sideways seems hopelessly slow.  Why would you use file tabs and not the "Files" tool window?  (I have my own files tool window which I finally got round to getting to work in slick V18.  I'll post it here one of these days.)
« Last Edit: August 09, 2014, 01:32:50 am by Graeme »