chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] help please


From: felix
Subject: Re: [Chicken-users] help please
Date: Mon, 12 Apr 2004 07:28:17 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113

Linh Dang wrote:
On 11 Apr 2004, address@hidden wrote:


massive. the TAGS file generated by exuberant-ctags would be to big to
search. that's why i put everything into an sqlite db.

Hm....



I'm sure we can tune this a good deal. For example the list-ref's in
parse-ctags-line look a bit crude.  Heavy compiler-optimizations
won't give anything here, since mnost of the work is done in the
libraries.


Would you please give abit more explanations. I'm a scheme newbie
absolutely clueless wrt the chicken implementation.

Well, the script uses mostly library procedures, which do the heavy work
(calling sqlite, performing regexp-matching, accessing hash-tables),
so the code in the script itself doesn't do that much work. For that
reason it gives not much improvement, when compiled, even with
-benchmark-mode.

It turns out that chicken's `read-line' is pretty slow. I have added
a fast path to it, that invokes fgets() for normal file ports (which also
applies to ports created with `with-input-from-pipe'). This resulted
in a massive speedup of a simple test-program that reads a 70k line
file. Unfortunately, it does nearly nothing for you ctags processor
(and I don't know exactly why - I'll dig further into this...)



Note that Perl is heavily tuned for these kinds of jobs... ;-)



I know but it's a write-only language.


Absolutely!


cheers,
felix




reply via email to

[Prev in Thread] Current Thread [Next in Thread]