From b1806cda5ec08262eeab10f075c001d5565be15d Mon Sep 17 00:00:00 2001 From: Dmitrii Krosh Date: Mon, 24 Aug 2026 05:53:12 +0300 Subject: [PATCH] update test result --- Docs/test_result.md | 56 ++++++++++++++++++------------------- articles/for-alt/article.md | 14 ++++++++++ 2 files changed, 42 insertions(+), 28 deletions(-) diff --git a/Docs/test_result.md b/Docs/test_result.md index c44673c..e8ee165 100644 --- a/Docs/test_result.md +++ b/Docs/test_result.md @@ -1,3 +1,7 @@ +# Результаты APT-RPM тестов + +Коэффициент считается как отношение времени базовой реализации к времени проверяемой реализации. Значение больше `1×` означает ускорение, меньше `1×` — замедление. + ## original set.c w/out optimizations функция `decode_set` идёт по пути функций: @@ -6,15 +10,13 @@ 2. `decode_golomb` 3. `decode_delta` -| command | average_seconds | run1_seconds | run2_seconds | run3_seconds | exit_status | -| :-------------------------- | :-------------: | :----------: | :----------: | :----------: | ----------: | -| -s check | 4.217343 | 4.310882 | 4.179343 | 4.161804 | 0 | -| -s autoremove | 4.884413 | 4.876135 | 4.882347 | 4.894757 | 0 | -| -s install rpm-build | 4.634789 | 4.652499 | 4.623077 | 4.628792 | 0 | -| -s install openuds-server | 12.704538 | 12.640266 | 12.975482 | 12.497867 | 0 | -| -s install password-store | 8.560463 | 8.561515 | 8.557596 | 8.562277 | 0 | -| --enable-upgrade -s upgrade | 36.271838 | 35.511443 | 35.908641 | 37.395430 | 100 | -| -s dist-upgrade | 90.550086 | 94.702198 | 92.174160 | 84.773901 | 100 | +| command | user, с | system, с | user+system, с | +| :-------------------------- | -------: | --------: | -------------: | +| `-s check` | 1.320000 | 0.050000 | 1.370000 | +| `-s autoremove` | 1.626667 | 0.050000 | 1.676667 | +| `-s install rpm-build` | 2.913333 | 0.070000 | 2.983333 | +| `-s install openuds-server` | 5.526667 | 0.100000 | 5.626667 | +| `-s install password-store` | 2.940000 | 0.070000 | 3.010000 | ## original set.c @@ -23,26 +25,24 @@ 1. `decode_base62_golomb` 2. `decode_delta` -| command | average_seconds | run1_seconds | run2_seconds | run3_seconds | exit_status | -| :-------------------------- | :-------------: | :----------: | :----------: | :----------: | ----------: | -| -s check | 1.570747 | 1.621496 | 1.545001 | 1.545744 | 0 | -| -s autoremove | 2.294502 | 2.312574 | 2.287133 | 2.283798 | 0 | -| -s install rpm-build | 2.108121 | 2.142784 | 2.093474 | 2.088105 | 0 | -| -s install openuds-server | 8.028098 | 8.147214 | 8.001140 | 7.935940 | 0 | -| -s install password-store | 3.373377 | 3.396943 | 3.361290 | 3.361899 | 0 | -| --enable-upgrade -s upgrade | 33.915979 | 33.895262 | 33.770192 | 34.082484 | 100 | -| -s dist-upgrade | 88.722136 | 95.484250 | 85.808085 | 84.874073 | 100 | +Коэффициенты посчитаны относительно `original set.c w/out optimizations`. + +| command | user, с | system, с | user+system, с | коэфф. user | коэфф. user+system | +| :-------------------------- | -------: | --------: | -------------: | ----------: | -----------------: | +| `-s check` | 0.453333 | 0.033333 | 0.486666 | 2.912× | 2.815× | +| `-s autoremove` | 0.763333 | 0.040000 | 0.803333 | 2.131× | 2.087× | +| `-s install rpm-build` | 1.210000 | 0.050000 | 1.260000 | 2.408× | 2.368× | +| `-s install openuds-server` | 3.746667 | 0.080000 | 3.826667 | 1.475× | 1.470× | +| `-s install password-store` | 1.233333 | 0.050000 | 1.283333 | 2.384× | 2.345× | ## set9.c -Переписанная реализация `set.c` +Переписанная реализация `set.c`. Коэффициенты посчитаны относительно `original set.c`. -| command | average_seconds | run1_seconds | run2_seconds | run3_seconds | exit_status | -| :-------------------------- | :-------------: | :----------: | :----------: | :----------: | ----------: | -| -s check | 1.550342 | 1.596307 | 1.532768 | 1.521950 | 0 | -| -s autoremove | 2.200188 | 2.237645 | 2.185378 | 2.177540 | 0 | -| -s install rpm-build | 2.031055 | 2.045757 | 2.023173 | 2.024234 | 0 | -| -s install openuds-server | 7.580058 | 7.572994 | 7.582557 | 7.584622 | 0 | -| -s install password-store | 3.337012 | 3.367696 | 3.309826 | 3.333514 | 0 | -| --enable-upgrade -s upgrade | 31.494775 | 31.535714 | 31.585522 | 31.363090 | 100 | -| -s dist-upgrade | 85.326580 | 85.389775 | 85.604566 | 84.985398 | 100 | +| command | user, с | system, с | user+system, с | коэфф. user | коэфф. user+system | +| :-------------------------- | -------: | --------: | -------------: | ----------: | -----------------: | +| `-s check` | 0.503333 | 0.040000 | 0.543333 | 0.901× | 0.896× | +| `-s autoremove` | 0.810000 | 0.040000 | 0.850000 | 0.942× | 0.945× | +| `-s install rpm-build` | 1.283333 | 0.050000 | 1.333333 | 0.943× | 0.945× | +| `-s install openuds-server` | 3.896667 | 0.083333 | 3.980000 | 0.962× | 0.961× | +| `-s install password-store` | 1.310000 | 0.050000 | 1.360000 | 0.941× | 0.944× | diff --git a/articles/for-alt/article.md b/articles/for-alt/article.md index 6fe3a68..a845fe8 100644 --- a/articles/for-alt/article.md +++ b/articles/for-alt/article.md @@ -152,6 +152,20 @@ set-строка Оставляя изначальную идею слитого декодера, была написана его реимлементация, использующая более простую логику, но использующая 64-битные блоки, а также упрощённую precompiled таблицу. (???) если есть результаты ускорения, сюда надо +### 4.6. Тесты производительности + +Для проверки производительности сравнивались две локальные сборки `librpm`: исходная реализация и версия с описанными изменениями. Замеры выполнялись на одинаковых симуляционных командах `apt-get`. + +Коэффициент считается как отношение времени исходной реализации к времени изменённой. Значение больше `1` - ускорение, меньше `1` - замедление. + +| Команда | `set.c` user, с | `set.c` system, с | `set9.c` user, с | `set9.c` system, с | Ускорение по user | Ускорение по user+system | +| --------------------------- | --------------: | ----------------: | ---------------: | -----------------: | ----------------: | -----------------------: | +| `-s check` | 0.453 | 0.033 | 0.503 | 0.040 | 0.901× | 0.896× | +| `-s autoremove` | 0.763 | 0.040 | 0.810 | 0.040 | 0.942× | 0.945× | +| `-s install rpm-build` | 1.210 | 0.050 | 1.283 | 0.050 | 0.943× | 0.945× | +| `-s install openuds-server` | 3.747 | 0.080 | 3.897 | 0.083 | 0.962× | 0.961× | +| `-s install password-store` | 1.233 | 0.050 | 1.310 | 0.050 | 0.941× | 0.944× | + ## 5. Прочие исследования В данной главе собраны исследования, которые не вошли непосредственно в реализацию новой версии, однако важны своими идеями и результатами.