On Friday 31 January 2003 7:17 am, Wankyu Choi wrote:
While we're at the subject... I'd be pulling, say, 10,000 objects from directory storage in one go if a NeoBoard forum gets heavily populated ( 10,000 articles or 5,000 articles with each article having one attachment object ).
Either I misunderstand this statement, or your application design may be flawed. What is 'one go'? How many 'goes per second' do you expect to sustain?
How slow would it be compared to an SQL "select * from heavily_populated_board limit 50" (supposing a pageful of article list would spew out 50 articles )? ( I just assume it'd be slower than using MySQL. Correct me if I'm wrong. )
The DirectoryStorage overhead for this is tiny: nothing more than reading 100 files from some nested directories and some simple validation on each file header. Not much different to FileStorage, which would have 50 seeks and 50 reads in one file. Both storages would transfer the same number of data bytes. The key performance issue is how fast your filesystem can traverse those directories. Or for FileStorage, the cost of keeping that directory/dictionary in memory. If you have tried FileStorage and it lacked raw speed, then I doubt DirectoryStorage will be faster. -- Toby Dickenson http://www.geminidataloggers.com/people/tdickenson