Thread overview
multithreading profiling
Apr 18, 2016
jj75607
Apr 18, 2016
Marc Schütz
Apr 18, 2016
jj75607
Apr 18, 2016
tcak
April 18, 2016
Hello!

Is it possible to start profiling on multithreaded app with Dmd?

https://issues.dlang.org/show_bug.cgi?id=14511 is open. I am doing wrong or why this program segfaults if compiled with profiler hooks?

import core.atomic;

shared struct S
{	
	uint counter;

	bool inc() shared
	{
		atomicOp!("+=")(counter, 1);
		return true;
	}
}

int main(string[] argv)
{
	S s;

	return 0;
}

Thank you!
April 18, 2016
Which platform/OS, dmd version, and command line are you using?
April 18, 2016
On Monday, 18 April 2016 at 13:45:20 UTC, Marc Schütz wrote:
> Which platform/OS, dmd version, and command line are you using?

Windows7, DMD 2.071.0, run from Visual Studio 2013 Community + VisualD 0.3.43
April 18, 2016
On Monday, 18 April 2016 at 13:33:20 UTC, jj75607 wrote:
> Hello!
>
> Is it possible to start profiling on multithreaded app with Dmd?
>
> https://issues.dlang.org/show_bug.cgi?id=14511 is open. I am doing wrong or why this program segfaults if compiled with profiler hooks?
>
> import core.atomic;
>
> shared struct S
> {	
> 	uint counter;
>
> 	bool inc() shared
> 	{
> 		atomicOp!("+=")(counter, 1);
> 		return true;
> 	}
> }
>
> int main(string[] argv)
> {
> 	S s;
>
> 	return 0;
> }
>
> Thank you!

As far as I know, profiling system doesn't work on multithreading programs correctly. At least, it has never worked for me. While closing the program, it creates problem always. But in a signle threaded environment, no problem.