> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/sdks/backend-sdk/ine/release_notes/1.5.0_release_notes.md).

# 1.5.0

Esta versión actualiza el motor biométrico: añade soporte para imágenes JPEG 2000 y se ha reducido el tiempo de respuesta, mejorando el rendimiento del servicio.

## Mejoras del motor de la versión 1.2.0 a la 1.5.0

* Mejoras significativas en la velocidad de procesamiento y la robustez, permitiendo operar con imágenes de menor resolución, imágenes recortadas, rotación automática de imágenes, etc.
* El tamaño de la imagen Docker se ha reducido considerablemente, pasando de **1.15GB** a **211MB**.
* Vulnerabilidades de Docker corregidas.

## Comparativa entre la versión 1.2.0 y la 1.5.0

Las pruebas se realizaron en una máquina AWS de 16 núcleos, **utilizando solo 8 núcleos** para garantizar que ningún otro proceso alterara la comparación.

El contenedor Docker del servicio se ejecutó en esa máquina y se utilizó K6 para realizar pruebas de **Load** (carga), **Stress** (estrés) y **Spike** (pico).

Configuración:

* Variable de entorno `FACEPHI_SELPHID_FACIALEXTRACTOR_NUM_THREADS=4`.
* En el archivo `config.json`, `"number_of_threads": 2`.

Resumen:

* La versión **1.5.0** representa una mejora de rendimiento significativa respecto a la 1.2.0 en todos los tipos de prueba.
* La latencia media en la prueba de carga se redujo en un **37%**, el rendimiento (throughput) aumentó un **53%** en la misma prueba, y los percentiles p(95) mejoraron de forma constante.
* Ninguna de las dos versiones presentó errores HTTP.

![](/files/iWdAAkayyW0gJHoWVz1J)

### Tabla de la prueba de carga (Load test)

2 VUs en bucle durante 15 minutos.

| Métricas            | v1.2.0      | v1.5.0      | Δ       |
| ------------------- | ----------- | ----------- | ------- |
| Latencia media      | 813.68 ms   | 511.41 ms   | −37.2 % |
| Mín                 | 566.70 ms   | 420.47 ms   | −25.8 % |
| Mediana             | 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 % |
| Máx                 | 994.11 ms   | 678.97 ms   | −31.7 % |
| Iteraciones totales | 2 079       | 3 177       | +52.8 % |
| Rendimiento         | 2.31 iter/s | 3.53 iter/s | +52.8 % |
| Errores HTTP        | 0.00 %      | 0.00 %      | —       |

### Tabla de la prueba de estrés (Stress test)

Hasta 4 VUs en rampa durante 8 min (4 etapas).

| Métricas            | v1.2.0      | v1.5.0      | Δ       |
| ------------------- | ----------- | ----------- | ------- |
| Latencia media      | 773.35 ms   | 654.23 ms   | −15.4 % |
| Mín                 | 424.49 ms   | 361.91 ms   | −14.7 % |
| Mediana             | 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 % |
| Máx                 | 1 990 ms    | 1 110 ms    | −44.2 % |
| Iteraciones totales | 1 376       | 1 607       | +16.8 % |
| Rendimiento         | 2.86 iter/s | 3.34 iter/s | +16.8 % |
| Errores HTTP        | 0.00 %      | 0.00 %      | —       |

{% hint style="info" %}
La mejora más notable bajo estrés se produce en los extremos: el p(95) cae 780 ms y el máximo disminuye casi un 44%. Esto indica que la versión 1.5.0 gestiona mejor los picos de concurrencia.
{% endhint %}

### Tabla de la prueba de pico (Spike test)

Hasta 4 VUs en rampa agresiva durante 1 min 40 s (3 etapas).

| Métricas            | v1.2.0      | v1.5.0      | Δ       |
| ------------------- | ----------- | ----------- | ------- |
| Latencia media      | 1 090 ms    | 913.82 ms   | −16.2 % |
| Mín                 | 440.28 ms   | 362.44 ms   | −17.7 % |
| Mediana             | 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 % |
| Máx                 | 1 960 ms    | 1 610 ms    | −17.9 % |
| Iteraciones totales | 305         | 363         | +19.0 % |
| Rendimiento         | 3.03 iter/s | 3.61 iter/s | +19.1 % |
| Errores HTTP        | 0.00 %      | 0.00 %      | —       |

{% hint style="warning" %}
La latencia mediana aumenta en la prueba de pico de la 1.5.0 (715 ms → 854 ms). Aunque los percentiles altos mejoran, la distribución central empeora ligeramente por debajo del pico.
{% endhint %}

### Resumen comparativo global

| Tipo   | Media 1.2.0 | Media 1.5.0 | p(95) 1.2.0 | p(95) 1.5.0 | RPS 1.2.0 | RPS 1.5.0 |
| ------ | ----------- | ----------- | ----------- | ----------- | --------- | --------- |
| Carga  | 813 ms      | 511 ms      | 843 ms      | 559 ms      | 2.31      | 3.53      |
| Estrés | 773 ms      | 654 ms      | 1 800 ms    | 1 020 ms    | 2.86      | 3.34      |
| Pico   | 1 090 ms    | 914 ms      | 1 910 ms    | 1 490 ms    | 3.03      | 3.61      |
