Hello,

looking into the localserver directory in my FF profile via CygWin, I
noticed that I geht "filename too long" errors.  As well I noticed,
that Gears became "somewhat slow" in loading recently added files to
the localserver.

The problem seems to be how localserver stores the files.

First, it stores about 500 files into one directory.  That is OK.
So if it has to store more than 500 files, it creates a subdirectory
and puts the excess files there.  That's OK, too.

However where it starts to become badly implemented is, when more than
1000 files are stored, as it creates the next subdirectory in the
subdirectory it created before.  And so on.  So with 50000 files you
have 100 subdirectories, each within the other, this is a path with
100 \ in it!

Not to say, that Windows must work through all this deep path each
time it tries to access a file, which makes it extremely slow, and
that all newer files are deeply buried in this extra long path.

What I would expect is, that the Localserver would organize files
differently, like, say, a logarithmic way.  This is:
- Put the first 500 files into a subdirectory.
- Put the next 500 files into another subdirectory which may contain
500 other subdirectories.  (this makes 25500 files)
- Put the excess files into a subdirectory which has 2 levels of
subdirectories.  (this makes 525025500 files)
- Put the excess files into a subdirectory which has 3 levels of
subdirectories.  (this should hold until 2050)

If you think this is not reasonable, then please think again.
Harddrives grow with factor 30 each decade.  At the same time they
have shrunken in size and price dramatically.  My first 1 GB drive in
1990 was about 1000 EUR and had 5.25" double height.  Today I can buy
1 TB drives in 3.5" for less than 100 EUR.

In 2050 we will have 1000000 TiB drives - or whatever replaced them -
in our laptops - or whatever replaced them -.  So there is nothing
wrong to have more than 1 billion files in a cache - for an ordinary
user.

Note that I would like to be able to cache 10 Million URLs in a Gears
localserver.  TODAY (on my laptop).
But with the current implementation this just is not possible, as this
starts to become really uncomfortable around 100000 URLs.  This is not
even enough for Wikipedia.

I will now try to create a CygWin based cleanup script to reorganize
the file structure to some sane layout.  Then I will run this
periodically after adding files.  I am not completely sure how this
works out, as I am not sure how Localserver creates the files then,
but we will see.

-Tino

Reply via email to