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.

Reply via email to