[m-rev.] for post-commit review: bitmap tests for secondary tags

Zoltan Somogyi zoltan.somogyi at runbox.com
Sat Mar 16 16:56:18 AEDT 2024


I have benchmarked this diff twice:

- once for a compiler in which all tag switches were
   forced to use try chains, and
- once for a compiler in which all tag switches were
   forced to use try-me-else chains.

For try chains, I got a speedup of 0.6% and a slowdown
of 0.2%, for speedtest -N 30 and speedtest -N 50 respectively.

For try-me-else chains, I got a slowdown of 1%. This is
concerning, but a diff between the .c files that went into
the two compiler versions being tested does not show
anything that could cause such a slowdown by itself.
Apart from the change in the .c code of tag_switch.m
itself, all the changes consist of replacements of
several equality tests with shorter, simpler code
that tests bitmaps. The cause of the slowdowns is
therefore likely to be something else, such as cache
collisions.

For post-commit review by anyone. Note: the diff
adds an XXX about cross compilation, which I intend
to address next.

Zoltan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Log.bw
Type: application/octet-stream
Size: 1078 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20240316/cca93027/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DIFF.bw
Type: application/octet-stream
Size: 13564 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20240316/cca93027/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DIFF.tmec.s2.gz
Type: application/x-gzip
Size: 40296 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20240316/cca93027/attachment-0001.bin>


More information about the reviews mailing list