Maxim Zaks
Maxim Zaks
@JoeLoser I heard that there are plans to introduce benchmarks (infrastructure and code) to std lib. Is it correct? For evolution on algorithms and data structures it would be crucial...
I created a small POC to address all the outstanding questions: https://gist.github.com/mzaks/aa66c831dc5e177c2322d5088aac76aa > Should we create an alias for the return type of finish(...) (e.g. alias HASH_RETURN_T = UInt64) rather...
I had a call with @gabrieldemarmiesse yesterday where we discussed the proposal in depth. As a result I commit some improvements to the proposal today.
Strictly speaking `[loadUnaligned](https://github.com/apple/swift-evolution/blob/main/proposals/0349-unaligned-loads-and-stores.md)` is slower then load as stated in the linked document: > We believe that Swift's goals align well with having the more performant function (aligned load) be...
To stress why `loadUnaligned` is slower than `load`. It internally does a memory copy, which would be propagated to every scalar type read if implemented in `func read(def: T.Type, position:...
Hm, I see the problem. But then, isn't it cheaper to copy a full buffer once (given it is not tremendously large). Then copy each scalar value (death by a...
I think it’s a good alternative. Do we actually have performance tests, which we can run to make sure we don’t degrade?
Actually I think proper conditional compilation would be better. The use case for unsafe reading can be defined as environment variable.
I am considered with having a condition in a read method, which is probably the hottest method we have. This is why I suggested to have a conditional compilation. That...
@ser-0xff could you please provide the way you generate the assembler code? The problem with your example is that the compiler can inline all the copying and boundary checks as...