Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

read Environment.ProcessorCount once into a static #2714

Merged
merged 3 commits into from
Jun 6, 2017

Conversation

0x53A
Copy link
Contributor

@0x53A 0x53A commented May 31, 2017

fixes #2713

@0x53A
Copy link
Contributor Author

0x53A commented May 31, 2017

ref fsprojects/FAKE#1571 for the build error ...

@Danthar
Copy link
Member

Danthar commented May 31, 2017

Not sure why test are failing. I restarted the tests,
The change is harmless from a functional perspective.

@Aaronontheweb
Copy link
Member

Before

Akka.Remote.Tests.Performance.Transports.HeliosRemoteMessagingThroughputSpec+OneWay

Measures the throughput of Akka.Remote over a particular transport using one-way messaging
5/30/2017 10:58:53 PM

System Info

NBench=NBench, Version=1.0.1.0, Culture=neutral, PublicKeyToken=null
OS=Microsoft Windows NT 6.2.9200.0
ProcessorCount=2
CLR=4.0.30319.42000,IsMono=False,MaxGcGeneration=2

NBench Settings

RunMode=Iterations, TestMode=Measurement
NumberOfIterations=3, MaximumRunTime=00:00:01
Concurrent=True
Tracing=True

Data


Totals

Metric Units Max Average Min StdDev
TotalCollections [Gen0] collections 137.00 136.67 136.00 0.58
TotalCollections [Gen1] collections 4.00 2.33 1.00 1.53
TotalCollections [Gen2] collections 0.00 0.00 0.00 0.00
[Counter] RemoteMessageReceived operations 50,000.00 50,000.00 50,000.00 0.00

Per-second Totals

Metric Units / s Max / s Average / s Min / s StdDev / s
TotalCollections [Gen0] collections 25.58 25.13 24.87 0.40
TotalCollections [Gen1] collections 0.73 0.43 0.19 0.27
TotalCollections [Gen2] collections 0.00 0.00 0.00 0.00
[Counter] RemoteMessageReceived operations 9,336.66 9,192.27 9,075.48 132.76

Raw Data

TotalCollections [Gen0]

Run # collections collections / s ns / collections
1 137.00 24.87 40,214,253.28
2 137.00 25.58 39,089,308.76
3 136.00 24.93 40,115,722.79

TotalCollections [Gen1]

Run # collections collections / s ns / collections
1 4.00 0.73 1,377,338,175.00
2 1.00 0.19 5,355,235,300.00
3 2.00 0.37 2,727,869,150.00

TotalCollections [Gen2]

Run # collections collections / s ns / collections
1 0.00 0.00 5,509,352,700.00
2 0.00 0.00 5,355,235,300.00
3 0.00 0.00 5,455,738,300.00

[Counter] RemoteMessageReceived

Run # operations operations / s ns / operations
1 50,000.00 9,075.48 110,187.05
2 50,000.00 9,336.66 107,104.71
3 50,000.00 9,164.66 109,114.77

@Aaronontheweb
Copy link
Member

Aaronontheweb commented May 31, 2017

After

Akka.Remote.Tests.Performance.Transports.HeliosRemoteMessagingThroughputSpec+OneWay

Measures the throughput of Akka.Remote over a particular transport using one-way messaging
5/31/2017 8:51:58 AM

System Info

NBench=NBench, Version=0.3.4.0, Culture=neutral, PublicKeyToken=null
OS=Microsoft Windows NT 6.2.9200.0
ProcessorCount=2
CLR=4.0.30319.42000,IsMono=False,MaxGcGeneration=2
WorkerThreads=32767, IOThreads=2

NBench Settings

RunMode=Iterations, TestMode=Measurement
NumberOfIterations=3, MaximumRunTime=00:00:01
Concurrent=True
Tracing=True

Data


Totals

Metric Units Max Average Min StdDev
TotalCollections [Gen0] collections 213.00 204.00 197.00 8.19
TotalCollections [Gen1] collections 28.00 23.67 20.00 4.04
TotalCollections [Gen2] collections 1.00 0.33 0.00 0.58
[Counter] RemoteMessageReceived operations 50,000.00 50,000.00 50,000.00 0.00

Per-second Totals

Metric Units / s Max / s Average / s Min / s StdDev / s
TotalCollections [Gen0] collections 63.13 62.38 61.12 1.10
TotalCollections [Gen1] collections 8.97 7.27 6.05 1.52
TotalCollections [Gen2] collections 0.32 0.11 0.00 0.19
[Counter] RemoteMessageReceived operations 16,022.57 15,303.90 14,761.50 648.75

Raw Data

TotalCollections [Gen0]

Run # collections collections / s ns / collections
1 213.00 62.88 15,902,298.59
2 197.00 63.13 15,840,596.45
3 202.00 61.12 16,362,440.59

TotalCollections [Gen1]

Run # collections collections / s ns / collections
1 23.00 6.79 147,269,113.04
2 28.00 8.97 111,449,910.71
3 20.00 6.05 165,260,650.00

TotalCollections [Gen2]

Run # collections collections / s ns / collections
1 0.00 0.00 3,387,189,600.00
2 1.00 0.32 3,120,597,500.00
3 0.00 0.00 3,305,213,000.00

[Counter] RemoteMessageReceived

Run # operations operations / s ns / operations
1 50,000.00 14,761.50 67,743.79
2 50,000.00 16,022.57 62,411.95
3 50,000.00 15,127.62 66,104.26

@Aaronontheweb
Copy link
Member

Specs look good from the POV of Akka.Remote, but the current dispatcher throughput specs that measure the dispatcher implementations themselves don't perform enough work for a measurement to be reliable. About to submit a PR that bumps it up considerably.

@Aaronontheweb
Copy link
Member

@Danthar some sort of issue with the Mono compiler... No idea why that's having an issue, given that it appears to be having trouble with FAKE.

cc @heynickc did we change the Mono docker container at all today?

@Aaronontheweb
Copy link
Member

@0x53A looks like the build agent was properly cleaning itself out on checkout for Mono builds, hence why we had this issue. Just updated those settings and am re-running it now.

@Aaronontheweb
Copy link
Member

No idea where there's a persistent Mono compilation failure here, given that we're doing clean checkouts now...

@0x53A
Copy link
Contributor Author

0x53A commented May 31, 2017

It looks like it fails when it Writes the cache, not when Reading it.

If you are doing a clean build anyway, I would just disable the cache.

@Aaronontheweb
Copy link
Member

@0x53A killing off the current TC build agents and relaunching them since the same issue re-appeared

@0x53A
Copy link
Contributor Author

0x53A commented May 31, 2017

My guess that it's related to the cache was wrong, it can't even compile build.fsx:
http://petabridge-ci.cloudapp.net/viewLog.html?buildId=27587&buildTypeId=AkkaNet_LinuxMonoBuild&tab=buildLog#_state=684,695,703,30,35,32,354,395&focus=618

image

This looks similar to fsharp/fsharp#685, which was fixed in fsharp/fsharp#687.


This would also explain why your pr didn't fail - mine is based on master, which had an old FAKE, yours was against 1.3, which has a newer FAKE.

@Aaronontheweb Aaronontheweb changed the base branch from master to v1.3 May 31, 2017 17:52
@Aaronontheweb
Copy link
Member

@0x53A you were targeting the master branch, which explains a bunch of these issues - I've changed it to point to the v1.3 branch instead :p

Could you revert your changes to the build scripts?

@Aaronontheweb
Copy link
Member

@0x53A actually, I'd probably just rebase the entire thing on v1.3 and remove those two commits

@0x53A
Copy link
Contributor Author

0x53A commented May 31, 2017

@Aaronontheweb done - let's see if the CI likes me

@0x53A
Copy link
Contributor Author

0x53A commented Jun 1, 2017

@Aaronontheweb build looks broken:

image

image

@Aaronontheweb
Copy link
Member

@0x53A we're having issues with other parts of our test suite unrelated to your changes (timeouts;) no worries, we'll b dealing with that shortly.

@alexvaluyskiy alexvaluyskiy merged commit d7ce425 into akkadotnet:v1.3 Jun 6, 2017
@0x53A 0x53A deleted the patch-1 branch June 6, 2017 14:11
Aaronontheweb pushed a commit to Aaronontheweb/akka.net that referenced this pull request Jun 28, 2017
huysentruitw added a commit to huysentruitw/DedicatedThreadPool that referenced this pull request Sep 10, 2020
huysentruitw added a commit to huysentruitw/DedicatedThreadPool that referenced this pull request Sep 10, 2020
Fixes issue: akkadotnet/akka.net#2714

Also removed the unused property ThreadMaxStackSize from DedicatedThreadPoolSettings
Made ExceptionHandler configurable again (was removed from the settings constructor somehow)
Aaronontheweb pushed a commit to helios-io/DedicatedThreadPool that referenced this pull request Sep 11, 2020
Fixes issue: akkadotnet/akka.net#2714

Also removed the unused property ThreadMaxStackSize from DedicatedThreadPoolSettings
Made ExceptionHandler configurable again (was removed from the settings constructor somehow)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants