- 13 Jul, 2012 6 commits
-
-
Eitan Frachtenberg authored
Summary: This optimization eliminates about 75% of the multiplications and bounds checking in the original code by using constant lookup tables to convert from decical digit to (shifted) binary number, instead of arithmetic. The total cost of the lookup tables is 2KB of static memory, but the average throughput gain across the range from 1 to 19 characters is 27%. The throughput distributes as follows: (in million iters/sec) Bytes Orig New Speedup 1 101.31 110.12 109% 2 97.42 110.12 113% 3 97.42 105.53 108% 4 79.13 101.31 128% 5 74.48 97.42 131% 6 74.48 93.81 126% 7 70.35 93.81 133% 8 61.77 79.14 128% 9 58.9 72.35 123% 10 58.9 74.48 126% 11 56.28 74.48 132% 12 50.22 64.93 129% 13 48.52 60.3 124% 14 47.74 61.77 129% 15 46.88 61.77 132% 16 42.54 55.06 129% 17 41.51 51.69 125% 18 40.97 52.76 129% 19 39.57 52.76 133% Test Plan: Passes all unit tests Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D493245
-
Tudor Bosman authored
Summary: Add ability to set and get N consecutive bits from the bit sequence. Test Plan: test added Reviewed By: lucian@fb.com FB internal diff: D511438
-
Rafael Sagula authored
Summary: adding what seems to be a missing constructor to StringPiece -- I need to be able to take a piece of another StringPiece. (It's possible to do that with all sorts of strings already, except StringPiece...) Test Plan: na -- tested as part of other (dependent) diffs Reviewed By: delong.j@fb.com FB internal diff: D508545
-
Tudor Bosman authored
Test Plan: No Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D509324
-
Spencer Ahrens authored
Summary: These were handy in the old framework and easy enough to add. Test Plan: ran ThreadCachedIntTest - got better (but not perfect due to subtraction of single-threaded baseline from multi-threaded results). Reviewed By: sherman.ye@fb.com FB internal diff: D490324
-
Andrew Gallagher authored
Summary: A lot of libstdc++-4.7 headers dropped includes of unistdc.h, so we'll probably see more of these. Test Plan: built folly Reviewed By: simpkins@fb.com FB internal diff: D508871
-
- 27 Jun, 2012 2 commits
-
-
Tudor Bosman authored
Reviewed By: philipp@fb.com FB internal diff: D491952
-
Rajat Goel authored
Summary: The main reason being so that they can be fed to some automated systems, if required. Test Plan: Just ran few benchmarks locally Reviewed By: andrewjcg@fb.com FB internal diff: D501025
-
- 22 Jun, 2012 4 commits
-
-
Tudor Bosman authored
Summary: Simple class to handle IOBuf as an array of objects of fixed size. Test Plan: test added Reviewed By: brianp@fb.com FB internal diff: D497287
-
Mike Curtiss authored
Summary: This is part 1 of a change to add hysteretic behavior to a blocking queue based on ProducerConsumerQueue. Knowing the size is useful for monitoring and possibly for objects that contain a ProducerConsumerQueue. Test Plan: Added tiny test-case. Tests pass Reviewed By: delong.j@fb.com FB internal diff: D496787
-
Tudor Bosman authored
Summary: Function is documented in the header. Reviewed By: soren@fb.com FB internal diff: D494315
-
Sherman Ye authored
Summary: As title Test Plan: Deployed to wormhole_apps.dragon.dev Reviewed By: asharma@fb.com FB internal diff: D493253
-
- 14 Jun, 2012 4 commits
-
-
Tudor Bosman authored
Summary: follybenchmark and follyfingerprint need folly to work. Test Plan: built on ubuntu Reviewed By: andrewjcg@fb.com FB internal diff: D494955
-
Andrew Gallagher authored
Summary: The __m128i type is a pair of 64-bit signed ints and the values generated in generate_varint_tables.py overflow this range, which causes clang to complain. Test Plan: Built and ran unittests. Also verified that the GroupVarintTable.o data section was identical with and w/o this change. Reviewed By: tudorb@fb.com FB internal diff: D494645
-
Tudor Bosman authored
Test Plan: No Reviewed By: delong.j@fb.com FB internal diff: D494525
-
Chip Turner authored
Summary: Moves some string manipulation code like humanify into folly Moves hash-related functions into folly and removes some old includes to clean up some code Adds generic hashing for tuples, similar to pairs Updates all of the build breakages from the above Test Plan: run unit tests Reviewed By: delong.j@fb.com FB internal diff: D490478
-
- 13 Jun, 2012 2 commits
-
-
Tudor Bosman authored
Summary: They're (signed) long long. Test Plan: built, folly/test Reviewed By: andrewjcg@fb.com FB internal diff: D493270
-
Tudor Bosman authored
Summary: It creates too many threads, stop when we run out of resources. Test Plan: by hand, in a loop, in a memory-constrained environment Reviewed By: delong.j@fb.com FB internal diff: D493239
-
- 12 Jun, 2012 7 commits
-
-
Tudor Bosman authored
Summary: Fix bug in FBStringTest (don't reuse the same file name) Don't use VLOG, as that requires that glog is compiled with gflags support, which it isn't always. Add other targets and tests, make all tests pass. Test Plan: tests Reviewed By: delong.j@fb.com FB internal diff: D493018
-
Tudor Bosman authored
Summary: Fix bug in FBStringTest (don't reuse the same file name) Don't use VLOG, as that requires that glog is compiled with gflags support, which it isn't always. Add other targets and tests, make all tests pass. Test Plan: tests Reviewed By: delong.j@fb.com FB internal diff: D493018
-
Tudor Bosman authored
Summary: Also generate fingerprint tables every time, so the code doesn't rot. TODO(tudorb): move benchmark to folly TODO(tudorb): Include the program used to generate the polynomials (can't build as it requires NTL from http://www.shoup.net/ntl/) Test Plan: folly/test Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D492455
-
Tudor Bosman authored
Summary: as it's always kMaxInternalDataSize. Test Plan: all tests in folly/experimental/io/test, both opt and dbg Reviewed By: brianp@fb.com FB internal diff: D492008
-
Tudor Bosman authored
Summary: Yes, it's gcc specific, because alignas and max_align_t aren't in gcc 4.6.2. Test Plan: iobuf_test, test added Reviewed By: brianp@fb.com FB internal diff: D491939
-
Tudor Bosman authored
Summary: Useful for in-place serialization. Dangerous, obviously, but anything involving IOBuf usually is. Test Plan: test added Reviewed By: brianp@fb.com FB internal diff: D491663
-
Tudor Bosman authored
Test Plan: No Reviewed By: delong.j@fb.com FB internal diff: D491038
-
- 09 Jun, 2012 1 commit
-
-
Tudor Bosman authored
Test Plan: thread_local_test Reviewed By: ldemailly@fb.com FB internal diff: D490912
-
- 08 Jun, 2012 2 commits
-
-
Philip Pronin authored
Summary: It breaks build. Test Plan: will check *_try builds Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D489935
-
Tudor Bosman authored
Test Plan: test added Reviewed By: brianp@fb.com FB internal diff: D489158
-
- 07 Jun, 2012 3 commits
-
-
Tudor Bosman authored
Test Plan: No Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D489199
-
Tudor Bosman authored
Test Plan: folly/test Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D488631
-
Tudor Bosman authored
Summary: This allows you to convert non-blocking lock-free algorithms into blocking versions. See http://www.1024cores.net/home/lock-free-algorithms/eventcounts, http://software.intel.com/en-us/forums/showthread.php?t=62364, http://www.akkadia.org/drepper/futex.pdf Test Plan: new test Reviewed By: delong.j@fb.com FB internal diff: D474570
-
- 05 Jun, 2012 9 commits
-
-
Andrew Gallagher authored
Summary: Reported by https://github.com/facebook/folly/issues/8 Test Plan: no Reviewed By: tudorb@fb.com FB internal diff: D487572
-
Jordan DeLong authored
Summary: Herb Sutter noticed an error in the AHM find pseudo-code at the C++ conference, and the error is in the real implementation too. We should be using memory_order_acquire, because we need the load of the key to happen before any subsequent loads of the value itself. Our implementation is conservative for a memory_order_relaxed load (we generate the same code as if it were memory_order_acquire---i.e. a compiler barrier but no memory barriers), so this should not change the generated code. Correctness is a good idea, though (when we upgrade to gcc 4.7's atomics it might not be as conservative). Also, erase was doing three loads when one is enough. ... also fixes an exception safety bug in insert. (Phew.) Test Plan: Ran the AHM unit tests, debug and opt. Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D485744
-
Christopher C. Aycock authored
Summary: https://github.com/facebook/folly/pull/1 Test Plan: N/A. Reviewed By: andrewjcg@fb.com FB internal diff: D485738
-
Tudor Bosman authored
Test Plan: folly tests Reviewed By: philipp@fb.com, andrei.alexandrescu@fb.com FB internal diff: D486884, D487376
-
Tudor Bosman authored
Summary: https://github.com/facebook/folly/issues/7 Wrappers: checkedMalloc / checkedRealloc / checkedCalloc Test Plan: all folly tests FB internal diff: D486841
-
Michael Curtiss authored
Summary: Oops. Also: documented the slightly confusing behavior w.r.t. 'size'. Test Plan: Added a unit test. Reviewers: tjackson, jdelong Reviewed By: jdelong CC: folly@lists, lr, bagashe Differential Revision: https://phabricator.fb.com/D486832
-
Tudor Bosman authored
Summary: As pointed out by orbitcowboy at https://github.com/facebook/folly/issues/6 Test Plan: No Reviewers: jdelong, aalexandre Reviewed By: jdelong CC: folly@lists, bagashe Differential Revision: https://phabricator.fb.com/D486754
-
Jordan DeLong authored
Summary: For the public version of the repo. Test Plan: N/A.
-
Chip Turner authored
-