IRC log for #brlcad on 20160814

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)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.