I have deployed a Go shared library on Linux that exposes C functions as 
extension points for a 3rd party application and is loaded dynamically at 
runtime. The 3rd party application then invokes "C" functions (which are 
backed by Go) and that is all working as expected.  However, due to the 
nature of the application, there maybe 100 or 200 instances of the 3rd 
party application running on the server at any given time and each of those 
is loading its own copy of the Go shared library so I have to "pay the 
penalty" of the Go runtime for each process.  Has anyone else encountered 
this scenario?  Is there anything I can do to reduce this cost?  I have 
already done simple things like setting GOMAXPROCS 1 because generally 
there will only be 1 primary goroutine running in each instance. 
I have looked at tinygo but that seems to be targeting a different use 
case.  Any other recommendations?

Luke

-- 
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/4e921205-67ab-4626-a8fd-441573d4164c%40googlegroups.com.

Reply via email to