tink-crypto / tink-crypto/tink-java
java tink library does not scale with java threads
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 305
- Forks
- 42
- PR merge metrics
- No merged PRs in 30d
Description
It seems that java tink library does not scale with java threads. Find attached a small java test program.
Find below test results with one and three threads, running on a unix (redhat) box with 24 vCPUs.
In both cases around 1.000.000 encryption operations are executed every second. The amount of encryption operations is not increasing when using more threads.
java AeadThread encrypt "this is a test" 10000000 1
origtext: this is a test
Thread: 1 for encryption loop: Thu May 25 13:55:22 CEST 2023
Thread: 1 after encryption loop: Thu May 25 13:55:32 CEST 2023
java AeadThread encrypt "this is a test" 10000000 3
origtext: this is a test
Thread: 2 for encryption loop: Thu May 25 13:53:35 CEST 2023
Thread: 3 for encryption loop: Thu May 25 13:53:35 CEST 2023
Thread: 1 for encryption loop: Thu May 25 13:53:35 CEST 2023
Thread: 1 after encryption loop: Thu May 25 13:54:02 CEST 2023
Thread: 2 after encryption loop: Thu May 25 13:54:02 CEST 2023
Thread: 3 after encryption loop: Thu May 25 13:54:02 CEST 2023
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the attached AeadThread.zip test program and reproduce the reported encryption timings using one and three threads on the Java implementation. Trace the encryption path to determine why throughput does not increase; done means the cause is identified and the one-versus-three-thread behavior is covered by an appropriate regression or performance test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- performance, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100