On Mon, 27 Nov 2017 13:58:14 -0700 Warren Young <[email protected]> wrote:
> On Nov 23, 2017, at 5:19 AM, [email protected] wrote: > > > > They want maximum results for minimum effort? That may be normal, but > > it's still whiney. > > If “normal” is “whiney”, it ceases to be a useful disparagement unless you > intend to change society. This mailing list is not a good place to start > doing that; few take social cues from geeks. :) If your users want Git support, odds are they know how to use Git, and that's not something a "normal" person can do, or care about. ;) > That should be tried, too. I suspect it will make Git faster, at least up to > repo sizes that fit easily within a single process’s ability to grab > hard-wired RAM, based on the benchmark I pointed you to up-thread. > > Interesting point about that benchmark: if you force it to create a DB much > larger than RAM, performance goes in the tank on the SQLite side. And that > in turn may well be materially interesting to this very discussion. Maybe > it’s why Git holds up better under load as repo size grows into the gigs. May be worth testing that out on a restricted VM. > VAX != “super unusual.” It was one of the most popular computers of the > 1980s, dominating an entire market segment. Therefore, a lot of software got > ported to it, including recent versions of GCC. A huge hobbyist community > still exists for it, which also helps. Although these days, it isn't very mainstream. When I say "unusual" I am talking about things that are either rare or not popular/mainstream in today's modern (and somewhat broken) world. > > You want unusual, let’s talk about the Intel Paragon, based on the ill-fated > i860 microprocessor: > > https://en.wikipedia.org/wiki/Intel_Paragon > > I suspect it’s difficult to find a GCC fully supporting C99 on that, yet they > were powerhouses in their day, even grabbing the #1 spot in TOP500 list at > one point: > > > https://www.top500.org/featured/systems/intel-xps-140-paragon-sandia-national-labs/ > > Now, let us say that I’m an underfunded government laboratory sharing time on > a third-hand Paragon that is still powered on only because it’s cheaper to > pay the power and cooling bill than buy a new massively parallel > supercomputer. Do I not get to run the latest SQLite now? Do I not get to > pull from public Fossil repos? And how many systems like that require SQLite/Fossil in the first place? Let's be realistic here. If you spend time focusing on evey what-if/corner case when developing software, you are bound to become the next open-source Adobe sooner or later. There's an even better chance they run old archaic (versions of) software as well, and don't care much for SQLite/Fossil or anything that uses it. > [citation needed] > > I’m quite serious. Who says C11 is a major factor in the maintainability of > C code, and by what measured factor? Using standard types (uintXX_t, uint_fastXX_t, bool), and moving variables down scope makes it clearer as to where they are used. I notice in a lot of the Fossil code, you have this situation: void a_function(int this, int that) { int i, variable1, variable2; /* long block of code */ variable1 = this * that; /* long block of code */ variable2 = that / this; /* long block of code */ for( i = 0; i < variable1; i++ ) { do_something(i); } } Now in this example, you can see that variable1 isn't used until after the first long block of code, and variable2 isn't used until the second one. The variable i is only ever used in the for loop. With C99 you can write this as follows: void a_function(int this, int that) { /* long block of code */ int variable1 = this * that; /* long block of code */ int variable2 = that / this; /* long block of code */ for( int i = 0; i < variable1; i++ ) { do_something(i); } } Here it is clear where the variable is first used, particular in the situation of the for loop. Of course this is a case-by-case thing, up to the developer. I should point out that I am not advocating use of C99/C11 just for the sake of using it, but why restrict to an obsolete standard when a better standard has been present since 18 years ago? Why penalize the development of Fossil just for a few corner cases? > Ditto. I suspect you’re chasing microoptimizations, which might amount to > single-digit percentage speed increases, all in. > > Even at today’s far slower single-core speed increase rates, you’ll probably > get all of that performance and more from Intel just in the time it takes to > do the “upgrade.” Why not spend the time elsewhere and let Intel deliver the > goods? It's not about chasing microoptimizations, but does it hurt if you get even just a bit of performance for free, if code is more readable and workable? > You’re going to change a bunch of variables’ locality and you think I can fix > it with a few #defines? I don’t think so. Touche, to some extent. Though the point is that if you want to get things to work on old architectures, prepare to do some work. > > Using C99/C11 doesn't require Windows 8/10 or Linux. > > I didn’t say it did. I simply gave an example where those signing the checks > have decided that supporting only the latest platforms is acceptable from a > business standpoint, therefore all of my arguments about legacy architecture > support go out the window. > > Wise man say, “God created the world in only 6 days because he didn’t have a > legacy user base to support.” As much as I agree, software in general has moved on. You won't get Fossil/SQLite running on a Commodore 64 without a lot of work. With legacy platforms come legacy software that is either no longer supported by the vendor, or is supported just because the vendor was paid by that client to keep on supporting it. If drh receives such payment to continue supporting such legacy cases then fair enough. > > I recall > > a presentation by Andrew Tanenbaum (of MINIX fame) mentioning that > > software is becoming slower and larger at a faster rate than hardware > > is increasing in speed and capability. He compares running a word > > processor on the PDP-11 to running MS Office on modern Windows. > > That’s rather unfair, since the PDP-11 word processor probably didn’t even > support proportional fonts, much less any appreciable fraction of Word’s > feature set. I think his point was that it got the job done. It is possible to contrast Word 6.0 for Windows with modern Word. I would be OK with Word 6.0 as I wouldn't need much more than what Word 6.0 provided in the first place. > > Still, I have been dismayed since the 1980s that it still takes 15-90 seconds > to boot a computer to a useful application, just like it did for my Apple ][. > It’s long past time we achieved instant-on. Alas, the situation is unlikely to get better. _______________________________________________ fossil-users mailing list [email protected] http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

