summaryrefslogtreecommitdiffstats
path: root/vespalib
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #16729 from vespa-engine/balder/reconsider-buckets-when-safeHenning Baldersheim2021-03-022-0/+2
|\ | | | | Postpone buckets for reconsideration until it is safe.
| * Postpone buckets for reconsideration until it is safe.Henning Baldersheim2021-03-012-0/+2
| |
* | Merge pull request #16723 from vespa-engine/arnej/use-small-vector-more-placesArne H Juul2021-03-021-0/+2
|\ \ | |/ |/| Arnej/use small vector more places
| * add push_back aliasesArne Juul2021-03-011-0/+2
| |
* | Merge pull request #16725 from ↵Geir Storli2021-03-016-53/+180
|\ \ | |/ |/| | | | | vespa-engine/geirst/avoid-memory-accumulation-in-array-attribute-vectors Avoid memory accumulation in array attribute vectors
| * Take dead elements into account (and subtract them) when calculating how ↵Geir Storli2021-03-014-24/+61
| | | | | | | | | | | | | | | | | | | | | | | | many arrays to allocate in a datastore buffer. This avoids a problem were allocated memory can accumulate over time in components using an ArrayStore. If all documents in an array attribute vector changes from one value class to another, all elements in the buffers of the previous value class are marked dead. Those buffers will eventually be compacted. Without this fix the wanted size of the resulting compacted buffer is calculated too high, and we allocate memory we are not going to use. If we move to yet another value class later, the same problem occurs again and more memory is allocated.
| * Simplify how used elements across all active buffers are aggregated.Geir Storli2021-03-015-42/+132
| | | | | | | | | | This also prepares for aggregating dead elements and to take these into account when calculating how many arrays to alloc.
* | add constructors from SmallVectorArne Juul2021-03-011-0/+5
| |
* | add back() methodsArne Juul2021-03-012-0/+22
|/
* Merge pull request #16701 from vespa-engine/havardpe/small-vector-convenienceArne H Juul2021-02-272-3/+137
|\ | | | | added some extra convenience, mostly related to construction
| * added some extra convenience, mostly related to constructionHåvard Pettersen2021-02-262-3/+137
| |
* | Account for different memory usage with libc++.Tor Egge2021-02-271-0/+5
| |
* | Merge pull request #16690 from vespa-engine/geirst/refactor-datastore-classesGeir Storli2021-02-2614-148/+168
|\ \ | |/ |/| Refactor datastore classes
| * Rename 'active' buffer to 'primary' buffer in DataStoreBase.Geir Storli2021-02-2612-100/+104
| | | | | | | | | | | | This should avoid confusion with the buffer state ACTIVE. Each buffer type has exactly one primary buffer that is used for allocations when no slots in free lists exist. A buffer type will typically use several buffers to store data, all of them being on state ACTIVE when in use.
| * Adjust comments and code style.Geir Storli2021-02-261-26/+31
| |
| * Improve class and function descriptions.Geir Storli2021-02-252-23/+34
| |
* | Merge pull request #16678 from vespa-engine/havardpe/small-vectorHåvard Pettersen2021-02-267-0/+353
|\ \ | | | | | | small vector
| * | update after commentsHåvard Pettersen2021-02-262-2/+61
| | |
| * | small vectorHåvard Pettersen2021-02-257-0/+294
| |/
* | Add methods to print memory usage.Henning Baldersheim2021-02-253-4/+34
| |
* | - Ensure that hashtable::clear does not touch capacity of hashtable.Henning Baldersheim2021-02-253-3/+18
| | | | | | | | - No need to deallocate/reallocate on clear.
* | Add method the considers elemsize when computing number of elements that ↵Henning Baldersheim2021-02-252-0/+21
|/ | | | will maximize 2^N bytes block
* Include memory and typeinfo when needed.Tor Egge2021-02-221-0/+1
|
* string.h does not need alloc.hHenning Baldersheim2021-02-214-1/+3
|
* Mark potentially unused traits member as unused.Tor Egge2021-02-212-2/+2
|
* Eliminate array bounds warning.Tor Egge2021-02-212-0/+8
|
* Use constexpr for BTree traits.Tor Egge2021-02-213-12/+12
|
* Merge pull request #16604 from vespa-engine/toregge/remove-old-swap-filesHenning Baldersheim2021-02-201-0/+4
|\ | | | | Remove old swap files when setting up mmap file allocator.
| * Remove old swap files when setting up mmap file allocator.Tor Egge2021-02-201-0/+4
| |
* | Use madvise for file backed memory.Tor Egge2021-02-201-0/+2
|/
* Merge pull request #16495 from vespa-engine/arnej/add-size-literalsArne H Juul2021-02-1637-76/+180
|\ | | | | add literals for sizes in KB, MB, and GB
| * add unit test for size literalsArne Juul2021-02-153-0/+51
| |
| * swap mismatched sizesArne Juul2021-02-151-2/+2
| | | | | | | | | | | | * surely 1KalignedHeapAllocator should use 1024, and 4KalignedHeapAllocator should use 4096, instead of the other way around
| * 2048 -> 2_KiArne Juul2021-02-151-1/+1
| |
| * revert changes inside stringsArne Juul2021-02-151-1/+1
| |
| * use size literals in vespalibArne Juul2021-02-1533-76/+108
| |
| * add literals for sizes in Ki, Mi, Gi, TiArne Juul2021-02-151-0/+21
| |
* | Rename get_memory_allocator to make_memory_allocator in mmap file allocatorTor Egge2021-02-153-5/+5
| | | | | | | | factory. Remove virtual keyword.
* | Use mmap file allocator in dense tensor attribute if huge flag isTor Egge2021-02-157-0/+136
|/ | | | set in config.
* Add alloc_aligned member function.Tor Egge2021-02-132-0/+7
|
* Forward declare MemoryAllocator in vespalib/util/alloc.h.Tor Egge2021-02-135-22/+46
|
* Move MemoryAllocator to separate header file.Tor Egge2021-02-135-35/+48
|
* Merge pull request #16501 from vespa-engine/balder/less-assert-in-header-filesHenning Baldersheim2021-02-138-74/+94
|\ | | | | Less asserts in header files.
| * Less asserts in header files.Henning Baldersheim2021-02-138-74/+94
| |
* | Factor out MemoryAllocatorObserver.Tor Egge2021-02-134-41/+94
|/
* Factor out function for rounding up to page size.Tor Egge2021-02-115-20/+39
|
* Use vespalib::hash_map instead of std::map.Tor Egge2021-02-112-6/+8
| | | | Simplify rounding function.
* Add memory allocator backed by a file.Tor Egge2021-02-104-0/+149
|
* Add support for setting memory allocator for data store buffer type.Tor Egge2021-02-106-0/+104
|
* Log at level WARNHarald Musum2021-02-081-3/+3
|