Old blogs

Turbocharging the Indexer

Future directions - February 27th, 2008 - Written by Tim Kelly

I recently had some time to take a look at some of the improvements we want to make for future version of Carbide. One that I’m really interested in is the ability to build and use externally pre-built SDK source file indexes (aka PDOMs). New APIs have been introduced based on work by Andrew Ferguson over at Symbian and the rest of the CDT-land developers. I plugged these APIs into the Carbide builder and pre-indexed the entire ‘\epoc32\include\’ tree for a Symbian OS source base. Now when projects are imported and an index is created for the project, the indexer can skip over the includes have all ready been parsed: you get the time improvement with no impact on navigation ability.

Some early benchmarks look promising on a couple of test projects:

Preparsed PDOM Benchmarks
Preparsed PDOM(Y/N)
Time
Size
Headers Parsed
Project = Agenda (45 source files)
No
1min 50 sec
9.4 MB
380
Yes
16 sec
1 MB
65
Project = Helloworld (5 source files)
No
17 sec
176 KB
154
Yes
0.4 sec
32 KB
1

Other than saving valuable processing time for tasks other than indexing the same files over and over there are multiple other uses for pre-built PDOMs. We’ll be investigating those over the next development cycle.

About the author Tim Kelly

  • Number of posts: 14

Comments are closed.