G
groups
Hi all,
I've recently ported a rather large C application to run multithreaded.
A few functions have seriously deteriorated in performance, in
particular when accessing a rather large global array, that contains
information that is shared among threads.
Any idea, why the lines accessing this global array now take about 50x
longer in the multithreaded application?
I've googled around for general hints on the performance impact of
various common C language constructs regarding multithreaded
applications, i.e. some sort of "Do's and Don'ts" for multithreaded C
programs.
However, I could not find anything appropriate. Any hints are welcome!
best regards,
jan
I've recently ported a rather large C application to run multithreaded.
A few functions have seriously deteriorated in performance, in
particular when accessing a rather large global array, that contains
information that is shared among threads.
Any idea, why the lines accessing this global array now take about 50x
longer in the multithreaded application?
I've googled around for general hints on the performance impact of
various common C language constructs regarding multithreaded
applications, i.e. some sort of "Do's and Don'ts" for multithreaded C
programs.
However, I could not find anything appropriate. Any hints are welcome!
best regards,
jan