1.5.0
Last updated
This version updates the biometric engine: it adds support for JPEG 2000 images and reduces response time, improving the service's performance.
Significant improvements in processing speed and robustness, enabling operation with lower-resolution images, cropped images, automatic image rotation, etc.
The Docker image size has been considerably reduced, going from 1.15GB to 211MB.
Docker vulnerabilities fixed.
The tests were performed on a 16-core AWS machine, using only 8 cores to ensure that no other process affected the comparison.
The service's Docker container was run on that machine and K6 was used to perform Load (load), Stress (stress) and Spike (spike).
Configuration:
Environment variable FACEPHI_SELPHID_FACIALEXTRACTOR_NUM_THREADS=4.
In the file config.json, "number_of_threads": 2.
Summary:
Version 1.5.0 represents a significant performance improvement over 1.2.0 in all test types.
The average latency in the load test was reduced by 37%, throughput increased by 53% in the same test, and the p(95) percentiles improved steadily.
Neither version produced HTTP errors.

2 VUs in a loop for 15 minutes.
Average latency
813.68 ms
511.41 ms
−37.2 %
Min
566.70 ms
420.47 ms
−25.8 %
Median
808.75 ms
510.31 ms
−36.9 %
p(90)
839.83 ms
547.41 ms
−34.8 %
p(95)
843.65 ms
559.02 ms
−33.7 %
Max
994.11 ms
678.97 ms
−31.7 %
Total iterations
2 079
3 177
+52.8 %
Performance
2.31 iter/s
3.53 iter/s
+52.8 %
HTTP errors
0.00 %
0.00 %
—
Up to 4 VUs ramping over 8 min (4 stages).
Average latency
773.35 ms
654.23 ms
−15.4 %
Min
424.49 ms
361.91 ms
−14.7 %
Median
584.56 ms
540.95 ms
−7.5 %
p(90)
1 250 ms
994 ms
−20.5 %
p(95)
1 800 ms
1 020 ms
−43.3 %
Max
1 990 ms
1 110 ms
−44.2 %
Total iterations
1 376
1 607
+16.8 %
Performance
2.86 iter/s
3.34 iter/s
+16.8 %
HTTP errors
0.00 %
0.00 %
—
The most notable improvement under stress occurs at the extremes: p(95) drops 780 ms and the maximum decreases by almost 44%. This indicates that version 1.5.0 handles concurrency spikes better.
Up to 4 VUs in an aggressive ramp over 1 min 40 s (3 stages).
Average latency
1 090 ms
913.82 ms
−16.2 %
Min
440.28 ms
362.44 ms
−17.7 %
Median
715.47 ms
854.49 ms
+19.4 %
p(90)
1 890 ms
1 430 ms
−24.3 %
p(95)
1 910 ms
1 490 ms
−22.0 %
Max
1 960 ms
1 610 ms
−17.9 %
Total iterations
305
363
+19.0 %
Performance
3.03 iter/s
3.61 iter/s
+19.1 %
HTTP errors
0.00 %
0.00 %
—
Median latency increases in the spike test for 1.5.0 (715 ms → 854 ms). Although the high percentiles improve, the central distribution worsens slightly below the peak.
Load
813 ms
511 ms
843 ms
559 ms
2.31
3.53
Stress
773 ms
654 ms
1 800 ms
1 020 ms
2.86
3.34
Spike
1 090 ms
914 ms
1 910 ms
1 490 ms
3.03
3.61
Last updated