<div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<div class="im"><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<br></blockquote></div>I've added a -nosync flag to the compiler (v2.053) that removes all the effects of synchronized. It has been tested and I ran all unittests, or at least I think I did .. it took less than half a second ..<br>

<br>It's a small patch, but does anyone mind checking it?<br></blockquote><div><br></div><div><br></div></div></div>Thanks. But I get loads of errors from druntime when I try your patch and turn on the -nosync compiler flag. I have patched against the latest dmd from github.<div>

<br></div><div>Regards</div><div>- Puneet<br><div><br></div><div><div>/home/puneet/work/nosync-d/src/druntime/import/object.di(27): function declaration without return type. (Note that constructors are always named 'this')</div>

<div>/home/puneet/work/nosync-d/src/druntime/import/object.di(27): no identifier for declarator immutable(char)</div><div>/home/puneet/work/nosync-d/src/druntime/import/object.di(27): semicolon expected to close alias declaration</div>

<div>/home/puneet/work/nosync-d/src/druntime/import/object.di(27): Declaration expected, not '['</div><div>/home/puneet/work/nosync-d/src/druntime/import/object.di(28): function declaration without return type. (Note that constructors are always named 'this')</div>

<div>/home/puneet/work/nosync-d/src/druntime/import/object.di(28): no identifier for declarator immutable(wchar)</div><div>/home/puneet/work/nosync-d/src/druntime/import/object.di(28): semicolon expected to close alias declaration</div>

<div>/home/puneet/work/nosync-d/src/druntime/import/object.di(28): Declaration expected, not '['</div><div>/home/puneet/work/nosync-d/src/druntime/import/object.di(29): function declaration without return type. (Note that constructors are always named 'this')</div>

<div>/home/puneet/work/nosync-d/src/druntime/import/object.di(29): no identifier for declarator immutable(dchar)</div><div>/home/puneet/work/nosync-d/src/druntime/import/object.di(29): semicolon expected to close alias declaration</div>

<div>/home/puneet/work/nosync-d/src/druntime/import/object.di(29): Declaration expected, not '['</div><div>/home/puneet/work/nosync-d/src/druntime/import/object.di(51): found 'ownee' when expecting ')'</div>

<div>/home/puneet/work/nosync-d/src/druntime/import/object.di(51): semicolon expected following function declaration</div><div>/home/puneet/work/nosync-d/src/druntime/import/object.di(51): Declaration expected, not ','</div>

<div>/home/puneet/work/nosync-d/src/phobos/std/stdio.d(776): found 'buf' when expecting ';' following statement</div><div>/home/puneet/work/nosync-d/src/phobos/std/stdio.d(1861): function declaration without return type. (Note that constructors are always named 'this')</div>

<div>/home/puneet/work/nosync-d/src/phobos/std/stdio.d(1861): found '[' when expecting ')'</div><div>/home/puneet/work/nosync-d/src/phobos/std/stdio.d(1861): semicolon expected following auto declaration, not ']'</div>

<div>/home/puneet/work/nosync-d/src/phobos/std/stdio.d(1861): found ']' instead of statement</div><div>/home/puneet/work/nosync-d/src/phobos/std/stdio.d(1952): found ')' when expecting '.' following ubyte</div>

</div><div><br></div></div>