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

fix #29885, make grisu digit buffer task-local #29907

Merged
merged 1 commit into from Nov 28, 2018

Conversation

4 participants
@JeffBezanson
Copy link
Member

commented Nov 2, 2018

I thought task-local storage might be too slow for this, but fortunately the slowdown is only about 5-6%. I also tried per-thread pools but it wasn't faster. Hopefully TLS access can be sped up a bit too.

Note: I kept the existing global DIGITS in place since I believe some packages use it.

fix #29885

@vtjnash

vtjnash approved these changes Nov 2, 2018

@async print(q, 9.8)
read(p, 2^18)
@test read(p, String) == "12.345"
end

This comment has been minimized.

Copy link
@vtjnash

vtjnash Nov 2, 2018

Member

wrap in @sync (so we'll collect any errors)

@JeffBezanson JeffBezanson force-pushed the jb/fix29885 branch from f07d01e to 0a427a3 Nov 3, 2018

@simonbyrne

This comment has been minimized.

Copy link
Contributor

commented Nov 9, 2018

I think we need to do the same thing for BIGNUMS as well (it's harder to trigger, but maybe see #27826).

@JeffBezanson

This comment has been minimized.

Copy link
Member Author

commented Nov 9, 2018

Do task-blocking operations happen while BIGNUMS is still in use?

@simonbyrne

This comment has been minimized.

Copy link
Contributor

commented Nov 9, 2018

What operations are task-blocking?

@JeffBezanson

This comment has been minimized.

Copy link
Member Author

commented Nov 9, 2018

I/O, sleep, calls to wait or fetch, yield.

@JeffBezanson

This comment has been minimized.

Copy link
Member Author

commented Nov 28, 2018

Will add news separately.

@JeffBezanson JeffBezanson merged commit a50d5af into master Nov 28, 2018

2 of 3 checks passed

continuous-integration/travis-ci/pr The Travis CI build failed
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
julia freebsd ci Build done
Details

@JeffBezanson JeffBezanson deleted the jb/fix29885 branch Nov 28, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.