Hi list, 

I have a Go app that, among others, continuously parses XML files to 
extract dynamic info. This seems to cause a strange behavior in the Go 
runtime, according to which the underlying Go threads keep increasing over 
time. 

I verified this by commenting out several parts of my app code, coming up 
to a minimal working version which essentially calls xml.Unmarshal 
repetitively. You can have a look at it here: 
https://gist.github.com/anastop/e533628e5624c81b8822fda512aefaab

When executing this minimal version on my platform (Ubuntu 16.04.2, Xeon 
E5-2699 / 88 CPUs, go1.8), I observe that it starts with 4 Linux threads in 
total and within 4 minutes it reaches e.g. 28 (and goes up), which is 
unusual w.r.t. what I observe with other Go apps. The problem becomes even 
worse when this code becomes part of my larger app, where I have observed 
Go thread counts reaching up to several hundreds (e.g. 300-400).

Just to mention that I do not see any other strange behavior like increase 
in memory usage. 

As I want this app to introduce a minimal level of noise to other 
co-running apps, I am wondering whether this is a known/expected behavior, 
or I should resort to other workarounds to meet my requirements. 

Thanks in advance, 
Nikos

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to