Article View: pl.comp.programming
Article #217301Re:Czy numpy przyspieszy działania na dużych liczbach w Pythonie?
From: slawek
Date: Thu, 31 Dec 2020 18:52
Date: Thu, 31 Dec 2020 18:52
38 lines
2512 bytes
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-mailReferences:
<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