Tags: xiaohuisky/folly
Tags
further optimize relaxed atomic-bit-fetch-op by removing volatile Summary: The compiler does not move or remove `asm volatile` blocks even if it otherwise believes that all side-effects are unused or do not matter to surrounding instructions. But a relaxed operation ought to be subject to reordering. Reviewed By: Gownta Differential Revision: D34015943 fbshipit-source-id: 255716922faa32d95cdf9e49310db2dea1150035
cut class-qual in addrof fun-ptr in AtForkList Summary: No need for class-qualification within the same class. Differential Revision: D34370055 fbshipit-source-id: 53f382a5c6696aaa6f2e592834da297106477822
avoid the name I in some places Summary: There is a collision with `#define I` in glibc's `math/complex.h`. https://github.com/bminor/glibc/blob/glibc-2.35/math/complex.h#L53 Differential Revision: D34202940 fbshipit-source-id: 15c6f6cd1d01e8f84f228f6ef51b9c2a42f27071
condense the atomic-fetch-bit-op implementations Summary: Coalesce the inline-asm. Use invokers. Reviewed By: Gownta Differential Revision: D32302511 fbshipit-source-id: 6edf75c6ef820ed80e751d965174e5acfaac957e
avoid append-va-arg in FOLLY_SAFE_CHECK Summary: Since clang has a mode which rejects the append-va-arg construct as implemented in `FOLLY_PP_DETAIL_APPEND_VA_ARG`. Do this by avoiding appending va-args to other args. Instead, take advantage of `operator()` as a workaround. Avoids: ``` folly/Preprocessor.h:72:46: error: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Werror,-Wgnu-zero-variadic-macro-arguments] #define FOLLY_PP_DETAIL_APPEND_VA_ARG(...) , ##__VA_ARGS__ ^ ``` Reviewed By: luciang Differential Revision: D33863906 fbshipit-source-id: 14912aca73e332ab811db4c0ac772a2d224a0666
Back out "Avoid copying ByteRange in OpenSSLHash hash_update()" Summary: Original commit changeset: 7d3b54d26bc3 Original Phabricator Diff: D33304127 (facebook@21329c4) Reviewed By: yfeldblum Differential Revision: D33733281 fbshipit-source-id: 683de43fc0d32aa40d3a6a6ef49f8b2d3760f48f
Clarify comment for coro::merge() Summary: Based on scsiguy's feedback. Probably it can be made shorter and clearer still, feel free to propose more changes. Reviewed By: scsiguy Differential Revision: D33591287 fbshipit-source-id: e0bf85ebfd98d7032ddbd54c69c52b33525a62c7
misc fixes to support building with -Wundef Reviewed By: Gownta Differential Revision: D33476592 fbshipit-source-id: 9e66fdf07ce88c507cfb32406b113e1c05131c8c
update README.md to reference getdeps.py for build and tests Summary: Update the README.md to reflect that getdeps.py build and test is the method tested in CI and thus preferred. Where getdeps.py manifests encode dependencies I've removed the manually specified dependences from the README for consistency (e.g. googletest version in README was outdated, manifest is correct and is tested in CI) Also referenced main vs master and improved markdown header formatting a little Reviewed By: meyering Differential Revision: D33295900 fbshipit-source-id: caec3b3795be0b37bf1efdf12f4dbf23a37a023c
Fix timing-out ConcurrentAdd test Summary: This test regularly times out under load. I made a benchmark diff (prior to this in the stack, but not to be landed) which confirms (a) that the slowness of this test is due to spawning excessively-many threads, and (b) that the performance of ConcurrentSkipList doesn't unduly degrade with excessively-many threads. Conclusion: it is safe to simplify these tests. To simplify the test, I ratcheted down the number of threads, but also bumped the number of iterations. Much more work is being done (so this test should retain its race-condition-hunting properties), but the time spent is much less, even when the system is under load. Reviewed By: yfeldblum Differential Revision: D33269899 fbshipit-source-id: 9f7a0ec5f3c1077c91e5d09c89f3752d552a6320
PreviousNext