🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217301

Re:Czy numpy przyspieszy działania na dużych liczbach w Pythonie?

#217301
From: slawek
Date: Thu, 31 Dec 2020 18:52
38 lines
2512 bytes
"osobli...@gmail.com" <osobliwy.nick@gmail.com> Wrote in message:
> Potrzebuję wykonać w Pythonie tego typu operacje:s1 = s0*k1 + k2s2 = s1*k1 + k2i tak dalej, powiedzmy kilkadziesiąt iteracji. Chodzi o duże liczby, głównie 128-bitowe. Czy numpy jakkolwiek może to przyspieszyć? Jeśli tak, to jak tego użyć?

1. Numpy jest proste aż do bólu, ale AFAIK liczy float pointy na
 liczbach 64 bitowych IEEE 754, czyli na 80 bitowym FPU jeżeli to
 zgodne z x86 (a właściwie x87). Chyba że jednak na SEE2 lub
 AVX.

2. Python jest raczej mało wydajny, porównując z C lub Fortranem.
 I oczywiście Asemblerem - w tym da się użyć SIMD co naprawdę daje
 kopa. 

3. CUDA itp. - jest do tego jakiś moduł w Pythonie (do wszystkiego
 jest jakiś moduł) - patrz pypi. To powinno być prawie
 to.

4. Ogólnie problem to brak 128 bitowych FPU - tzn. brak hardware.

0. Nie piszesz czy są to liczby float point. Nota bene, da się
 liczyć nie tylko na int-ach, ale także na fixed-point, ułamkach
 zwyczajnych...

-1. Jeżeli to kilkadziesiąt takich operacji liniowych... na cały
 program... to wydajność nie ma znaczenia.

-2. Operacje jakie chcesz robić to mnożenie  y = A x, gdzie y i x
 są wektorami, A jest macierzą. Może być opłacalne
 zdiagonalizowanie macierzy A (czyli transformacja U y = U A U^-1
 U x), bo wtedy wielokrotne mnożenia się trywializują. Patrz też
 wartości i wektory własne.

-3. No i kwestia - duże liczby (większe niż 10^310), czy liczby z
 dużą liczbą cyfr znaczących, np. 0.123456789123
456789123456789123455667789 ?


----Android NewsGroup Reader----
http://usenet.sinaapp.com/
Technical Details
Message-ID: <rsl6kv$6a6$1@news.icm.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
References: <e78c675f-bf73-403a-9991-9b41f7accc60n@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: slawek <x.y@org.org>
Newsgroups: pl.comp.programming
Subject: Re:Czy numpy przyspieszy działania na
 dużych liczbach w Pythonie?
Date: Thu, 31 Dec 2020 19:52:15 +0100 (GMT+01:00)
Organization: news.icm.edu.pl
Lines: 38
Message-ID: <rsl6kv$6a6$1@news.icm.edu.pl>
References: <e78c675f-bf73-403a-9991-9b41f7accc60n@googlegroups.com>
NNTP-Posting-Host: 83.11.80.175.ipv4.supernova.orange.pl
Mime-Version: 1.0
X-Trace: news.icm.edu.pl 1609440735 6470 83.11.80.175 (31 Dec 2020 18:52:15 GMT)
X-Complaints-To: usenet@news.icm.edu.pl
NNTP-Posting-Date: Thu, 31 Dec 2020 18:52:15 +0000 (UTC)
X-Newsreader: PiaoHong.Usenet.Client.Free:1.65
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit