Chirurgia spinală minim invazivă
Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical. Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale. www.neurohope.ro |
Generator de sunete - optimizare consum resurse
Last Updated: Mar 18 2023 11:51, Started by
GabyF
, Jan 24 2023 12:00
·
0
#19
Posted 12 March 2023 - 12:31
Ne arati si noua exact ce operatii sau ne tii in suspans?
|
#20
Posted 16 March 2023 - 22:48
E mult prea greu, codul e luuung, nu am cum.
Eu cred ca nu e asa de destept pe cat crezi tu, nici nu are cum sa stie daca anumite operatii aritmetice se fac de mai multe ori, ar insemna sa compileze de doua ori. Nici operatii f simple vad ca nu reuseste sa optimizeze: https://godbolt.org/z/8zPK6n4Pe Ce e dupa else if (cond==1) ar trebui sa ignore , nicidecum, consuma resurse complet inutil. Aspectul asta l-am observat si la un program test real, daca pun un switch lung care ar trebui sa iasa dupa prima conditie, programul consuma ca si cum ar trebui sa parcurga tot switch-ul... Nu consuma CPU cat ar fi daca e doar prima conditie in cod ci mult mai mult, compileaza tot. Edited by GabyF, 16 March 2023 - 22:52. |
#21
Posted 16 March 2023 - 23:10
#22
Posted 17 March 2023 - 00:27
mdaaa... in calc meu cu /arch:SSE2 /fp:fast /EHsc /Ob2 /Oi /GS- /Ot /O2 la cod mult mai complex parcurge toate cazurile din switch chiar daca ar trebui sa iasa dupa prima conditie.
|
#23
Posted 17 March 2023 - 10:49
Uite la acest exemplu https://godbolt.org/z/38eeMvz74 la functia void Osc() , ar trebui sa ignore cazurile Triangle si Square si n-o face. Ar trebui sa calculeze ca si cum codul n-ar contine cazurile Triangle si Square. Risipa foarte mare si inutila de resurse. Evident face risipa de resurse si cand comut wave pe Triangle sau Square.
Nu gasesc nici-o optimizare care sa rezolve problema. Si daca folosesc switch e la fel https://godbolt.org/z/zvjsqojnj Edited by GabyF, 17 March 2023 - 10:55. |
#24
Posted 17 March 2023 - 10:56
Sigur, ca el deja stie ce valoare ai pus pe phase.
Nici tu nu stii ce valoare are, dar o folosesti. |
#25
Posted 17 March 2023 - 11:35
Te iei de niste aspecte irelevante si offtopic, de ce n-ai dat valoare zero la phase sa vezi daca schimba rezultatul ? Acel cod este un exemplu test sa cercetez pe unde se pierd resurse. Pentru informarea ta, orice valoare pt phase e ok avand in vedere ce urmaresc cu acest cod. Hai sa nu ne pierdem timpul inutil.
Edited by GabyF, 17 March 2023 - 11:36. |
#26
Posted 17 March 2023 - 11:42
Ca sa ti le optimizeze asa cum vrei tu, sa-ti calculeze la compilare, atunci trebuie sa ti le faca constante, si valoarea trebuie sa existe.
In cazul tau phase nu are valoare, si ca atare nu poate fi considerata CONSTANTA. Notiuni de baza, inainte sa te apuci de "optimizari". fix cazul in care tu vrei sa-ti precalculeze prima ramura are o chestie nedefinta. Edited by MarianG, 17 March 2023 - 11:43. |
#27
Posted 17 March 2023 - 11:48
Te rog sa incheiem discutiile neconstructive, ti-am spus, da valoare zero si vezi rezultatul - asa afli daca sti ceva...
Tu nu vrei sa ajuti, vrei sa arati cat de "multe" sti... Edited by GabyF, 17 March 2023 - 11:52. |
#28
Posted 17 March 2023 - 11:55
ai dat tu valoare zero direct in structura
ce te asteptai ? sa-ti ignore codul scris ? si cand nu ai zero ce faci? Compilezi din nou cu noua valoare ? |
|
#29
Posted 17 March 2023 - 11:55
Faci confuzii elementare, functia Osc nu verifica valoarea phase in switch (if) ci valoare wave. Nu-ti mai raspund!
Astept opiniile celor care chiar cunosc C++ Edited by GabyF, 17 March 2023 - 11:56. |
#30
Posted 17 March 2023 - 11:57
Dar se foloseste de valoarea ei, si daca ai avea o valoare constanta poate ar resusi sa-ti optimizeze ceva.
|
#31
Posted 17 March 2023 - 22:32
#32
Posted 18 March 2023 - 00:39
Nu inteleg ce face, ar trebui sa printeze o valoare calculata.
|
#33
Posted 18 March 2023 - 09:05
|
#34
Posted 18 March 2023 - 09:37
Da, acum am vazut, nu scrie ca apeleaza functia Osc decat daca ii scot optimizarea. Executa aceleasi operatii si daca scot din cod variantele Triangle si Square, deci face ceea ce e normal. Vad ca si GCC stie sa faca asta, numai microsoft e ciudat...
Poate stie cineva cum fac compilatorul microsoft sa nu mai calculeze partile de cod care nu indeplinesc conditiile puse !? Poate este vreo optimizare care imi scapa mie... As vrea sa lucrez in continuare pe msvc pentru ca are alte calitati. Edited by GabyF, 18 March 2023 - 09:39. |
#35
Posted 18 March 2023 - 10:12
#36
Posted 18 March 2023 - 11:29
Folosesc in primul rand CodeBlocks, deja am testat cu GCC, probabil Clang da rezultate similare.
Chiar cu problema asta, rezultatul e mai bun cu MSVC decat GCC, consuma mai putin CPU, timpul de compilare e mai mic si executabilul mai mic ca dimensiuni. Edited by GabyF, 18 March 2023 - 11:30. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users