Re: Performance patch, dir.c:do_reload_dir() on large dirs.

2001-12-10 Thread Pavel Roskin
Hi, Björn! > > Correct. I'm fixing it. > > You're ever so cryptic pavel... Sorry, of course I meant that I only fixed the comment. > Anyways, please have a look at the > attached (inline) patch: It's great! I really appreciate it! > + if (list->list[i].f.marked) { > +g_hash_

Re: Performance patch, dir.c:do_reload_dir() on large dirs.

2001-12-09 Thread Björn Eriksson
On Thu, Dec 06, 2001 at 09:47:33PM -0500, Pavel Roskin wrote: > > A hash-table would make it 'less big O', scale and more predictable. > > <...looking at code...> But perhaps not a binary search (see dir.c:658) > > since the list isn't sorted? > > Correct. I'm fixing it. You're ever so crypti

Re: Performance patch, dir.c:do_reload_dir() on large dirs.

2001-12-06 Thread Pavel Roskin
Hi, Björn! > A hash-table would make it 'less big O', scale and more predictable. > <...looking at code...> But perhaps not a binary search (see dir.c:658) > since the list isn't sorted? Correct. I'm fixing it. > I guess I wasn't totally clear, I meant to say that there's no link from > http

Re: Performance patch, dir.c:do_reload_dir() on large dirs.

2001-12-04 Thread Björn Eriksson
Greetings Pavel, On Mon, Dec 03, 2001 at 04:44:34PM -0500, Pavel Roskin wrote: > On Thu, 29 Nov 2001, [iso-8859-1] Bj?rn Eriksson wrote: > > This small patch tries to skip the check-if-file-was-marked-in-the- > > old-list-logic if no files we're marked at all. It considered > > decrementing 'mar

Re: Performance patch, dir.c:do_reload_dir() on large dirs.

2001-12-03 Thread Pavel Roskin
Hi, Björn! On Thu, 29 Nov 2001, [iso-8859-1] Björn Eriksson wrote: > I had some problems with /tmp/ksocket/* when it contained ~20'000 > files, all of the same length thus foiling the strlen() 'optimisation'. Indeed, the time spent in reload_dir() grows as n^2 where n is the number of entries

Performance patch, dir.c:do_reload_dir() on large dirs.

2001-11-29 Thread Björn Eriksson
I had some problems with /tmp/ksocket/* when it contained ~20'000 files, all of the same length thus foiling the strlen() 'optimisation'. This small patch tries to skip the check-if-file-was-marked-in-the- old-list-logic if no files we're marked at all. It considered decrementing 'marked_cnt' f