TiExec tries to alleviate the iTLB-Cache-Miss of the application it loaded, so it may bring some direct performance improvement to those applications that are being punished by iTLB-Cache-Miss problem. I guess many Golang applications which have a large .text segment might already suffer from this kind of performance penalty. So I hope it could be useful to you :-D
For example, the .text segment size of some components in TiDB is from ~46MB to ~160MB, and a test in an OLTP scenario of TiDB with these components optimized by TiExec shows that it could bring about an overall 6-11% performance improvement directly. Here is more detailed information about this test: > In one OLTP scenario of TiDB, the tidb-server suffers 68.62% iTLB-Cache-Miss, overall TPS is 307.68/sec, medium latency is 62.22 ms. After TiExec is used, iTLB-Cache-Miss reduced to 47.1% (- ~31%), overall TPS became 341.35/sec (+10.9%), medium latency became 56.32 ms (-9.5%). Usage: ```bash $ tiexec echo -e "Hi, I am loaded by tiexec ❤️\nIt may try to make me more performant ☺\n" Hi, I am loaded by tiexec ❤️ It may try to make me more performant ☺ # or even any elf you like $ tiexec go version go version go1.16.4 linux/amd64 $ tiexec rustc -V rustc 1.55.0 (c8dfcfe04 2021-09-06) $ tiexec bin/pd-server ... $ tiexec bin/tidb-server ... $ tiexec bin/tikv-server ... $ tiexec bin/tiflash/tiflash ... $ tiexec bin/prometheus/prometheus ... $ tiexec bin/bin/grafana-server ... ``` -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/4279c1ef-e0bd-45b8-b301-32b7ef2d67d7n%40googlegroups.com.