commit | 1ac0d0889c8ca6b0ad37f45b23bf260a556e1ce7 | [log] [tgz] |
---|---|---|
author | Earl Ou <shunhsingou@google.com> | Fri Sep 11 09:03:04 2020 +0800 |
committer | Earl Ou <shunhsingou@google.com> | Tue Sep 15 08:22:25 2020 +0000 |
tree | 43d0a7a8c9f7967aa6a89e8b6aa4c284b34cbd95 | |
parent | 9f887b7634e3ec299e2c0b8ac8b982f7c99f9622 [diff] |
systemc: avoid dynamic_cast in the critical path NodeList is in the critical path of the systemc scheduler in gem5. A unnecessary dynamic_cast in the NodeList slow down the event process by about 15%. Fix the issue by avoiding dynamic_cast. We see about 15% speed improvement on the example provided by Matthias Jung: https://gist.github.com/myzinsky/557200aa04556de44a317e0a10f51840 Compare with Accellera implementation, gem5 version is originally 10x slower and now it's about 8.5x slower. Change-Id: I3b4ddca31e58e1d4e96144a4021b0a5bb956fda4 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34355 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> Tested-by: kokoro <noreply+kokoro@google.com>