BG Development


Страници: (8) « първа ... 6 7 [8]   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Orthodox C++ vs Modern C++
Реконструктор
Публикувано на: 17-07-2017, 10:07
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 158
Регистриран на: 18.12.06



QUOTE (Дон Реба @ 15-07-2017, 06:08)
то разлика над 10% има и между отделните С++ компилатори.
като цяло компилатора за С и С++ е общ, самите езици ползват еднакви концепции за локални променливи, интензивност и начин на алокиране масиви и тн, така че са еднакво бързи на един и същи компилатор. ако дадена конструкция С компилатоса се усети да я оптимизира, същата на С++ също ще бъде оптимизирана. разлики от типа на виртуални функции, this call и други са маловажни, защото техен аналог си има и в чисто С

Няма значение това. Последно подобен тест правих с VS 6, преди или около 2000 г. Тогава ми направи впечатление, че разликата е съществена. Докато сега с VS 2017 не чак толкова. И май причината е хардуера, поне според википедия:
"The cost of virtual functions may not be so high on modern CPU architectures due to much larger caches and better branch prediction."
PMEmail Poster
Top
bvbfan
Публикувано на: 17-07-2017, 10:13
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2372
Регистриран на: 08.12.13



M$ винаги violate-ват стандарта, няма значение, кое лайняно студио ползваш.


--------------------
QUOTE (Bender @ 23-04-2015, 19:11)
Xamarin: ЛАПАЙ!
Ти: Добре...
PMEmail Poster
Top
dvader
Публикувано на: 17-07-2017, 10:15
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 3569
Регистриран на: 12.07.05



QUOTE (Реконструктор @ 17-07-2017, 10:07)
"The cost of virtual functions may not be so high on modern CPU architectures due to much larger caches and better branch prediction."

На мен би ми било интересно да видя теста, но нещо ми подсказва, че си сравнявал виртуална с невиртуална функция. Нормално е резултатите да са различни.


--------------------
I find your lack of faith disturbing
PM
Top
Реконструктор
Публикувано на: 17-07-2017, 10:15
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 158
Регистриран на: 18.12.06



Но така или иначе, мисълта ми е, че с всяка следваща итерация C++ върви към пълноценен ООП език с наблягане в/у ООП-то и отебаване на ефективността. Както казах, не може да имаш и двете, ако искаш красив код, "блек бокс"-ове и т.н. пишеш интерфейси и класове, ако ти трябва ефективност, праскаш прости структури и ф-ии. Това е.
PMEmail Poster
Top
bvbfan
Публикувано на: 17-07-2017, 10:17
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2372
Регистриран на: 08.12.13



Като Дарт писа, може да видиш забавяне в извикване на виртуална функция само, ако я сравняваш с не такава.


--------------------
QUOTE (Bender @ 23-04-2015, 19:11)
Xamarin: ЛАПАЙ!
Ти: Добре...
PMEmail Poster
Top
saruman
Публикувано на: 21-07-2017, 21:36
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1473
Регистриран на: 21.07.10



Много лошо взеха да налагат ламбдите и минаха набързо от ООП към функционално програмиране,другите неща сякаш са ок,особено rvalue и move семантиката е доста силна


--------------------
http://www.wefunkradio.com/radio/

Remember,remember the fifth of November
PMEmail Poster
Top
saruman
Публикувано на: 21-07-2017, 21:47
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1473
Регистриран на: 21.07.10



QUOTE (alphasoftwarebg @ 15-07-2017, 21:57)

Определено не използвам C++11, C++14..., защото харесвам дълбоката съвместимост със стари ОС, малки изпълними файлове и простичък код.

Определено нищо не каза,първо няма такова понятие като дълбока съвместимост,и второ новите стандарти по никакъв начин не влияят на досегашните депендансита,мисля,че в C++17 има коментари към функции deprecated,такива дето при ЦСС направиха отдавна icon_wink.gif icon_biggrin.gif


--------------------
http://www.wefunkradio.com/radio/

Remember,remember the fifth of November
PMEmail Poster
Top
saruman
Публикувано на: 21-07-2017, 21:58
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1473
Регистриран на: 21.07.10



QUOTE (Реконструктор @ 17-07-2017, 10:15)
Но така или иначе, мисълта ми е, че с всяка следваща итерация C++ върви към пълноценен ООП език с наблягане в/у ООП-то и отебаване на ефективността. Както казах, не може да имаш и двете, ако искаш красив код, "блек бокс"-ове и т.н. пишеш интерфейси и класове, ако ти трябва ефективност, праскаш прости структури и ф-ии. Това е.

Кода трябва да е flexible,тъй като и модерния пазар е такъв ,хора стават милиардери за броени години,така че всичко трябва да става максимално бързо (имплементиране на нови фийчъри )- при езика Ц нямаш такава широчина в проекта,както при интерфейсите,те затва са измислени,от зор,не от нещо друго,на никой не му е кеф да се занимава с наследяваници и полиморфизъм icon_wink.gif

Това мнение е било редактирано от saruman на 21-07-2017, 22:16


--------------------
http://www.wefunkradio.com/radio/

Remember,remember the fifth of November
PMEmail Poster
Top
dvader
Публикувано на: 21-07-2017, 23:04
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 3569
Регистриран на: 12.07.05



QUOTE (saruman @ 21-07-2017, 21:58)
при езика Ц нямаш такава широчина в проекта,както при интерфейсите

При езика Ц нямаш такъв мощен рънтайм, който да лепи, цепи и вулканизира, както е при другите езици. И няма събирач на боклука, което го прави неприменим за "индийци".


--------------------
I find your lack of faith disturbing
PM
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (8) « първа ... 6 7 [8]  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2015 | BG Development | All Rights Reserved
RSS 2.0