|
1 |
| -# spring-thread-concurrency |
| 1 | +[](https://codecov.io/gh/spring-templates/spring-concurrency-thread) |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +# 관심사 |
| 12 | + |
| 13 | +- [멀티 스레드의 자원 공유 문제](https://github.com/spring-templates/spring-concurrency-thread/discussions/16) |
| 14 | +- [멀티 쓰레드 자원 업데이트 문제](https://github.com/spring-templates/spring-concurrency-thread/discussions/17) |
| 15 | + |
| 16 | +# 정보 |
| 17 | + |
| 18 | +- [동시성 기본 조건과 관심사](https://github.com/spring-templates/spring-concurrency-thread/discussions/2) |
| 19 | + |
| 20 | +# [Counter-implementation Benchmark](https://www.notion.so/softsquared/f314375356b54381a8878cf2dabd381b) |
| 21 | + |
| 22 | +> - median of 25 iterations |
| 23 | +> - nRequests: 2^21 - 1 |
| 24 | +
|
| 25 | +| name | nThreads | time (ms) | memory (KB) | |
| 26 | +|-------------------|----------|-----------|-------------| |
| 27 | +| AtomicBatch | 4 | 12 | 480 | |
| 28 | +| Atomic | 1 | 14 | 318 | |
| 29 | +| AtomicBatch | 1 | 30 | 240 | |
| 30 | +| Lock | 1 | 61 | 241 | |
| 31 | +| Synchronized | 1 | 61 | 241 | |
| 32 | +| Polling | 1 | 78 | 463 | |
| 33 | +| CompletableFuture | 1 | 158 | 25710 | |
| 34 | + |
| 35 | +### AtomicBatch vs Atomic |
| 36 | + |
| 37 | +> - nThreads: AtomicBatch=4, Atomic=1 |
| 38 | +
|
| 39 | +| name | nRequests | time (ms) | memory (KB) | |
| 40 | +|-------------|-----------|-----------|-------------| |
| 41 | +| AtomicBatch | 2^21 - 1 | 12 | 480 | |
| 42 | +| AtomicBatch | 2^22 - 1 | 24 | 538 | |
| 43 | +| AtomicBatch | 2^23 - 1 | 42 | 572 | |
| 44 | +| AtomicBatch | 2^30 - 1 | 5695 | 511 | |
| 45 | +| AtomicBatch | 2^31 - 1 | 11621 | 294 | |
| 46 | +| Atomic | 2^21 - 1 | 14 | 318 | |
| 47 | +| Atomic | 2^22 - 1 | 27 | 244 | |
| 48 | +| Atomic | 2^23 - 1 | 55 | 344 | |
| 49 | +| Atomic | 2^30 - 1 | 7178 | 103 | |
| 50 | +| Atomic | 2^31 - 1 | 14377 | 266 | |
0 commit comments