-
Data: 2013-03-23 23:21:58
Temat: Re: Nowoczesne procesory - jak to z nimi jest?
Od: Marek Borowski <m...@...borowski.com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 2013-03-23 21:42, Bronek Kozicki wrote:
> On 22/03/2013 15:54, Marek Borowski wrote:
>> On 2013-03-21 23:09, M.M. wrote:
> ...
>>> No dobrze, ale skąd ta pewność? Czy jesteś pewny na 100% że nie
>>> da się napisać kompilatora który dla przeciętnych programów
>>> wygeneruje kod 2 razy szybszy?
>> Pewnie ze da sie, ale dopuki komitent standaryzacyjny bedzie sie
>> zajmowal abstrakcjami a nie wprowadzal do core jezyka nowych typow
>> danych ktore sie mapuja 1:1 na nowe sprzetowe rejestry to IMO nic sie
>
> a jak sobie wyobrażasz specyfikację języka który mapuje typy 1:1 na
> sprzętowe rejestry? I jak ma to pomóc w optymalizacji przeciętnych
> programów?
>
char, int, long -> mapuje sie w rejestry uniwersalne
float, double -> mapuje sie w rejestry koprocesora
Swiat idze do przodu, rejestry uniwersalne sie wydluzyly i pojawily sie
rejestry jednostek wektorowych, a w C/C++ juz niekoniecznie.
co za problem dodac uint8_vt, uint16_vt, uint32_vt i operacje na nich ?
uint8_vt = 0x03030303;
uint8_vt = 0x02020202;
uint8_vt = v1*v3; // 0x06060606
z vektorowym float byloby nieco trudniej ale cos mozna wykombinowac.
Co do drugiej czesci:
Wspolczesne CPU i tak za zbyt szybkie dla przecietnych programow, moga
wykorzystywac 1/10 funkcjonalnosci i bedzie dobrze. Pozatym przecietny
program po stronie klienta to niedlugo bedzie pisany wylacznie
javascripcie wiec prymitywne typy danych i tak nie beda mialy znaczenia.
Natomiast co do innych zastosowac to wystarczy spojrzec w kod np. VLC
(precyzujac bibliotek) Jakos tak sie dziwnie sklada ze najbardziej
krytyczne fragmenty np. transformata cosinusowa sa jednak pisnanie z
uzyciem niestandartowych rozszezen czy wrecz asemblerze. Jakby dalo sie
napisac czysty kod ktory kompilator by zoptymalizowal dostatecznie
dobrze na jednostke wektorowa to by chyba tam byl jedyny, nie uwazasz ?
Marek
Następne wpisy z tego wątku
- 23.03.13 23:50 M.M.
- 24.03.13 00:06 firr kenobi
- 24.03.13 17:54 M.M.
- 25.03.13 08:08 firr kenobi
- 25.03.13 10:07 M.M.
- 25.03.13 10:30 Adam Przybyla
- 25.03.13 10:57 AK
- 25.03.13 11:52 firr kenobi
- 25.03.13 13:48 M.M.
- 25.03.13 14:08 M.M.
- 25.03.13 14:17 wloochacz
- 25.03.13 14:48 AK
- 25.03.13 14:51 M.M.
- 25.03.13 15:07 AK
- 25.03.13 15:12 AK
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-09-12 Z cyklu POJEBANA UE: samochody elektryczne nie mogą być tanie i dobre
- 2024-09-13 dodanie karty graf zawiesza komp
- 2024-09-13 Sezon grzewczy kurła
- 2024-09-13 Warszawa => Spedytor Międzynarodowy <=
- 2024-09-13 Warszawa => Mid Account Manager <=
- 2024-09-13 Warszawa => QA Engineer <=
- 2024-09-13 Białystok => Frontend Developer (Angular area) <=
- 2024-09-13 Warszawa => QA Inżynier <=
- 2024-09-13 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-09-13 Zabrze => Projektant/Expert PHP Laravel (e-commerce) <=
- 2024-09-13 Białystok => Programista Full Stack (.Net Core) <=
- 2024-09-13 Gdańsk => Software .Net Developer <=
- 2024-09-13 Warszawa => Analityk Biznesowo-Systemowy <=
- 2024-09-13 Warszawa => International freight forwarder <=
- 2024-09-13 Warszawa => Senior IT Project Manager <=