docs updates for collections and threads

This commit is contained in:
Jonathan Shook 2020-07-17 19:45:53 -05:00
parent 86a0512901
commit bcdf718c4d
2 changed files with 21 additions and 2 deletions

View File

@ -88,11 +88,11 @@ _default value_ : For now, the default is simply *1*. Users must be
aware of this setting and adjust it to a reasonable value for their
workloads.
`threads=_auto_` : When you set `threads=auto`, it will set the number of threads to 10x the number of cores
`threads=auto` : When you set `threads=auto`, it will set the number of threads to 10x the number of cores
in your system. There is no distinction here between full cores and hardware threads. This is generally
a reasonable number of threads to tap into the procesing power of a client system.
`threads=_n_x` : When you set `threads=5x` or `threads=10x`, you will set the number of threads to some multiplier
`threads=__x` : When you set `threads=5x` or `threads=10x`, you will set the number of threads to some multiplier
of the logical CPUs in the local system.
:::info

View File

@ -70,3 +70,22 @@ collection. Overwrites are allowed, although they may not be intended in most c
The name `SetFunctions(...)` was chosen to avoid clashing with the existing `Set(...)` function.
### Map Functions
The values produced by the provided element functions for Maps do not check for duplicate values.
This means that you must ensure that your element functions yield distinct keys to insert into
the collection as it is being built if you want to have a particular cardinality of values in your
collection. Overwrites are allowed, although they may not be intended in most cases.
| | Same Input | Stepped Input | Hashed Input |
| --- | --- | --- | --- |
| **Pair-wise** | MapFunctions(...) | MapStepped(...) | MapHashed(...) |
| **Sized** | MapSized(...) | MapSizedStepped(...) | MapSizedHashed(...) |
The name `MapFunctions(...)` was chosen to avoid clashing with the existing `Map(...)` function.
For the key and value functions provided to a Map function, they are taken as even-odd pairs (starting
at zero). For sized functions, the last defined key function will be used for elements past
the size of the _key_ functions provided. The same is true for the value functions. For example,
a call to `MapSized(3,f(...),g(...),h(...))` will use `f(...)` and `g(...)` for the first key and value,
but from that point forward will use `h(...)` for all keys and `g(...)` for all values.