> -----Original Message----- > From: Robert Cummings [mailto:robert@xxxxxxxxxxxxx] > Sent: Thursday, July 10, 2008 11:31 PM > To: Boyd, Todd M. > Cc: php-general@xxxxxxxxxxxxx > Subject: RE: OT - RE: [PHP] scalable web gallery > > On Thu, 2008-07-10 at 12:06 -0500, Boyd, Todd M. wrote: > > > -----Original Message----- > > > From: Robert Cummings [mailto:robert@xxxxxxxxxxxxx] > > > Sent: Thursday, July 10, 2008 11:24 AM > > > To: Boyd, Todd M. > > > Cc: Daniel Brown; php-general@xxxxxxxxxxxxx > > > Subject: Re: OT - RE: [PHP] scalable web gallery > > > > > > On Thu, 2008-07-10 at 10:18 -0500, Boyd, Todd M. wrote: > > > > > -----Original Message----- > > > > > From: Daniel Brown [mailto:parasane@xxxxxxxxx] > > > > > Sent: Thursday, July 10, 2008 9:42 AM > > > > > To: paragasu > > > > > Cc: php-general@xxxxxxxxxxxxx > > > > > Subject: Re: scalable web gallery > > > > > > > > ---8<--- snip > > > > > > > > > And for the record, in the "olden days," there was a limit > of > > > > > about 2048 files per directory, back when no one thought there > > > would > > > > > ever be a need for nearly that many files. Then, with improved > > > > > filesystems, the limit was rumored to be another magic number: > > > 65535. > > > > > That depended on the operating system, filesystem, and the > kernel. > > > I > > > > > think (but don't quote me on this) that BeOS had the 65535 > limit. > > > > > > > > > > Now, on an ext3 filesystem (we're not counting ReiserFS > > because > > > > > (1) I was never a fan, and (2) he might kill me if I say > something > > > > > bad! 8^O) you're okay with hundreds of thousands of files per > > > > > directory. ls'ing will be a bit of a pain in the ass, and if > > > you're > > > > > in Bash, you probably don't want to double-TAB the directory, > but > > > all > > > > > in all, you'll be okay. > > > > > > > > > > Still, I'd create 16 subdirectories under the images > > directory: > > > > > 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f. Then name the file as an MD5 > > hash > > > of > > > > > the image uploaded, and place it in the directory matching the > > > first > > > > > character of the new file name. > > > > > > > > Aren't directory structures in Windows (>2.x) and even DOS (>4.x) > > > built > > > > with B-Trees? I wouldn't figure there would be any kind of > > > > limit--excepting memory, of course--to how many files or > > > subdirectories > > > > can be linked to a single node. > > > > > > > > Been a while since I've played with those underlying data > structures > > > we > > > > all take for granted, though, so maybe I'm way off base. > > > > > > They may all be B-Trees but the storage mechanism often differs > > between > > > one filesystem and another. FAT16 and FAT32 both suffered from > > > limitations on the number of files that could exist in a directory. > > > Actually, I may be wrong about FAT32, but I do know for certain it > had > > > massive slowdown if it hit some magic number. > > > > tedd also sent me an e-mail that sparked a memory of mine... the > > b-trees, regardless of their efficiency, still assign each dir/file > > INode an identifying number. This number, obviously, can only get so > > large in the context of one b-tree object (i.e., a directory). > > > > In spite of this mental exercise, I do *NOT* miss my Data Structures > & > > Algorithms class. :) > > Really? That along with distributed computing, and parallel computing > were my favourites... and here I am programming for the Web... I guess > it's distributed ;) Don't get me wrong--I enjoyed the class very much. I had never seen sorting algorithms outside of the Bubble Sort, so learning Pivot, Shell, etc. was quite a blast. Self-balancing data trees and such were a real eye-opener as to the power of data structures, too. I'm just... glad I don't have to learn it all over again in a classroom environment. :) Haven't taken a distributed computing class just yet, but I've still got a bit until I graduate, and these elective credits are burning a hole in my pocket... Todd Boyd Web Programmer -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php