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 ...
```