On Thu, Apr 27, 2017 at 4:47 AM, Nikos Anastopoulos <n.anas...@gmail.com> wrote: > > 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.
I tried your test program, but I can't recreate this. How are you measuring the number of threads used by the program? Ian -- 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.