Does TCA need a benchmarking suite? #618
Replies: 2 comments 6 replies
-
Completely agree. I was looking to test how using a Deque instead of an Array in the Store implementation would affect performance, but didn't know where to start. Having a benchmarking suite would make TCA more robust, and would lower the barrier of entry for those who want to contribute to TCA who may have great ideas. I think we can take inspiration from swift-collections and its swift-collections-benchmark, which they made into its own separate library. |
Beta Was this translation helpful? Give feedback.
-
This would be great! If you've explored this yet, please share any preliminary results.
As long as we support SPM's tools version 5.2, we should be able to include the benchmarks directly in this repository. Dependents shouldn't see libraries like swift-benchmark come through if they are merely internal to swift-composable-architecture. |
Beta Was this translation helpful? Give feedback.
-
It can be sometimes difficult to assess how much changes to the core library may improve or deteriorate performance.
I think it would be constructive if a common benchmarking suite for TCA were available. This kind of setup requires a lot of boilerplate, and it will help assessing effects of even minor changes. It would also permit to better understand the weaknesses of the library in specific areas.
At first sight, I think that one should benchmark:
It would also be great to be able to benchmark an arbitrary branch against the latest release, but I don't know how to setup this with SPM.
I also don't know what would be the best way to distribute this benchmarking suite.
What do you think about this?
Beta Was this translation helpful? Give feedback.
All reactions