-
Data: 2016-09-16 12:53:17
Temat: Re: Jak zacząć pracę z Fortranem?
Od: Borneq <b...@a...hidden.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 15.09.2016 o 23:04, Sebastian Biały pisze:
> Kiedyś faktycznie był szybki, ale ostatnio widzę że istnieje bardziej na
> zasadzie inercji: jest bo jest w nim jakiś soft numeryczny i jakoś tak
> wychodzi. Czy *obecnie* fortran jest szybszy niż identyczny algorytm w C
> i co najwazniejsze: niby dlaczego?
Obecne C/C++ jest szybkie do kresu możliwości.Sprawdzałem w VC 2015 w
Release:
Wyliczałem Hornerem :
obliczanie przyblizenia Czebyszewa exp(x) wielomianem
stopnia 7; wielomian obliczany schematem Hornera
oraz szybsz? metod?
double horner(double x)
{
double result = 0.0002047;
result = result*x + 0.001439274;
result = result*x + 0.008328596;
result = result*x + 0.041635012;
result = result*x + 0.166667986;
result = result*x + 0.500006347;
result = result*x + 0.999999901;
result = result*x + 0.999999801;
return result;
}
double hornerfast(double x)
{
return ((((((0.0002047*x + 0.001439274)*x + 0.008328596)*x
+ 0.041635012)*x + 0.166667986)*x + 0.500006347)*x + 0.999999901)*x +
0.999999801;
}
oraz dla porównania metodą szybsza od Hornera:
double fast(double x)
{
double y = x*0.297178123 + 0.155642921;
double z = y*y;
return (z + 0.732273642600117)*(y*((z + 2.4368618551)*(z + y -
1.0184605924)
+ 5.2036422682) + 1.5688833150) - 0.5565483727;
}
Przed laty pisałem coś takiego w Pascalu
i horner na Duronie 900 miał 190 taktów, hornerfast na Duronie 900 miał
72 takty a fast
na Duronie 900 miał 105 taktów, a 160 gdy "linie nie były polaczone ze sobą"
Czyli zależność procedury od tego czy ją się napisze w jednej linii a
poza tym nowa metoda fast gorsza od szybszego Hornera mimo że mniej mnożeń.
Spowodowane to było małą optymalizacją.
W C++ zupełnie co innego, pętla 20000000:
horner 68.82 ms
hornerfast 68.9 ms
fast 68.19 ms
Wszystkie tak samo, niestety szybsza metoda niż Hornera tu nie działała
chyba stopień 7 to za mało, trzeba by z 12.
Uwaga: Gdy wykonywałem pomiar czasu za pomocą std::chrono biorąc większą
lub mniejsza pętlę było źle, bo im większa pętla tym mniej na jedną
funkcję. Więc wziąłem nie największą pętlę i jeszcze ją wykonałem 100
razy biorą NAJMNIEJSZY rezultat a nie średni. Bywało źle, bo za
pierwszym razem wykonywało się zwykle najwolniej, potem z 5 razy
szybciej ale jeszcze nie tak, potem już tak samo.
WNIOSEK: C++ jest tak szybkie, że nie trzeba się już przejmować postacią
procedury.
ALE z drugiej strony stopień 7 wielomianu to za mało aby zadziałała
skomplikowana metoda, która miała przyśpieszyć Hornera.
Następne wpisy z tego wątku
- 16.09.16 12:54 Borneq
- 16.09.16 13:58 joahim
- 16.09.16 14:05 Borneq
- 16.09.16 14:10 joahim
- 16.09.16 14:15 Borneq
- 16.09.16 17:38 bartekltg
- 16.09.16 17:46 bartekltg
- 16.09.16 17:47 slawek
- 16.09.16 18:02 slawek
- 16.09.16 18:09 slawek
- 16.09.16 18:12 slawek
- 16.09.16 18:32 slawek
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-12 Warszawa => PC Hardware Expert / Specjalista PC <=
- 2025-07-12 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2025-07-12 Warszawa => Administrator IT <=
- 2025-07-12 Warszawa => IT Administrator <=
- 2025-07-12 Warszawa => Asystent/tka ds. Administracji <=
- 2025-07-12 Warszawa => Specjalista/stka ds. Organizacji <=
- 2025-07-12 Warszawa => MENA New Business Manager <=
- 2025-07-12 Gdynia => Controlling systems Consultant <=
- 2025-07-12 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-07-12 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-07-12 Warszawa => Dyrektor IT <=
- 2025-07-12 Warszawa => IT Director <=
- 2025-07-12 Czy wypowiedź Kaczyńskiego o Braunie jest skarżalna? ["działa z OBCEJ inspiracji"]
- 2025-07-11 Rejestrator temperatur - termopara, siec
- 2025-07-11 DPD, przeniesienie numerów z a2mobile i z Orange