Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Error parsers, slowness and cygwin

Hi,

Does anybody know the purpose of ProblemMarkerInfo.externalPath? Related to ICModelMarker.C_MODEL_MARKER_EXTERNAL_LOCATION. CDT takes some care to enter it in a few places. This field is not being displayed in Problems view or Markers view. Doubleclick on such entry (pointing outside of workspace) has no effect. Anyone knows? 
There is another call to CygPath and consequent invocation of external program cygpath in ErrorPattern (inside getLocation call). Again, this is called for each line where it cannot resolve file name in order to populate the field "externalPath". Is it important to populate it with translated path or it is possible to relax this requirement?

Andrew

On Thu, Jan 22, 2009 at 11:38 AM, Andrew Gvozdev <angvoz.dev@xxxxxxxxx> wrote:
I refer to ErrorParserManager, findFilePath(String filePath).


On Thu, Jan 22, 2009 at 11:04 AM, Elena Laskavaia <elaskavaia@xxxxxxx> wrote:
Is this error parser? Or it is part of the build?

Andrew Gvozdev wrote:
I was looking at the issue reported in eclipse.tools.cdt post <http://www.eclipse.org/newsportal/article.php?id=17892&group=eclipse.tools.cdt#17892> and how cygwin paths are handling in the code. Cygwin utility "cygpath" is used to translate cygwin path to windows, class org.eclipse.cdt.utils.CygPath. While I have no doubt about its correctness, it appears that running separate external program for each line trying to map (not yet resolved) filename to cygwin path is a major reason for slowness of output parsing. A short test of parsing with and without the translation attempt shows slowness of x100 times. Is this the best way of doing it? We use eclipse to compile projects remotely and some of them are big enough to produce thousands of warnings where the files are not necessarily present on disk. Is it advisable to replace using of the utility cygpath with a function which would do something like a simple translation from "/cygwin/c/" to "C:/" or so? Perhaps there is already such a function out there somewhere?

Andrew



------------------------------------------------------------------------

_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev



Back to the top