- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
double k;
if(deviceType == "firstType"){
for(int i = 0;i < 100000;i++)
k = pow(2,10);
}
else if(deviceType == "secondType"){
for(int i = 0;i < 700000;i++)
k = pow(2,10);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+101
double k;
if(deviceType == "firstType"){
for(int i = 0;i < 100000;i++)
k = pow(2,10);
}
else if(deviceType == "secondType"){
for(int i = 0;i < 700000;i++)
k = pow(2,10);
}
Думаю этот даунизм поймут все. Маразм крепчал)
guest 25.06.2011 13:51 # +2
absolut 25.06.2011 13:53 # −3
frp 25.06.2011 16:10 # 0
absolut 25.06.2011 22:06 # +1
eclipse 25.06.2011 13:55 # 0
guest 25.06.2011 14:16 # +3
carsten 25.06.2011 18:50 # 0
Fail 25.06.2011 15:02 # +2
guest 25.06.2011 15:26 # +2
gegMOPO4 25.06.2011 18:39 # +1
guest 25.06.2011 18:51 # +7
а вот на msdn'е http://msdn.microsoft.com/en-US/library/0h227906(v=VS.80).aspx ясно написано Note that the compiler may not store two identical strings at two different addresses
guest 29.07.2011 01:03 # 0
это переводится как "Обратите внимание, компилятор не обязательно разместит две одинаковые строки по разным адресам", что никак ни удешевляет, ни подкрепляет "угу, только в стандарте ни слова ни сказано, что идинаковые строковые литералы будут иметь один и тоже адрес.", "may not" не делает никакого строгого утверждения
absolut 25.06.2011 22:09 # +3
3.14159265 25.06.2011 17:10 # −3
<hr/>
По-хорошему надо чтоб оно находило частоту процессора через rdtsc и определяло нужное число итераций.
>k = pow(2,10);
а я видел вариацию с вычислениями синуса
gegMOPO4 25.06.2011 18:42 # 0
3.14159265 25.06.2011 21:15 # 0
я ж вообще предлагаю завязать количество итераций на частоту девайса.
а насичот жабы, это так для красного словца.
guest 26.06.2011 00:11 # −1
Бывают дивайсы с переменной частотой.
3.14159265 28.06.2011 15:32 # 0
guest 28.06.2011 15:36 # −2
Не стоит отбрасывать возможность таких дивайсов, темболее что для ПК это так, поэтому rdtsc не выход.
rat4 25.06.2011 19:20 # +1
Уже есть на ARM или какие там процессоры в "иподах"?
eclipse 25.06.2011 19:26 # −2
3.14159265 25.06.2011 21:13 # 0
спасибо что просветил кеп, а то мы не знали.
>И причем здесь процессор?
в зависимости от частоты скорость исполнения будет меняться и задержка будет меняться
А она по идее должна быть постоянной.
eclipse 26.06.2011 17:24 # 0
bugmenot 27.06.2011 08:49 # +2
eclipse 28.06.2011 15:50 # −4
SmackMyBitchUp 29.06.2011 10:14 # +1
bugmenot 29.06.2011 10:57 # 0
черт, я заработался и реально не заметил
SmackMyBitchUp 29.06.2011 15:33 # 0
bugmenot 29.06.2011 10:55 # +1
SmackMyBitchUp 27.06.2011 11:50 # +1
3.14159265 28.06.2011 15:34 # +1
к сожалению я действительно не совсем понял о чем речь.
roman-kashitsyn 27.06.2011 09:02 # +1
guest 25.06.2011 17:21 # +1
gegMOPO4 25.06.2011 18:38 # +2
carsten 25.06.2011 18:48 # 0
Будет полезно, наверное, когда хочется одновременно сделать enum, но и иметь возможность вывести его имя на экран. С обычным enum нужно писать отдельную функцию для этого, с теми же самыми литералами. Так почему их не переиспользовать?
gegMOPO4 25.06.2011 19:07 # 0
Если нужны строковые энумы — ну так и заводите строковые именованные константы.
carsten 25.06.2011 19:40 # 0
gegMOPO4 25.06.2011 19:43 # +1
eclipse 25.06.2011 19:02 # +2
Tanger 26.06.2011 17:03 # −1
absolut 26.06.2011 17:11 # +2
guest 26.06.2011 17:34 # −4
absolut 26.06.2011 17:46 # +1
dosGovno 26.06.2011 18:22 # +1
Ага, особенно в системах реального времени...
absolut 26.06.2011 19:50 # −1
dosGovno 26.06.2011 20:00 # 0
Отвечает, да не настолько. Выделение памяти std::string'ом явно придёт не по душе реалтаймовой ос. std::string даже аллокаторы не позволяет заменять, не говоря уже о том, что манера выделения памяти std::string'ом нормально не ложится не на какие мемпулы.
absolut 26.06.2011 20:23 # 0
dosGovno 26.06.2011 20:31 # 0
А я говорил, что std::string не торт.
>Хотите побаловаться с аллокаторами
В реалтайм ос всегда приходится баловаться алокаторами и переводить все на пулы.
>copy-on-write
Это хорошо.
>о какой манере выделения памяти речь
1)О не возможности нормально зарезервировать нужный объём строки заранее
2)Необходима работа с неудобными непродуманными по стандарту аллокаторами.
3)Выделение памяти плохо ложится на работу с пулом, ибо нет ограничения на максимальную длину строки. Элементы пула какого размера использовать?
4)И вообще, вся эта работа с пулами для данного типа строки будет весьма нудна.
absolut 27.06.2011 09:59 # +2
Всё равно не пойму, почему вы так усердно делаете акцент на ОСРВ.
Если стоит необходимость использовать память из определенного/заранее выделенного места, это всё вполне может быть характерно для обычных задач оптимизации, совершенно далеких от "реального времени".
Lure Of Chaos 25.06.2011 16:56 # 0
ctm 27.06.2011 07:50 # 0
guest 28.06.2011 16:07 # +8
LegionDead 29.06.2011 15:38 # −4
bugmenot 29.06.2011 19:51 # 0