13:28:59 no dynamically loaded modules; dynamic linkage is a 5% overhead all on its own - isnt that just for load time, if its already in the memory it shouldnot make difference 13:29:39 no. 13:29:45 calling functions from dynamically loaded modules can be slower 13:30:03 They can use intermediate JMP instructions, like DLL import tables in Windows do 13:30:26 hmmm so xmrig for example is statically linked binary in their site ? 13:30:31 but once you called a function in a DLL, the speed of the function itself is the same 13:31:01 We're talking about <0.1% difference when it comes to mining 13:31:15 mhmh that makes sense 13:32:18 all references to global symbols go thru an indirect table 13:33:16 that's a quirk of the way dynamic linking was designed, which allows other symbols to be interposed at any time. 13:33:43 it only makes a difference if you're calling DLL functions thousands of times every second 13:33:49 then static linking can speed up things 13:40:08 strings xmrig | grep GCC 13:40:08 built on Jul 3 2023 with GCC 13:40:08 GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609 13:40:08 wouldn't modern gcc improve smt ? 13:51:45 RandomX is 99% assembly code, there's nothing for compiler to do there 13:51:51 Except for transating it to machine code