ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

25.06.2009, 21:18
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
задание 14
Код:
char data[]={1,2,3,4,5,6};
char *mas=&data[2]; // массив начинающийся с произвольного числа ))
|
|
|

25.06.2009, 21:23
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Нене, это фэйк ))
|
|
|

25.06.2009, 22:18
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
ну блин, ведь уже написали даже - неужели трудно переписать
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

25.06.2009, 23:56
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
задание 13:
так и не понял, в чём суть
Код:
char str[100], very_long_string[] = "helllllllllooolllloollollooll";
for (int i=0; i<10000000; i++)
strcpy(str, "bytes "); strcat(str, very_long_string);
работает 5512мс, а с ":" 5544мс. Так что, если разница и есть, то только в памяти, но понятия не имею, с чего бы.
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

26.06.2009, 02:32
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
2 desTiny
Наиболее эффективно обрабатываются строки, начинающиеся с адреса, кратного четырем. Именно так компилятор размещает их в стеке и статической памяти. отсюда функция strlen(s) выполняются эффективно, а вот strlen(s+1) — не очень. Тоже самое относится и ко всем остальным функциям. Поэтому, всегда стремитесь выравнивать строки, когда это только возможно. Скажем, "strcpy(s, "bytes "); strcat(s, very_long_string);" выполняется неэффективно, но если переписать код так: "strcpy(s, "bytes: "); strcat(s, very_long_string);", то скорость его выполнения значительно возрастет, за счет того, что адрес конца строки s станет кратен 4 байтам.
|
|
|

26.06.2009, 02:46
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
очень спорно. некоторые компиляторы делают оптимизированное копирование числа байтов, кратных четырем, а остаток спокойно ифом и выбором из 3х условий - длина = 1, 2, 3. Все очень сильно зависит от компилятора и его настроек. Вот мсный компиль практически всегда дает while(*dst++ = *src++) и ему глубоко чихать на выравнивание =)
|
|
|

26.06.2009, 18:39
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
2 16
Всем желающим написать задание писать мне в ПМ или прямо сюда.
|
|
|

26.06.2009, 20:24
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
Сообщение от Fata1ex
2 desTiny
по-моему 30 миллисекунд за +миллион символов (вроде в дизасме без всяких доп. выравниваний) - это по-моему достаточно, чтобы оспорить это утверждение 
и к тому же в первом случае (если обозначить адрес начала за 0) конец на позиции 6, а во втором 7 - то есть тут вроде нет никакого выравнивания. Но если даже добавить ещё один символ - получаем 5614мс - и никакого выигрыша.
Busted 
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

26.06.2009, 21:32
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
desTiny, наверно, как и сказал Ra$cal, все зависит от реализации )
Busted 

|
|
|

28.06.2009, 21:46
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
#16 будем считать, что слеш написал решение)
утверждение l != 1 - там в один пиксель разница  Поэтому a=765437
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
[PHP] ЗАДАНИЯ от Krist_ALL
|
Krist_ALL |
PHP |
205 |
30.11.2009 18:31 |
|
Задания
|
~Fenix~ |
Болталка |
11 |
13.05.2006 11:03 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|