-
Notifications
You must be signed in to change notification settings - Fork 0
Performance
You can run the performance tests yourself, see Contributor Guide for details.
| JDK | OS | Number of processors |
|---|---|---|
| OpenJDK 11+28 (build by Oracle from https://jdk.java.net/11/) | macOS 10.13.6 x86_64 | 4 |
Baseline (long counter increment throughput)
| Test, MM ops/s \ Threads | 1 | 4 | 32 |
|---|---|---|---|
synchronizedIncrement -XX:-UseBiasedLocking
|
55 | 18 | 18 |
| synchronizedIncrement | 242 | 20 | 20 |
| reentrantRWLockIncrement | 57 | 35 | 35 |
| stampedLockIncrement | 60 | 42 | 45 |
| atomicIncrement | 144 | 51 | 52 |
| Test (1), MM ops/s \ Threads | 1 | 4 | 32 |
|---|---|---|---|
| smallLo | 110 | 43 | 44 |
| bigLo | 110 | 43 | 44 |
| smallLoSleep | 0.86 | 0.85 | 0.85 |
| bigLoSleep | 49 | 31 | 31 |
(1) smallLo = 10_000, bigLo = 1000_000; sleep while generating a new hi value is about 9-10ms and emulates a time interval required for generating it.
Copyright 2018-2019 Valiantsin Kavalenka
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.