Re: I released the refactoring tool

Eric Ludlam <[email protected]> Sun, 15 Feb 2015 18:53:41 -0500
Newsgroups gmane.emacs.cedet
Message-ID <[email protected]>
On 02/15/2015 05:24 PM, David Engster wrote:
>> Also, I intend to use Sqlite to store create a real tag database. The
>> advantages:
>>
>> - We can do async operation because Sqlite is an external process, so Emacs
>> does not have to do the heavy lifting of various tag querying operations and
>> does not have to keep tags in memory. The database can take care of it.
>
> Not sure what you're planning here. Do you want to replace Semanticdb
> completely, or do you want to make Sqlite a back end for Semanticdb?
> Hard to say how much that would gain, since AFAIK, there's no efficient
> way to transfer large amounts of data between Emacs and Sqlite.

Hopefully most large data transfer operations are to write updated tags 
into the database, or pull tags into a freshly opened buffer.

Most other operations are to pull only a subset of tags out of the 
database via queries.

I started looking into this a while ago but didn't get very far.  My 
reason was that I can't use semantic at work if I have too many modules 
open because I'd run out of RAM.  (Though not lately.  Newer dev 
machines have insane amounts of ram.)

Anyway, my strategy was a wrapper program in C++ that would also 
implement the typecache, which is another humongous structure.  It would 
send emacs text formatted as an Emacs Lisp data structure that could 
just be read.  Multiple Emacsen would connect to it as a service and 
just send it queries.

I really didn't get very far though.  A couple false starts.  With 
dynamic loading for Emacs 25, perhaps it is just a matter of waiting a 
little bit and then the tag server could just be written with Emacs with 
an sql module.

Eric

------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/