This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 187282 - allow to exclude embedded langs for source root
Summary: allow to exclude embedded langs for source root
Status: NEW
Alias: None
Product: editor
Classification: Unclassified
Component: Parsing & Indexing (show other bugs)
Version: 6.x
Hardware: All All
: P2 normal (vote)
Assignee: Tomas Zezula
URL:
Keywords: API, PERFORMANCE, PLAN
Depends on:
Blocks: 162580
  Show dependency tree
 
Reported: 2010-06-07 15:45 UTC by Vladimir Voskresensky
Modified: 2014-02-04 05:53 UTC (History)
4 users (show)

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Voskresensky 2010-06-07 15:45:51 UTC
As discussed in Prague. To use Indexing API cnd project needs a way to exclude slow-performance effects caused by embedded languages indexers (like JavaScript). We have discussed introduction of a friend API to pass excluded mime types.
Indexing API is an entry point for Go To File functionality which should be fast for CND projects as it is now with own impl
Comment 1 Vladimir Voskresensky 2010-06-07 15:48:12 UTC
Btw, is it possible to do the following to prevent influence of slow indexers:
- Indexing API prepares list of files (for Go To File)
- after list is ready it is passed concurrently for registered indexers
it should allow to prevent slow down of main features when new language with slow impl is added to IDE
Comment 2 Vitezslav Stejskal 2010-06-08 09:12:56 UTC
(In reply to comment #1)
> Btw, is it possible to do the following to prevent influence of slow indexers:
> - Indexing API prepares list of files (for Go To File)

I had an idea that might help with this. IMO we should change the indexing infrastructure, as you say, to first gather a list of files in open project. This list would be built based on the generic source groups provided by projects (no classpath/globalpath registry at this stage). The list would include essentially all files (not just sources) from all open projects. This list would server as data for (1) goto-file functionality and (2) the indexers.

> - after list is ready it is passed concurrently for registered indexers
> it should allow to prevent slow down of main features when new language with
> slow impl is added to IDE

The indexers would, however, be launched for the registered source roots as they are now. The files-crawling could be skipped, because it's done in the first stage. We would have to translate file paths for the indexers, because they need the file paths relative to a source root.

I can see several advantages:
- building the files list does not depend on the number and type of indexer registered in the system
- the goto file feature is available right after the files list is built (no need to wait for any indexers)
- there is no need to deal with classpath (API) in projects that otherwise don't have/use this concept (eg. cnd project)
- it will cover issue #162580 (Allow indexing files that are not under GlobalPathRegistry's roots)
- we won't need any special API for excluding indexers (mimetypes)
Comment 3 David Strupl 2011-07-31 12:31:50 UTC
This was assigned to Rasta - Tomasi, if you will not be able to work on this please change the target milestone to TBD or NEXT.
Comment 4 David Strupl 2012-02-24 09:27:25 UTC
Tomasi, Vladimir, is this still needed/planned for 7.2?
Comment 5 Vladimir Voskresensky 2012-02-24 10:45:20 UTC
David, we've lost TaskList completely for CND projects, because as soon as we put class paths into project lookup => firefox can not be parsed + a lot of exceptions in console (huge amount of js files under source root are detected and processed by slow JavaScript parser)