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) |