CPU-ji in compilerji

programski jeziki in programiranje

Moderator: tilz0R

CPU-ji in compilerji

OdgovorNapisal/-a s54mtb » 23 Apr 2022, 10:21

VolkD je napisal/-a:Ko se boš naveličal C, lahko preklopiš na C++ ali pa celo na Pyton.


Če ti koda dela prehitro, ali porabi premalo spomina, tudi.
Always going the extra mile.
https://www.buymeacoffee.com/s54mtb
Uporabniški avatar
s54mtb
 
Prispevkov: 14494
Pridružen: 15 Jan 2015, 00:10
Zahvalil se je: 2150 krat
Prejel zahvalo: 6026 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: ESP32 c compiler in IDE

OdgovorNapisal/-a Proteus » 23 Apr 2022, 14:48

s54mtb je napisal/-a:Če ti koda dela prehitro, ali porabi premalo spomina, tudi.

CPU-ji so tako napredovali, da tole v večini primerov sploh ni več nikakršen problem.
Uporabniški avatar
Proteus
 
Prispevkov: 3332
Pridružen: 18 Jan 2015, 00:31
Kraj: Planet Zemlja
Zahvalil se je: 358 krat
Prejel zahvalo: 737 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 136

Re: ESP32 c compiler in IDE

OdgovorNapisal/-a GJ » 23 Apr 2022, 15:16

Proteus je napisal/-a:
s54mtb je napisal/-a:Če ti koda dela prehitro, ali porabi premalo spomina, tudi.

CPU-ji so tako napredovali, da tole v večini primerov sploh ni več nikakršen problem.

So problemi, ampak moraš biti vsaj malo programerja, da to razumeš in sodiš!

LP GJ
Če si jezen, si žrtev!
GJ
 
Prispevkov: 418
Pridružen: 18 Jan 2015, 22:26
Kraj: Ljubljana
Zahvalil se je: 206 krat
Prejel zahvalo: 131 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 28

Re: ESP32 c compiler in IDE

OdgovorNapisal/-a zanka » 23 Apr 2022, 15:18

Iz dolgočasja sem že na Fortranu ...
Uporabniški avatar
zanka
 
Prispevkov: 3431
Pridružen: 17 Mar 2016, 00:16
Kraj: SI-8000
Zahvalil se je: 127 krat
Prejel zahvalo: 424 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 83

Re: ESP32 c compiler in IDE

OdgovorNapisal/-a VolkD » 23 Apr 2022, 18:38

Proteus je napisal/-a:
s54mtb je napisal/-a:Če ti koda dela prehitro, ali porabi premalo spomina, tudi.

CPU-ji so tako napredovali, da tole v večini primerov sploh ni več nikakršen problem.
Ne samo CPU-ji ampak tudi prevajalniki.
Če sem 15 let nazaj v assemblerju še naredil manjšo in hitrejšo kodo od enake v C-ju, je danes situacija povsem obratna. Praviloma C prevajalnik naredi kodo ki je bolj učinkovita tako glede na porabljen flash, kot glede na porabljen RAM. Tudi hitrost izvajanja je boljša.
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 57891
Pridružen: 29 Dec 2014, 19:49
Kraj: Kačiče (Divača)
Zahvalil se je: 15731 krat
Prejel zahvalo: 9060 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: ESP32 c compiler in IDE

OdgovorNapisal/-a gumby » 23 Apr 2022, 19:09

Eno je učinkovitost prevajalnika, drugo pa nameren bloatware... in potem imaš gonilnik za miško velikosti >200MB
my brain hurts
Uporabniški avatar
gumby
 
Prispevkov: 2850
Pridružen: 14 Jan 2015, 18:49
Kraj: Lendava
Zahvalil se je: 121 krat
Prejel zahvalo: 780 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 80

Re: ESP32 c compiler in IDE

OdgovorNapisal/-a s54mtb » 23 Apr 2022, 19:27

Gre za osnovno razumevanje stvari. Python koda se ne prevaja, ampak za izvajanje podobno kot v času BASICa za to skrbi interpreter. Ta je tako univerzalen, da se osnovna koda izvaja kjerkoli. Seveda brez popolne "objektizacije" to nebi bilo možno. C++ je še vedno objektno zasnovan z vsemi prednosti, ki jih ta prinaša, a obenem omogoča z vse bolj učinkovitimi prevajalniki tudi veliko optimizacijo v CPU ciklih in spominu. C je še stopnico nižje, ne dela smetarskih poslov kot C++ itd... Res so mikrokontrolerji napredovali in MB flasha/rama ni nič posebnega... Vse bolj se tudi briše meja med zahtevami/zahtevnostjo c++ in c. Popularnost kače gre pa gotovo pripisati dejstvu, da prežveči praktično vse, kar mu vržeš med zobovje... Ampak to je tudi dvorezni meč in ima svojo ceno, predvsem v tem, da je za premetavanje objektov potrebnih enostavno več ciklov kot intrinsičnih....

Lahko se pa tudi motim :)
Always going the extra mile.
https://www.buymeacoffee.com/s54mtb
Uporabniški avatar
s54mtb
 
Prispevkov: 14494
Pridružen: 15 Jan 2015, 00:10
Zahvalil se je: 2150 krat
Prejel zahvalo: 6026 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: ESP32 c compiler in IDE

OdgovorNapisal/-a Proteus » 23 Apr 2022, 22:24

Imam občutek, da vsak gleda svoj vrtiček in potem misli, da se svet vrti okrog njega.

Pred leti smo poslušali predavanje o NBP, kjer je avtor vse, ki uporabljajo kaj drugega kot ASM imenoval za "pussyje", ki s C-jem prižigajo lučke.

Potem so "pu..." ugotovili, da so CPU-ji tako napredovali, da zdaj bi pa to že lahko nardili NBP na človeški način...

Python pač uporablja interpreter, ki ga moraš najprej naložiti na CPU. S tem je lahko vse narobe ali pa nič. Odvisno kaj sploh je tvoj cilj. Če hočeš zabit žebelj vzameš kladivo, če hočeš priviti vijak pa izvijač. Izbor orodja je torej odvisen od namena.

Lepota kače je, da ne potrebuješ nobenega prevajalnika, vse te lepo čaka na CPU-ju. Na njemu imaš z lahkoto celo več verzij programov, zaženeš pa tisto, ki jo trenutno potrebuješ itd...

Verjetno boš dvakrat razmislil, če boš poizkušal s kačo krmiliti kakšne časovno kritične sisteme, kjer CPU že krepko švica, po drugi strani pa je kača odlična za analizo podatkov in še marsikaj.
Uporabniški avatar
Proteus
 
Prispevkov: 3332
Pridružen: 18 Jan 2015, 00:31
Kraj: Planet Zemlja
Zahvalil se je: 358 krat
Prejel zahvalo: 737 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 136

Re: CPU-ji in compilerji

OdgovorNapisal/-a zanka » 24 Apr 2022, 09:22

Meni kača ni nikoli dovolj hitro delala ...
Uporabniški avatar
zanka
 
Prispevkov: 3431
Pridružen: 17 Mar 2016, 00:16
Kraj: SI-8000
Zahvalil se je: 127 krat
Prejel zahvalo: 424 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 83

Re: ESP32 c compiler in IDE

OdgovorNapisal/-a s54mtb » 24 Apr 2022, 10:18

Proteus je napisal/-a:Imam občutek, da vsak gleda svoj vrtiček in potem misli, da se svet vrti okrog njega.

Pred leti smo poslušali predavanje o NBP, kjer je avtor vse, ki uporabljajo kaj drugega kot ASM imenoval za "pussyje", ki s C-jem prižigajo lučke.

Potem so "pu..." ugotovili, da so CPU-ji tako napredovali, da zdaj bi pa to že lahko nardili NBP na človeški način...

Python pač uporablja interpreter, ki ga moraš najprej naložiti na CPU. S tem je lahko vse narobe ali pa nič. Odvisno kaj sploh je tvoj cilj. Če hočeš zabit žebelj vzameš kladivo, če hočeš priviti vijak pa izvijač. Izbor orodja je torej odvisen od namena.

Lepota kače je, da ne potrebuješ nobenega prevajalnika, vse te lepo čaka na CPU-ju. Na njemu imaš z lahkoto celo več verzij programov, zaženeš pa tisto, ki jo trenutno potrebuješ itd...

Verjetno boš dvakrat razmislil, če boš poizkušal s kačo krmiliti kakšne časovno kritične sisteme, kjer CPU že krepko švica, po drugi strani pa je kača odlična za analizo podatkov in še marsikaj.



Saj to sem tudi jaz želel povedat. Kakega ML ali CV se verjetno nikoli nebi lotil v C/C++, ker ima kačon enostavne in učinkovite rešitve in z mrcvarjenjem v c-ju verjetno nebi nič pridobil... Velja seveda tudi obratno.

Ne boš verjel, ampak goreči zagovornik asemblerja in pregovorni pljuvalec "C-rash" compilerjev je vse to preskočil in direktno prijel kačo za vrat: http://antena.fe.uni-lj.si/literatura/S53MV/aam/aam.pdf :_dunno :_CR
Always going the extra mile.
https://www.buymeacoffee.com/s54mtb
Uporabniški avatar
s54mtb
 
Prispevkov: 14494
Pridružen: 15 Jan 2015, 00:10
Zahvalil se je: 2150 krat
Prejel zahvalo: 6026 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: ESP32 c compiler in IDE

OdgovorNapisal/-a forest70 » 24 Apr 2022, 11:00

s54mtb je napisal/-a:Ne boš verjel, ampak goreči zagovornik asemblerja in pregovorni pljuvalec "C-rash" compilerjev je vse to preskočil in direktno prijel kačo za vrat: http://antena.fe.uni-lj.si/literatura/S53MV/aam/aam.pdf :_dunno :_CR

Kapo dol za znanje! Daj ti, če zmoreš! Ja vem ASM je jeba, c++ je kompromis s katerim včasih ne dosežeš cilja.
If you pay in bananas, you got monkeys.
Uporabniški avatar
forest70
 
Prispevkov: 2695
Pridružen: 14 Jan 2015, 00:11
Kraj: Koper
Zahvalil se je: 482 krat
Prejel zahvalo: 610 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 132

Re: CPU-ji in compilerji

OdgovorNapisal/-a alividmar » 24 Apr 2022, 13:20

http://antena.fe.uni-lj.si/literatura/S ... m/aam.html

Na koncu dokumenta so povezave, ki pa v pdf dokumentu niso prave.
Na zgornjem linku so povezave prave.
Uporabniški avatar
alividmar
 
Prispevkov: 1026
Pridružen: 18 Jan 2015, 07:43
Kraj: Postojna
Zahvalil se je: 161 krat
Prejel zahvalo: 335 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 35

Re: CPU-ji in compilerji

OdgovorNapisal/-a tilz0R » 24 Apr 2022, 17:26

MIslim, da vas pol ne ve kaj govori v tej temi.

C++ se danes prevede v praktično enako velikost/speed kot C. Razlika je mogoče 1-2% v prid C-ja.
Seveda govorimo o MCU CPU-ju, kjer se ne uporablja memory management enote ali throw ukazov, for instance.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 2125
Pridružen: 17 Jan 2015, 23:12
Kraj: Črnomelj
Zahvalil se je: 241 krat
Prejel zahvalo: 656 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 212

Re: CPU-ji in compilerji

OdgovorNapisal/-a s54mtb » 24 Apr 2022, 18:26

Jaz govorim predvsem o primerjavi c/c++ proti kačonu. Saj nekaj je tudi na mikrokontrolerjih (micropython & co.)... Res pa nisem neka referenca. Imam samo kakih 20 let izkušenj v embedded aplikacijah, tako da jemljite moje zapise z rezervo.
Always going the extra mile.
https://www.buymeacoffee.com/s54mtb
Uporabniški avatar
s54mtb
 
Prispevkov: 14494
Pridružen: 15 Jan 2015, 00:10
Zahvalil se je: 2150 krat
Prejel zahvalo: 6026 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255


Vrni se na Software

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost