Hi Lucas,
The difference comes from 256 being a threshold value where
pmem_memcpy starts to use its optimized path - it's controllable by
PMEM_MOVNT_THRESHOLD environment variable.
Even if you lower this threshold, 256 byte appends are still faster because:
1) 256 is divisible by 64, so each write starts at cacheline boundary
(and pmem_memcpy does not need to do slow alignment)
2) 256 is divisible by 128, so pmem_memcpy can copy in 128 byte chunks
and not care about a tail
See memmove_nodrain_movnt in pmem.c for more details.
Hope this helps,
Marcin
> --
> You received this message because you are subscribed to the Google Groups
> "pmem" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
pmem+uns...@googlegroups.com.
> To post to this group, send email to
pm...@googlegroups.com.
> To view this discussion on the web visit
>
https://groups.google.com/d/msgid/pmem/b449a043-078a-442b-9d4b-70592e74fa77%40googlegroups.com.
> For more options, visit
https://groups.google.com/d/optout.