News for hackers. Stuff that matters.
Re:The State of HTTP in 2022 by djbusby on Sunday January 01, 2023 @11:30AM (#34207685)
What kind of profiler can tell which areas the CPU is burning cycles?

Like, just mapping a bunch of known function and timing? Then every "ssl_" function is classified as crypto time? And every "net_" function is networking? (Or something like that?)

Re:The State of HTTP in 2022 by toast0 on Sunday January 01, 2023 @01:35PM (#34209207)
Intel vTune and AMD uProf, as well as opensource tools like hwpmc for FreeBSD and perf for Linux.
Re:The State of HTTP in 2022 by Matthias247 on Sunday January 01, 2023 @02:46PM (#34210059)
perf can do the job on Linux.

Networking cost will be within callstacks for the system calls that send and receive packets (sendmsg, sendmmsg, recvmsg, recvmmsg).

Crypto cost in functions which sound like the crypto primitives being used. They typically won't have ssl_ in the name, because QUIC implementations directly make use of lower-level primitives - that are e.g. exposed by libcrypto/ring/etc.

Here's one example of an old profile using Quinn:

https://gist.githubusercontent.com/Matthias247/47dc290dde72e...

It clearly shows the networking and crypto parts (here using ChaCha20). However don't interpret too much into the actual values in this graph, since the profile is nearly 2 years, uses ChaCha20 instead of AES (much more expensive), and used loopback networking (cheaper than the real thing).