|
|
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
пример, имеем класс Writer: Код: plaintext 1. 2. 3. 4. 5. 6. перечисленные ф-ии имеют в принципе одинаковые тела, напр.: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. дебажу это все скуки ради, и вдруг с ужасом замечаю, что во время вывода значения типа int влетаю в Writer::Write(float)!!! начинаю верить в бога или, на худой конец, в БОЛЬШОЙ НЕИСПРАВИМЫЙ БАГ компилятора. Немного покопавшись в ассемблерном промежуточном сгенерированном коде пришел к следующему: 1. компилятор "выбросил" ф-ции, которые, на его взгляд, делают одно и тоже. Вместо 10-ти осталось 3. 2. Таблица виртуальных ф-ций класса осталась цела, но несколько ее строк ссылаются на одни и те же ф-ии. 3. Каково? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2003, 05:06 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
А мож настройка какая-то есть типа использовать только целочисленную арифметику ? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2003, 08:12 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
Ты посмотри хорошо, помоему long поставлено на int ( #define long int ) и так еще есть наверное. Так что ты просто несколько раз написал те же функции!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2003, 08:42 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
эхххх, не поверил народ, не проникся! Mik Prokoshin писал:А мож настройка какая-то есть типа использовать только целочисленную арифметику ? :-) В приведенном примере никакой арифметики. Это вывод в поток содержимого памяти по указанным адресам. Дело в том, что размер float, int, long - совпадают на I32, поэтому получили одинаковые ф-ии именно для случая I32. YuriAM писал:Ты посмотри хорошо, помоему long поставлено на int ( #define long int ) и так еще есть наверное. Так что ты просто несколько раз написал те же функции!!! я даже не знаю, что ответить. Поверь, для этого форума подобное предположение - из разряда "шедевров". удели, плиз, время 1 мин, скопируй и откомпили следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Скомпилилось? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2003, 16:07 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
а с Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2003, 16:19 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
ну и оличество же постов у вас, Дмитрий! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2003, 16:20 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
Юрий писал:а с typedef тоже не скомпилиться? не-а... он же писал:ну и оличество же постов у вас, Дмитрий! 1. комфортнее на ТЫ 2. сим постом исправляюсь! страшно было? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2003, 18:59 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
Mik Prokoshin писал:А мож настройка какая-то есть типа использовать только целочисленную арифметику ? :-) Я вообще-то про настройки компилятора... Мало ли чего могли придумать. (Сам я .NET еще не трогал, 6-м пока пробавляюсь). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2003, 13:08 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
Дело в том, что размер float, int, long - совпадают на I32, поэтому получили одинаковые ф-ии именно для случая I32. Скорее всего так оно и есть нафиг говорит я буду прыгать туда сюда , если 1.0 и 1 ничем не отличаются _____________ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2003, 14:35 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
да нет, 1 и 1.0 отличаются весьма сильно в двоичном представлении. но вот алгоритм вывода 4-байт в поток абсолютно одинаков, и не зависит от двоичного представления числа. Компилятор РАСПОЗНАЛ одинаковые алгоритмы и "склеил" их, умник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2003, 00:36 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
Да, вот это объяснение совершенно логично ! Вероятно, если добавить в функции какое-то действие (скажем, арифметическую операцию), зависящее от типа, то компилятор разделит функции. Умен, собака :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2003, 07:38 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
2vdimas Да нет то что эти числа отличаются в двоичном енто я знаю просто я неправильно выразился :)) _____________ __ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2003, 11:55 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
2 Mik Prokoshin а что это ты в стане "врага" делаешь? шпиёнишь? секреты выведываешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2003, 14:56 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
В смысле "врага" ? Колись, за что это меня во враги записал ? :-O ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 11:12 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
да нет, Дедьфийцы нам не враги, а вот мы им, похоже, да это впечатления от нескольких стычек с тигрой на разных форумах, и за что махровые Дельфийцы С++ не любят? Сишники частенько имеют опыт работы на "вражеской" технологии. А если дельфиец не имеет обоюдного опыта, то начинает производить много шума. Если по существу - признаюсь, порой провоцирую аппологетов других технологий с целью получения максимума информации. Одно досадно - на чисто технические провокации иногда отвечают совсем нетехническими постами. :) А так, ну какие мы враги? :) Относительно пекарей, например, мы очень даже коллеги, практически одно и тоже лицо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 12:56 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
Все одно потом все нолики и единички )) Большинство моих знакомых переделались на сишников... так что еще очень как любят. Одни других и так любят и эдак... и совершенно непонятно за что... вот уж поистине религиозные войны... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 13:36 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
это впечатления от нескольких стычек с тигрой на разных форумах, и за что махровые Дельфийцы С++ не любят? я махровый дельфиец(хотя может и нет) а с++ люблю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 14:27 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
я и сам около года на дельфи карябал, правда давно в 1996-м. шум бывает там, где кто-то абсолютно не знает технологии оппоннета, тогда вместо технических доводов сыпется всякое г... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 14:43 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
Дминтрий - вместо флейма лучше бы ответил в "Сравнение БД" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 14:46 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
to vdimas Ну то что у Mik Prokoshin большая часть постов на дельфовом форуме еще мало что значит. У меня тоже большинство сообщений в дельфишный форум, потому как раньше я карябал на дельфи и сейчас по доброте душевной помогаю другим. А в С++ я еще пока мало разбираюсь и потому пока в основном только читаю, набираюсь ума, так сказать. Ну иногда спрашиваю о том, что не смог найти в книжках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 09:51 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
Хе-хе, с точностью до наборот, я с VC год назад вплотную общался и подзабывать начал... А с Delphi сейчас вожусь. И собираюсь в целях повышения своей стоимости в ближайшем будущем переходить на дотнет :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 11:57 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
на дотнет пора было уже перейти давно. правда, вот существует ошибочное мнение, что это отразиться в сторону повышения на чьей-то стоимости. Чушь, как ни печально. :( Да, одно время был взрыв зарплат, т.к. спецов было мало. Теперь ЗП дотнетчиков медленно но верно падают до вполне обычных размеров. Но перейти дельфийцам на дотнет все-равно придется, хотя бы ради сохранения ЗП, которая может в ближайшей перспективе упасть. :) Что прикольно, так это, несмотря на кризис IT в штатах, ЗП С++-ников уверенно растут год-от-года. Скажем, программисту на C# предлагают 60-90, С++-нику 80-120. (это в среднем) Так что, верной дорогой идем, товарищи! (с) В.И.Л. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 18:34 |
|
||
|
чудеса оптимизации VC 7.1
|
|||
|---|---|---|---|
|
#18+
Да я в общем-то скорее ищу наиболее эффективный на некотором классе задач инструмент. Как ПМ мне тоже не мешает знать разные технологии для выбора оптимума. Ну, и как следствие, - стоимость, т.е. к-во денег, которое можно заработать... Я уж на роль кодера на чем-то конкретном не претендую, на чем скажут - на том и буду кодить :-) А вот выбирать платформу и архитектуру - это надо опыт поиметь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 10:53 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32320089&tid=2035785]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 390ms |

| 0 / 0 |
