aboutsummaryrefslogtreecommitdiffstats
path: root/vespalib/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* add common binary_hamming_distance functionArne H Juul2021-09-281-0/+1
|
* Add compaction of B-tree nodes in BTreeStore.Tor Egge2021-04-151-0/+1
|
* Rename SimpleHashMap to ShardedHashMap.Tor Egge2021-03-261-1/+1
|
* added UnwindMessage/unwind_msgHåvard Pettersen2021-03-191-0/+1
|
* test REQUIRE and REQUIRE_EQ and make sure they can be constexprHåvard Pettersen2021-03-171-0/+1
|
* Update prev_node_idx in loop when removing entry.Tor Egge2021-03-111-0/+1
| | | | | Use next_node_idx instead of next. Use first_used instead of used_gen or usedGen.
* Add lock free hash map.Tor Egge2021-03-101-0/+1
|
* Add free list to mmap file allocator.Tor Egge2021-03-041-0/+2
|
* rename BrainFloat16 -> BFloat16Arne Juul2021-03-021-1/+1
|
* add BrainFloat16 "float with less precision"Arne Juul2021-03-021-0/+1
|
* small vectorHåvard Pettersen2021-02-251-0/+1
|
* Merge pull request #16495 from vespa-engine/arnej/add-size-literalsArne H Juul2021-02-161-0/+1
|\ | | | | add literals for sizes in KB, MB, and GB
| * add unit test for size literalsArne Juul2021-02-151-0/+1
| |
* | Use mmap file allocator in dense tensor attribute if huge flag isTor Egge2021-02-151-0/+1
|/ | | | set in config.
* GC closures.Henning Baldersheim2021-01-261-1/+0
|
* shared string repo -- WIPHåvard Pettersen2020-11-251-0/+1
|
* added spin lock with testHåvard Pettersen2020-11-121-0/+1
| | | | | | | | | | | The micro-benchmark shows promise (run test manually with 'verbose' as parameter). It indicates that taking and releasing the spin lock from a single thread is cheaper than doing the same with a normal mutex (as expected based on previous tests). However, it also indicates that it is competitive with a normal mutex for short critical sections with multiple threads involved. (on my laptop, only the cases using more threads than cores run faster with a normal mutex, which is a better result than expected).
* - GC unused code.Henning Baldersheim2020-10-071-2/+0
| | | | - vespalib::Lock -> std::mutex
* benchmark type detectionHåvard Pettersen2020-09-251-1/+2
|
* ChildProc -> ChildProcessArne Juul2020-07-171-1/+1
|
* rename SlaveProc -> ChildProcArne Juul2020-07-171-1/+1
|
* common code for operation inliningHåvard Pettersen2020-06-111-1/+2
| | | | | | | | | | - add common code to make selecting the appropriate template function easier (vespa/vespalib/util/typify.h) - enable detection of lambda functions matching all low-level operations. (lookup_op1, lookup_op2) - add typifiers to decide which low-level operations should be inlined (TypifyOp1, TypifyOp2) - integrate into dense_simple_join as a pilot customer
* Merge pull request #12527 from ↵Henning Baldersheim2020-03-101-0/+1
|\ | | | | | | | | vespa-engine/balder/compile-euclidian-distance-for-avx2-and-avx512 Balder/compile euclidian distance for avx2 and avx512
| * Add a euclidian distance that is optimal for avx, avx2 and avx512.Henning Baldersheim2020-03-101-0/+1
| |
* | add generic ReusableSetArne Juul2020-03-051-0/+1
|/
* Use Google RE2 as underlying regex engineTor Brede Vekterli2020-03-041-0/+1
| | | | | | | | | | | | This introduces guaranteed upper bounds for memory usage and CPU time during regex evaluation. Most importantly, it removes the danger of catastrophic backtracking that is currrently present in GCC's std::regex implementation. With this commit, RE2 will be used instead of std::regex for: * Document selection regex/glob operators * Attribute regex search * Evaluation of mTLS authorization rules
* Move crypto utility code out into vespalib and use for test credentialsTor Brede Vekterli2020-02-201-0/+2
| | | | | | | | | | | Currently offers only the following functionality: * Generate P-256 EC private keys and export to PEM * Generate X509 certificates and export to PEM Instead of using hardcoded private key/certs for unit tests, use crypto utility code to generate new credentials once per test process. Since these certs now use a SAN of `localhost` it also means we no longer need to disable hostname validation for networked unit tests.
* added visit_ranges generic utility functionHåvard Pettersen2020-01-061-0/+1
|
* introduce overload classHåvard Pettersen2020-01-031-0/+1
| | | | and use it with std::visit when inspecting std::alternative
* remove unused TimeTracker classHåvard Pettersen2019-11-211-1/+0
|
* Move count functions from enum store dictionary to unique store dictionary.Geir Storli2019-08-271-0/+1
|
* Add separate allocator for strings in unique store.Tor Egge2019-08-151-0/+1
|
* Move datastore and btree code from searchlib to vespalibTor Brede Vekterli2019-05-271-0/+9
| | | | | | | | | | Namespace is still `search` and not `vespalib` due to the massive amount of code that would need to be modified for such a change. Other changes: - Move `BufferWriter` from searchlib to vespalib - Move assertion and rand48 utilities from staging_vespalib to vespalib - Move gtest utility code from staging_vespalib to vespalib
* Move RcuVector and relevant support classes to vespalibTor Brede Vekterli2019-05-231-0/+1
| | | | | | | | | | | | | Having RCU support available across all our C++ modules open up new opportunities for optimizations. This changes the following: - `RcuVector` moved from `searchlib` to `vespalib` - `MemoryUsage` moved from `searchlib` to `vespalib` - Introduce a simplified, more generic `GrowStrategy` in `vespalib` used by the moved `RcuVector` which does not have any notion of documents. Existing searchlib `GrowStrategy` gets a simple function to convert to this generic strategy.
* Eliminate clang warning in vespalibTor Egge2019-02-061-1/+0
|
* Merge pull request #8350 from vespa-engine/havardpe/time-tracerTor Brede Vekterli2019-02-041-0/+1
|\ | | | | baseline time tracer code
| * baseline time tracer codeHåvard Pettersen2019-02-011-0/+1
| |
* | Revert "Revert "Use OS provided xxhash.""Henning Baldersheim2019-02-031-1/+1
| |
* | Revert "Use OS provided xxhash."Håkon Hallingstad2019-02-031-1/+1
| |
* | Use OS provided xxhash.Henning Baldersheim2019-02-011-1/+1
|/
* Merge pull request #7849 from ↵Tor Brede Vekterli2018-12-071-0/+1
|\ | | | | | | | | vespa-engine/vekterli/cpp-auto-reloading-of-tls-config Support auto-reloading of TLS config in C++ implementation
| * Support auto-reloading of TLS config in C++ implementationTor Brede Vekterli2018-12-031-0/+1
| | | | | | | | | | | | | | | | | | By default reloads every 60 minutes. This also reloads all peer authorization rules. Files referenced by the TLS config are reloaded transitively. If reloading fails a warning will be logged and the existing config will continue to be in effect until the next reload time.
* | added Latch utilityHåvard Pettersen2018-11-291-0/+1
|/
* initial portal codeHåvard Pettersen2018-11-271-0/+5
|
* Add support for basic certificate verification policies in C++Tor Brede Vekterli2018-11-081-0/+1
| | | | | | | | Extends TLS config JSON file with an `allowed-peers` object, which if non-empty specifies a set of policies that a peer may match. If at least one policy exists a peer must match all requirements in any single policy to be allowed to connect. I.e. it's sufficient to match 1 policy out of many.
* added sync crypto socket with testHåvard Pettersen2018-10-091-0/+1
|
* added simple test for various crypto socketsHåvard Pettersen2018-10-091-0/+1
|
* GC HashMapHenning Baldersheim2018-09-281-1/+0
|
* Merge pull request #7081 from ↵Tor Brede Vekterli2018-09-271-0/+1
|\ | | | | | | | | vespa-engine/vekterli/add-tls-protocol-snooping-utilities Add functionality for detecting whether a client is using TLS or not
| * Add functionality for detecting whether a client is using TLS or notTor Brede Vekterli2018-09-251-0/+1
| | | | | | | | | | Inspects first 8 bytes of a client's initial data stream to determine if it's (with very high confidence) a TLS ClientHello message.