Re: New WGET and mainline version up: crm114-20080326-BlameSentansoken --> 64-bit SuSe 10.2 output
Bill Y <[email protected]>
| Newsgroups | gmane.mail.spam.crm114 |
|---|---|
| Message-ID | <[email protected]> |
From: "Ger Hobbelt" <[email protected]> > So, I will propose the followimg macros (names carefully chosen to be > at least moderately easy to type and easy to do a global replace which > gets us most of the way there). what should the following macros really > be? Bill, I'll second Paolo and Jaakko in this: please use those int32_t, etc. things they listed. The trick is that from a portability perspective, I can always make a nonconforming machine believe it's got uint32_t, etc. too, at least once it's through the crm114_sysincludes.h+config.*.h and into the CRM code. I'm just wondering if we want another layer of insulation for portability. I.e. we have a machine that thinks it has int32_t. BUT IT LIES! It's really a 36-bit machine, and the int32_t is a lie. So, by adding the ULong, we have a way to fix it. On the other hand, maybe the extra layer of (obfuscation) is not such a good idea. However, I do agree that from now on, I will use the _t types. - Bill Yerazunis One note where I deviate from Paolo/Jaakko: the hashes - and EVERYTHING that is a derived hash and expected to behave somewhat like one, like the 'features' - should have their own type. GerH has it already: crmhash_t Why? Because then I can quickly change hash bitwidth: when we decide to support CSS files beyond 2GB, say, ones up to 2T for those special festive occassions, you can go into sysincludes and change in ONE place only: typedef uint32_t crmhash_t; to typdef uint64_t crmhash_t; , then recompile and all of a sudden you've got a full-fledged 64-bit hash-based CRM running, allowing 2T CSS files for specials research, etc. Don't count on that. I bet it breaks the hash function itself. (Of course, then there's the 'wide' file I/O system support requirement for mmap() et al and the need for a good, new 64-bit stnnhash(), but that's all just local stuff and very doable; all that REALLY MATTERS is that ALL the classifiers have been upgraded all at once with nil changes to their algorithm codebase. With a few lines of code you've arrived into the year of the Fruitbat. [Pratchett] ;-) Indeed. A *good* hash would default to 64 bits, and the low order 32 bits would be used in crmhash_t for normal usage. For special research purposes one might also go the other way: reduced CSS at uint16_t hashes, but that's not portable to some heavy duty systems ([older] Crays come to mind) if you're really picky.) Or for embedded applications. -- Met vriendelijke groeten / Best regards, Ger Hobbelt [1] "Yes, we here at the Museum Of Bloody Expensive Equipment From Your Ganddaddies Heyday are quite modern in our ways too: all our mail is filtered using a CRM114 thingamajig running on this trusty old cluster of VAX/VMS boxes - note the beautiful BlinkenLichten at the left, by the way - while the tape units you see buzzing over there are used for what we lovingly refer to as the "Reaver Cache". Extremely fast and very aerodynamic too if you're into that sort of thing. ... Yes, ma'am, good question! It serves two purposes: this way we can show some of our proud heritage still at work, which is much more interesting than some mothballed exhibit if you ask me, and besides, we've found it cuts dramatically in our mail server hardware and license costs up on the top floor. Mr. Gates won't like it but the board is alight with glee because we're getting fanmail and everybody who's anybody in Twurp's Peerage now wants an email account with us, just so they can say they've been VAXed, while we've also been able to cut back on security in no small way as the risk of copper theft has become very low: our copper is extremely hot to the touch." I hope you aren't serious... the power costs alone to keep a VAX running would buy you a new Core 2 in a year or so. - Crash ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace