| 00:45.40 | *** join/#brlcad LordOfBikes (~armin@dslb-092-074-249-241.092.074.pools.vodafone-ip.de) | |
| 01:29.08 | Notify | 03BRL-CAD:starseeker * 68672 brlcad/trunk/regress/repository.cmake: Try to get a bit smarter about avoiding expensive regex tests, begin setting up to run one test per script execution. |
| 01:51.02 | *** join/#brlcad teepee_ (~teepee@unaffiliated/teepee) | |
| 05:51.30 | *** join/#brlcad tandoorichick (3d0c28b1@gateway/web/freenode/ip.61.12.40.177) | |
| 07:24.37 | *** join/#brlcad Mandeep_Singh (~mandeep@117.199.98.57) | |
| 07:33.39 | *** join/#brlcad sniok (~sniok@89.252.2.135) | |
| 08:48.03 | *** join/#brlcad Caterpillar2 (~caterpill@unaffiliated/caterpillar) | |
| 09:25.41 | *** join/#brlcad sniok (~sniok@89.252.2.135) | |
| 09:44.28 | *** join/#brlcad skat00sh (uid103741@gateway/web/irccloud.com/x-eiopspcbsukldfky) | |
| 10:14.30 | *** join/#brlcad amarjeet (~Amarjeet@101.211.232.241) | |
| 10:52.05 | *** join/#brlcad sniok (~sniok@89.252.2.135) | |
| 10:53.26 | *** join/#brlcad amarjeet (~Amarjeet@101.211.232.241) | |
| 11:33.56 | *** join/#brlcad amarjeet (~Amarjeet@101.211.230.2) | |
| 11:43.18 | *** join/#brlcad sniok (~sniok@89.252.2.135) | |
| 11:59.05 | *** join/#brlcad sniok_ (~sniok@89.252.29.238) | |
| 12:16.07 | *** join/#brlcad asad_ (~asad00@host10-2.natpool.mwn.de) | |
| 12:34.09 | *** join/#brlcad Mandeep_Singh (~mandeep@117.199.98.57) | |
| 14:02.34 | *** join/#brlcad amarjeet (~Amarjeet@101.211.241.239) | |
| 14:14.59 | *** join/#brlcad yorik (~yorik@187.57.207.104) | |
| 14:28.35 | Notify | 03BRL-CAD:starseeker * 68673 brlcad/trunk/regress/repository.cmake: Don't bother scanning the CMake Find*.cmake modules. |
| 14:39.35 | Notify | 03BRL-CAD:starseeker * 68674 brlcad/trunk/regress/repository.cmake: Wrap the list filtering in macro calls, and have the functions define what they need. |
| 14:40.02 | starseeker | anybody know if there's some kind of json or ascii text standard language for defining key bindings independent of a graphical toolkit or OS? |
| 14:59.57 | Notify | 03BRL-CAD Wiki:Thien doan * 0 /wiki/User:Thien_doan: |
| 15:00.38 | *** join/#brlcad teepee_ (~teepee@unaffiliated/teepee) | |
| 15:10.02 | *** join/#brlcad amarjeet (~Amarjeet@101.211.241.239) | |
| 15:15.53 | *** join/#brlcad amarjeet (~Amarjeet@101.211.241.239) | |
| 15:23.15 | *** join/#brlcad amarjeet (~Amarjeet@101.211.241.239) | |
| 16:29.35 | *** join/#brlcad amarjeet (~Amarjeet@101.211.230.45) | |
| 16:56.53 | *** join/#brlcad ickby (~stefan@x5d846921.dyn.telefonica.de) | |
| 17:06.44 | *** join/#brlcad amarjeet (~Amarjeet@101.211.221.7) | |
| 17:14.17 | *** join/#brlcad ickby (~stefan@x5d844311.dyn.telefonica.de) | |
| 17:17.15 | *** join/#brlcad amarjeet (~Amarjeet@101.211.234.179) | |
| 17:45.16 | *** join/#brlcad tandoorichick (b64b2de1@gateway/web/freenode/ip.182.75.45.225) | |
| 17:54.44 | *** join/#brlcad sniok (~sniok@89.252.2.135) | |
| 18:24.03 | *** join/#brlcad shubham_ (2d73b017@gateway/web/freenode/ip.45.115.176.23) | |
| 18:40.27 | *** join/#brlcad merzo (~merzo@200-92-132-95.pool.ukrtel.net) | |
| 18:43.55 | *** join/#brlcad merzo (~merzo@200-92-132-95.pool.ukrtel.net) | |
| 18:51.08 | *** join/#brlcad amarjeet (~Amarjeet@101.211.211.53) | |
| 19:14.51 | brlcad | starseeker: no, you're right -- misc/CMake is our code and an exception in that dir (arguably doesn't belong in misc, but better than creating another top-level) |
| 19:17.33 | brlcad | and you found a bug in the repository script. that's why it was missing platform symbols in headers |
| 19:17.43 | Notify | 03BRL-CAD:brlcad * 68675 brlcad/trunk/regress/repository.sh: oops, this needs to be an extended regex due to the or construct (thx to cliff for noticing no header matches were being reported) |
| 19:19.13 | brlcad | at a glance, the regex doesn't look right to me now either .. I think that was for when the whole file was getting tokenized on whitespace |
| 19:39.31 | *** join/#brlcad teepee_ (~teepee@unaffiliated/teepee) | |
| 20:58.07 | *** join/#brlcad merzo (~merzo@200-92-132-95.pool.ukrtel.net) | |
| 21:54.08 | Notify | 03BRL-CAD:brlcad * 68676 brlcad/trunk/regress/repository.sh: former platform regex was quite suboptimal. go with a simpler but more relevant test for platform symbols used in a logical context. also, expand the list of platforms considerably (intentionally avoiding a few platform names that also double as standard names). performance needs rework as it now runs longer with more symbols being tested. |
| 21:54.48 | brlcad | starseeker: hopefully that won't be too hard to accommodate, but there's a MUCH better list of platform instances now |
| 21:54.56 | brlcad | should be able to pull the regex logic |
| 22:08.40 | starseeker | brlcad: urk... I was hoping you'd stick to the *WIN* instances for a while ;-) |
| 22:09.08 | brlcad | :) |
| 22:09.12 | starseeker | did you mean HAIKU rather than HIAKU? |
| 22:09.14 | Notify | 03BRL-CAD:brlcad * 68677 brlcad/trunk/regress/repository.sh: order of magnitude speedup, do all platforms at once with one monster regex. still separating headers from sources from build logic since they're categorically different work to fix them. |
| 22:09.15 | brlcad | there, that should be it |
| 22:10.32 | starseeker | brlcad: I'm preparing to chop up regress-repository into a bunch of parallel tests for individual symbols in the hopes that they'll finish faster in parallel |
| 22:10.43 | starseeker | is that workable, or did you want to stick to one big test? |
| 22:12.26 | starseeker | I think I can pull the new regexes easily enough, but the performance characteristics of the CMake regex matching may differ a bit |
| 22:16.49 | brlcad | I'm fine with one big test |
| 22:17.46 | starseeker | blinks - is that to avoid added complexity? |
| 22:18.23 | Notify | 03BRL-CAD:brlcad * 68678 brlcad/trunk/regress/repository.sh: oops, remove temp code to isolate the platform tests |
| 22:19.42 | Notify | 03BRL-CAD:brlcad * 68679 brlcad/trunk/src/libfb/if_ogl.c: rename the SGI() helper macro to SGIINFO() so it matches the structure (and avoids false-positive platform matches) |
| 22:19.54 | *** join/#brlcad kintel (~kintel@unaffiliated/kintel) | |
| 22:20.06 | brlcad | yeah, I did mean HAIKU, good catch |
| 22:23.22 | brlcad | and yes, part to avoid complexity but also that serial hasn't been gobbling up a concerning amount of time just yet |
| 22:23.41 | brlcad | I think a minute or so is probably a threshold |
| 22:23.56 | starseeker | hmm. I guess it's annoying me more since it's one of two regress tests that are way slower than all the others... |
| 22:24.04 | brlcad | looks like new version is taking about 2min on my laptop |
| 22:24.12 | brlcad | nods |
| 22:24.31 | brlcad | i've seen it when it stalls on the list, maybe 30sec was the threshold :) |
| 22:24.56 | starseeker | brlcad: I'll see what I can set up and run it by you - I'll need to show a definite performance boost, and I haven't actually run the test yet |
| 22:25.01 | brlcad | could just break it up into different batches |
| 22:25.10 | starseeker | that's kinda what I'm doing... |
| 22:25.31 | starseeker | or preparing to do, at least |
| 22:25.33 | brlcad | I still think simple will win, whatever that looks like |
| 22:26.15 | brlcad | check out the new sh logic, the looping was reduced on all three |
| 22:26.15 | *** join/#brlcad kintel (~kintel@unaffiliated/kintel) | |
| 22:27.12 | starseeker | I will - I don't think CMake can match grep's speed for regex processing cycle-for-cycle, but I'll try to come up with something that's simple enough and performant enough to be workable |
| 22:27.39 | starseeker | wants to eventually be able to run *all* of our tests on Windows, including regress-repository |
| 22:28.03 | brlcad | actually I would expect the opposite, that it can't match the shell but that cpu-bound regex testing is probably on par |
| 22:29.16 | starseeker | well, let me see what I can achieve after I port the newer regex patterns |
| 22:29.28 | brlcad | it's all literally one pattern now |
| 22:30.05 | brlcad | because of the same issue |
| 22:30.36 | starseeker | will that pattern match upper and lower case IF ? |
| 22:30.55 | brlcad | while looping over platforms, looping over files, to run "grep platform file" was order slower than |
| 22:31.07 | brlcad | while loop over files, run "grep platforms file" |
| 22:31.16 | brlcad | yes |
| 22:31.29 | brlcad | grep -i -n -E |
| 22:31.35 | starseeker | oh, OK a grep option |
| 22:31.56 | brlcad | that's also for insensitive platforms (e.g., __linux__ and __LINUX__) |
| 22:32.14 | starseeker | nods... I don't think CMake can do case-insensitive regex, but I'll check |
| 22:32.38 | brlcad | you'll notice that it's actually fewer than it was, but that's mostly because I no longer have it reporting the else and endif cmake instances |
| 22:32.52 | starseeker | nods - makes sense |
| 22:34.13 | brlcad | wow, looks like you're right |
| 22:34.19 | brlcad | that's okay, easy enough to mod |
| 22:34.52 | starseeker | probably the thing to do in CMake is to just use string to upper case the file contents before doing the REGEX |
| 22:35.05 | starseeker | that'll keep the regex simple |
| 22:35.18 | Notify | 03BRL-CAD:brlcad * 68680 brlcad/trunk/regress/repository.sh: there are now 160 with the endif/else cmake lines dropped and new platform detections added |
| 22:35.49 | starseeker | I'll experiment - I know I'll have to be able to show some sort of convincing advantage if I'm going to convince you to let me switch it ;-) |
| 22:37.40 | brlcad | I would expect a regex that matches both to be faster than upconverting all files |
| 22:38.08 | brlcad | I have the output lines sorted now too, so you can more easily compare |
| 22:38.15 | brlcad | more directly diffable output |
| 22:38.17 | starseeker | ah, good - thanks |
| 22:39.45 | brlcad | yeah, so on my laptop, doing the case sensitivity in the regex makes the times go from 120s to 124s :) |
| 22:40.02 | brlcad | I doubt all files can be upconverted in 4s :) |
| 22:40.06 | starseeker | heh - OK |
| 22:40.59 | starseeker | will work on it later tonight - I'll try to have a definite proposed system in CMake by Wed. for discussion |
| 22:41.33 | starseeker | must now attend to neglected household chores... |
| 22:41.41 | brlcad | there, that should directly translate |
| 22:41.51 | Notify | 03BRL-CAD:brlcad * 68681 brlcad/trunk/regress/repository.sh: manually do case insensitive matching instead of relying on grep to do it for us since cmake doesn't expose an insensitive option during regex matching. |
| 22:42.05 | starseeker | awesome - thanks! |
| 22:42.20 | brlcad | only problem you might have is figuring out what cmake wants escaped |
| 22:42.48 | starseeker | nods - I think I had to do a couple tweaks in that regard with the original translation |
| 22:42.55 | brlcad | (|) are special regex chars |
| 22:44.02 | brlcad | cool, cmake does support subexpressions, so it should work as written |
| 22:45.24 | brlcad | if I'd reading their docs right, looks like you can just remove the backslashes from the shell script version (i.e., the regex as it is printed via echo, deslashed) |
| 23:08.46 | *** join/#brlcad teepee (~teepee@unaffiliated/teepee) | |