On Sun, Mar 5, 2023 at 12:46 PM Rob Landley <r...@landley.net> wrote: > > On 3/4/23 14:09, enh via Toybox wrote: > > Current macOS does have basename -s, and $(basename -s .c $i) works > > fine too, but using bash's built-in regular expression support > > shaves almost 2s off the total clean build time. > > Indeed, but I'm close to getting the build to run under toysh, but haven't > opened the array variable can of worms yet. (Which is essentially another > subsystem, since it touches so many things.) So merging this moves the > goalposts > on me quite a bit again. Not against it in principle, just... inconvenient > timing. > > I rewrote it to NAME=${i##*/} NAME=${NAME%\.c} which works for me and I'm > assuming fixes the speed problem for you?
yeah, that works on macOS too. thanks! > > Config.in and globals.h are still where all the time goes before > > the actual build starts, but 1-2s off 14s > > Fourteen seconds? (for the _total_ configure+build.) > $ time make clean defconfig true > cleaned > cc -o kconfig/conf kconfig/conf.c kconfig/zconf.tab.c -DKBUILD_NO_NLS=1 \ > -DPROJECT_NAME=\"ToyBox\" > scripts/genconfig.sh > kconfig/conf -D /dev/null Config.in > /dev/null > scripts/single.sh true > true:Library probe > generated/{Config.in,newtoys.h,flags.h,globals.h,tags.h,help.h} > Compile true > .................. > > real 0m4.342s > user 0m5.923s > sys 0m1.199s > > My laptop is 10 years old and the actual build starts in 5 seconds here. I'm > guessing this is mac being weird again? to be fair, i don't have a non-google-owned mac, so i've no idea whether this is entirely darwin's fault, entirely the fault of some security software, or a mixture of the two. but, yes, it does seem like my gnu sed binary starts and/or runs slow. (the mac sed doesn't work for toybox's fancy uses.) > > seems like a worthwhile > > saving on a "MacBookPro18,1", especially if we're not using basename > > anyway (which would be clearer than any regex option, and make it > > harder to justify this). > > Well, the comment "alas basename -s isn't in posix yet" may have something to > do > with it, but I suspect it's more that the sed invocation was added in commit > b1aaba1fc817 in 2008 back when basename in ubuntu didn't have -s yet. (It was > added to coreutils in 2012. Chasing moving targets...) ah, that makes a lot more sense! after all, hardly anything is in posix :-) > Rob _______________________________________________ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net