ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Andrey Savchenko <bircoph@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] ускорение lzma декомпрессии (XZ Utils)
Date: Tue, 14 Dec 2021 18:22:24 +0300
Message-ID: <20211214182224.9bb93fbd21086c1fcbab8e46@altlinux.org> (raw)
In-Reply-To: <00946e25-2451-2d98-2c77-db04b782fd33@basealt.ru>

[-- Attachment #1: Type: text/plain, Size: 3470 bytes --]

On Mon, 13 Dec 2021 21:52:42 +0700 Ilya Kurdyukov wrote:
> Я думаю, что финальная версия (патч по ссылке обновлён).

Думаю, что для апстрима нужно сделать проверку на наличие cmov на
этапе configure и добавить проверку этого define в строке:
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))

cmov есть не на всех i386 (нет на <i686 и некоторых сторонних
моделях i686). Понятно, что такое железо сейчас редко используется,
но всё же. Тем более, что проверка build-time и на run-time не
влияет. Если по какой-то причине нужно run-time сделать, следует
смотреть регистры cpuid.

> Билд питона теперь разжимается 42% быстрее.
> 
> Бинарники Firefox с данными - 21% быстрее.
> 
> Исходники ядра Линукс - 10% быстрее.
> 
> Но нужно еще проверить на разных моделях x86 процессоров, что я сделать 
> не смогу.
> 
> On 13.12.2021 18:59, Ilya Kurdyukov wrote:
> > Оказалось что ускорение со сжатых текстовых данных очень маленькое, 
> > только +4% с исходников ядра линукс. И на процессоре AMD на этих 
> > исходниках вообще +1%. Но я попробую это исправить.
> >
> > На бинарниках и данных Firefox (/usr/lib/firefox) выходит +11% ускорение.
> >
> > On 13.12.2021 16:02, Ilya Kurdyukov wrote:
> >> Заменил ветвление в LZMA декомпрессоре на ассемблерную вставку с 
> >> CMOV, на моём компьютере даёт 35% ускорение при распаковке 300мб из 
> >> сжатой билд директории от Python 3.
> >>
> >> На шлюзе basalt нормально проверить не получается, потому что на нём 
> >> переменная нагрузка, то с патчем 10-20% быстрее, а иногда без патча 
> >> получается быстрее. Мне нужна помощь в проверке.
> >>
> >> Может сильно зависеть от модели процессора.
> >>
> >> Патч: 
> >> https://gist.github.com/ilyakurdyukov/f514418f3affd677e1ac408ec0c09188
> >>
> >> На x86 (32-бит) не проверял, но тоже должно работать.
> >>
> >> Если будет стабильное ускорение, но можно предложить в апстрим.
> >>
> >> _______________________________________________
> >> Devel mailing list
> >> Devel@lists.altlinux.org
> >> https://lists.altlinux.org/mailman/listinfo/devel
> > _______________________________________________
> > Devel mailing list
> > Devel@lists.altlinux.org
> > https://lists.altlinux.org/mailman/listinfo/devel
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel

Best regards,
Andrew Savchenko

[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2021-12-14 15:22 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-13  1:52   ` [devel] [#291873] EPERM (try 2) rpmrebuild-arepo.git=3.1.13-alt1 Dmitry V. Levin
2021-12-13  1:56     ` Vitaly Lipatov
2021-12-13  9:02       ` [devel] ускорение lzma декомпрессии (XZ Utils) Ilya Kurdyukov
2021-12-13 11:59         ` Ilya Kurdyukov
2021-12-13 14:52           ` Ilya Kurdyukov
2021-12-13 15:08             ` Vitaly Chikunov
2021-12-13 15:42               ` Ilya Kurdyukov
2021-12-13 16:49                 ` Andrey Savchenko
2021-12-13 18:59                   ` Andrey Savchenko
2021-12-14  3:16                     ` Ilya Kurdyukov
2021-12-13 16:58                 ` Vitaly Chikunov
2021-12-14  2:53                   ` Ilya Kurdyukov
2021-12-14  6:11                     ` Ilya Kurdyukov
2021-12-14  7:25                       ` Ilya Kurdyukov
2021-12-14 15:22             ` Andrey Savchenko [this message]
2021-12-14 17:12               ` Alexey V. Vissarionov
2021-12-14 17:34                 ` Andrey Savchenko
2021-12-15  1:07                   ` Alexey V. Vissarionov
2021-12-15  7:29                     ` Ilya Kurdyukov
2021-12-15 15:55                       ` Andrey Savchenko
2021-12-15 15:57                         ` Andrey Savchenko
2021-12-16  4:22                           ` Ilya Kurdyukov
2021-12-14  0:22       ` [devel] [#291873] EPERM (try 2) rpmrebuild-arepo.git=3.1.13-alt1 Dmitry V. Levin
2021-12-14  5:04         ` Alexey V. Vissarionov
2021-12-14  8:57           ` Dmitry V. Levin
2021-12-14 17:31             ` Vitaly Lipatov
2021-12-14 20:50               ` Dmitry V. Levin
2021-12-14 22:44                 ` Vitaly Lipatov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211214182224.9bb93fbd21086c1fcbab8e46@altlinux.org \
    --to=bircoph@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git