| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Use next_node_idx instead of next.
Use first_used instead of used_gen or usedGen.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
add literals for sizes in KB, MB, and GB
|
| | |
|
|/
|
|
| |
set in config.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
- vespalib::Lock -> std::mutex
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|\
| |
| |
| |
| | |
vespa-engine/balder/compile-euclidian-distance-for-avx2-and-avx512
Balder/compile euclidian distance for avx2 and avx512
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
and use it with std::visit when inspecting std::alternative
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|\
| |
| | |
baseline time tracer code
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
vespa-engine/vekterli/cpp-auto-reloading-of-tls-config
Support auto-reloading of TLS config in C++ implementation
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/ |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
vespa-engine/vekterli/add-tls-protocol-snooping-utilities
Add functionality for detecting whether a client is using TLS or not
|
| |
| |
| |
| |
| | |
Inspects first 8 bytes of a client's initial data stream to determine
if it's (with very high confidence) a TLS ClientHello message.
|