<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>48430</bug_id>
          
          <creation_ts>2023-11-14 03:00:11 +0300</creation_ts>
          <short_desc>mandb значительно замедлился с версии 2.11.2-alt1</short_desc>
          <delta_ts>2025-03-13 21:27:36 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>man-db</component>
          <version>unstable</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=49709</see_also>
    
    <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=52882</see_also>
          <bug_file_loc>https://gitlab.com/man-db/man-db/-/issues/4</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>46625</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Vitaly Chikunov">vt</reporter>
          <assigned_to name="Alexey Gladkov">legion</assigned_to>
          <cc>aen</cc>
    
    <cc>amakeenk</cc>
    
    <cc>andy</cc>
    
    <cc>glebfm</cc>
    
    <cc>iv</cc>
    
    <cc>lav</cc>
    
    <cc>ldv</cc>
    
    <cc>legion</cc>
    
    <cc>liannnix</cc>
    
    <cc>placeholder</cc>
    
    <cc>sin</cc>
    
    <cc>vt</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>236999</commentid>
    <comment_count>0</comment_count>
    <who name="Vitaly Chikunov">vt</who>
    <bug_when>2023-11-14 03:00:11 +0300</bug_when>
    <thetext>На предыдущих версиях апдейт mandb (при обновлении какой-то man страницы) происходил за считанные секунды. Начиная с версии 2.11.2-alt1 такое же обновление уже длится пол минуты и более (на тестовой машине с SSD с 11857 файлов и симлинков в man3).

Reproducer:

  # ls /usr/share/man/man3 | wc -l
  11857
  # touch /usr/share/man/man3
  # time mandb -q
  real 45.26
  user 14.03
  sys 37.44
  # time mandb -q
  real 0.20
  user 0.11
  sys 0.05
  # touch /usr/share/man/man3
  # time mandb -q
  real 51.47
  user 15.92
  sys 42.50

Для пользователя это выглядит как долгая пауза по пол минуты в конце `apt-get install`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237000</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2023-11-14 03:26:15 +0300</bug_when>
    <thetext>Откат до 2.10.2 помогает ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237001</commentid>
    <comment_count>2</comment_count>
    <who name="Vitaly Chikunov">vt</who>
    <bug_when>2023-11-14 03:31:41 +0300</bug_when>
    <thetext>Помогает.

  # mandb --version
  mandb 2.10.2
  # touch /usr/share/man/man3
  # time mandb -q
  real 0.35
  user 0.15
  sys 0.12
  # time mandb -q
  real 0.23
  user 0.10
  sys 0.05</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239271</commentid>
    <comment_count>3</comment_count>
    <who name="Andrew Vasilyev">andy</who>
    <bug_when>2023-12-19 20:09:44 +0300</bug_when>
    <thetext>https://gitlab.com/asheplyakov/man-db/-/compare/main...liblzma-decompression?from_project_id=22757117</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249465</commentid>
    <comment_count>4</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2024-07-30 17:56:27 +0300</bug_when>
    <thetext>Не думаю, что апстримный баг сдвинется с мёртвой точки в ближайшее время. Поэтому предлагаю всё-таки взять патч Алексея себе в Сизиф (и потом p11):

https://gitlab.com/asheplyakov/man-db/-/tree/liblzma-decompression?ref_type=heads
https://gitlab.com/man-db/man-db/-/issues/4#note_1677173856

Например так:

https://git.altlinux.org/tasks/353967/
https://git.altlinux.org/people/iv/packages/man-db.git?a=commitdiff;h=3f75a5933034528e924e6909cf3921fcf7ae2740</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249467</commentid>
    <comment_count>5</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2024-07-30 17:59:04 +0300</bug_when>
    <thetext>&gt; https://git.altlinux.org/tasks/353967/

На моей рабочей машине (десктопный Intel и SSD):

Before:
# rm -fr /var/cache/man/*
# time mandb -q
13.02user 24.61system 0:31.64elapsed 118%CPU (0avgtext+0avgdata 19420maxresident)k
0inputs+17416outputs (0major+6733928minor)pagefaults 0swaps

After:
# rm -fr /var/cache/man/*
# time mandb -q
4.76user 0.25system 0:05.25elapsed 95%CPU (0avgtext+0avgdata 27964maxresident)k
0inputs+11432outputs (0major+29972minor)pagefaults 0swaps

То есть, ускорение чуть больше чем в 6 раз.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249468</commentid>
    <comment_count>6</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2024-07-30 18:54:04 +0300</bug_when>
    <thetext>А вот почему я об этом вспомнил.

Виртуалка aarch64 на том же (x86_64) хосте:

Before:

# rm -fr /var/cache/man/*
# time mandb -q
99.03user 326.02system 5:47.09elapsed 122%CPU (0avgtext+0avgdata 6784maxresident)k
38760inputs+8568outputs (29major+1791825minor)pagefaults 0swaps

Почти 6 минут!!!


After:

# rm -fr /var/cache/man/*
# time mandb -q
44.69user 29.81system 1:14.99elapsed 99%CPU (0avgtext+0avgdata 11032maxresident)k
0inputs+3832outputs (0major+4340minor)pagefaults 0swaps</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253707</commentid>
    <comment_count>7</comment_count>
    <who name="Alexander Makeenkov">amakeenk</who>
    <bug_when>2024-10-31 10:36:09 +0300</bug_when>
    <thetext>Проблема актуальна и для p11.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253710</commentid>
    <comment_count>8</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2024-10-31 11:15:33 +0300</bug_when>
    <thetext>&gt; Depends on: 46625

Наверное, зависимости должны быть в другую сторону. Попробую поправить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256974</commentid>
    <comment_count>9</comment_count>
    <who name="Andrew Vasilyev">andy</who>
    <bug_when>2025-01-09 00:22:18 +0300</bug_when>
    <thetext>  Обновил до 2.13.0 с использованием (адаптированного) патча из
https://git.altlinux.org/people/iv/packages/man-db.git?a=commitdiff;h=3f75a5933034528e924e6909cf3921fcf7ae2740

  Результат:

NEW (man-db-2.13.0-alt1):
6.31user 0.36system 0:06.64elapsed 100%CPU (0avgtext+0avgdata 20768maxresident)k
0inputs+9440outputs (0major+24888minor)pagefaults 0swaps

OLD (man-db-2.12.0-alt1):
22.08user 30.26system 0:43.22elapsed 121%CPU (0avgtext+0avgdata 15248maxresident)k
0inputs+12408outputs (0major+4827452minor)pagefaults 0swaps

  В 6.5 раз быстрее! Обратите внимание на разницу в minor pagefaults.
  Может, уже пора ускорить mandb, раз xz - это наше всё?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261015</commentid>
    <comment_count>10</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2025-03-13 21:27:36 +0300</bug_when>
    <thetext>man-db-2.12.0-alt2 -&gt; sisyphus:

 Tue Jul 30 2024 Ivan A. Melnikov &lt;iv@altlinux&gt; 2.12.0-alt2
 - Implemented in-process lzma decompression (thx asheplyakov@)
   (ALT#48430).</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>