- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
if (strcmp(request_name, REQUEST_1) == 0)
function_1();
else if (strcmp(request_name, REQUEST_2) == 0)
function_2();
else if (strcmp(request_name, REQUEST_3) == 0)
function_3();
/* И так далее */
else if (strcmp(request_name, REQUEST_N) == 0)
function_n();
inkanus-gray 15.10.2014 11:34 # +3
http://ideone.com/lXDlZG
myaut 15.10.2014 12:07 # −1
inkanus-gray 15.10.2014 12:21 # +4
Dummy00001 15.10.2014 12:29 # +2
laMer007 16.10.2014 14:44 # +1
guest8 01.11.2020 02:54 # −999
guest8 01.11.2020 02:55 # −999
TarasB 15.10.2014 11:57 # 0
myaut 15.10.2014 12:09 # 0
inkanus-gray 15.10.2014 12:34 # −1
Soul_re@ver 15.10.2014 12:49 # +1
К тому же будет очень весело если придёт неизвестный request_name. Придётся всю остальную таблицу забивать указателями на void nop(){}
bormand 15.10.2014 12:50 # 0
myaut 15.10.2014 12:51 # +1
Табличка размером в 32 Гб (на 64-х битных архитектурах). Мсье знает толк.
myaut 15.10.2014 14:54 # +2
Другое дело, что если пользователи будут присылать некорректные запросы, будут происходить промахи, и память будет выкушиваться, что ведет потенциально к DoS.
Dummy00001 15.10.2014 17:40 # −1
mmap() не нужен. malloc()ова память на линухе (и многих *нихах) тоже ленивая. и с высокой вероятностью malloc(32GB) либц сама догадается mmap()ом сделать.
> что ведет потенциально к DoS.
по моему опыту либо ОСь либо аппликуха повалится просто (oom killer). что как бы и есть недостаток ленивого выделения физической памяти: у какого `a = b;` возврат ENOMEM не предусмотрен.
bormand 15.10.2014 18:19 # 0
Дык это и есть Denial of Service :)
Кстати, по опыту - перед падением всяко будет еще большой интервал с дикими тормозами... У меня проги, решившие сожрать много памяти, до OOM обычно не доживали. Я первым тыкал в reset, ибо ничего другого не оставалось.
myaut 15.10.2014 20:04 # −1
Не обязательно. Когда выделяется память (в Solaris по крайней мере), она резервируется в т.н. Swap Space, составленном из дискового свопа и незанятой разными невыгружаемыми вещами оперативной памяти, что позволяет гарантировать, что данные можно будет хотя бы куда-нибудь положить (и поэтому не возникает ENOMEM).
Другое дело, что когда все 32 Гб начинают активно использоваться, разница в скорости обращения к диску и памяти начинает сказыватся. Кроме того, начинают включатся всякие механизмы троттлинга выделения страниц.
В нашем случае скорее всего все некорректные страницы памяти (не содержащие корректные jump_table[CRC32(request_name)]) скорее всего вытеснятся на диск, и DoS может и не случится :)
myaut 16.10.2014 14:38 # 0
Так что все что нужно - это 32 Гб своп-файл.
laMer007 16.10.2014 14:47 # 0
И мне про троллинг страниц вконтакте расскажите.
TarasB 16.10.2014 16:20 # +4
inkanus-gray 16.10.2014 16:27 # 0
bormand 16.10.2014 16:51 # +1
Но нет, M$ как всегда запороло хорошую задумку - менюха для вызова диспетчера на отдельном столе, а сам диспетчер - на обычном. Из-за чего он почти бесполезен.
laMer007 16.10.2014 17:10 # +1
Ctrl+Shift+F1 c anvir, что бывает побыстрее
inkanus-gray 16.10.2014 17:12 # +1
TarasB 16.10.2014 18:33 # +1
inkanus-gray 17.10.2014 00:26 # +1
После того, как Хром сожрал все ресурсы, стала тормозить даже мышь. Нажал Ctrl+Shift+Esc — окно появилось минут через десять. Сначала боролся с процессами Хрома, как с головами Гидры, но в итоге всё свелось к...
3.14159265 17.10.2014 12:16 # +3
Прям следствие закона Мура какое-то.
TarasB 17.10.2014 13:13 # +2
3.14159265 17.10.2014 13:25 # +2
А там может и вправду пидарасы. Вот думаю даже не оскорбительно как-то получается.
inkanus-gray 17.10.2014 14:40 # +2
TarasB 16.10.2014 18:33 # +2
MAKAKA 30.10.2020 22:52 # 0
Теоретически ты можешь запустить powershell и там Stop-Process, но это всё равно жутко томрозит, и вероятно там не джинтуный .net внутри
Правильное решение это как в никсах-иксах: CTRL+ALT+FN переносит тебя на виртуальную косноль с запущенным на ней виртуальным терминалом.
Написать там kill стоит в миллион раз меньше ресурсов, чем ебля с гуем и кнопочками
bormand 16.10.2014 16:56 # 0
В линухе, на самом деле, еще хуже. В винде я обычно всё же умудрялся убить процесс. В линухе же почти всегда working set > physical memory = мучительная смерть. Даже при 8 гигах оперативы.
inkanus-gray 16.10.2014 16:59 # 0
bormand 16.10.2014 17:02 # 0
P.S. Кстати, вот то ли у меня руки такие кривые, то ли в ядре нет нормального планировщика i/o... Кучу манов и советов перечитал, но i/o лаги во время копирования больших файлов так и не удалось устранить.
1024-- 16.10.2014 17:21 # 0
3.14159265 16.10.2014 17:33 # 0
Страйкер потом потрёт, и всё.
1024-- 16.10.2014 18:02 # 0
Вот "Посоны, я запилил бесконечный сток" надо вынести в отдельный тред и попросить Люра поставить ему +1000.
Vasiliy 16.10.2014 19:17 # 0
1024-- 16.10.2014 19:21 # 0
Нельзя просто так взять и узнать, что там что-то изменилось. Возможно, это одна из причин, по которой туда не пишут.
1024-- 16.10.2014 19:27 # 0
Vasiliy 17.10.2014 18:33 # +2
guest 17.10.2014 20:20 # −2
TarasB 17.10.2014 13:29 # +3
inkanus-gray 17.10.2014 14:50 # 0
Я на цыпочках, как вор,
Пробираюсь, чуть дыша,
Чтобы не спугнуть
Тех, кто спит уже давно,
Тех, кому не всё равно,
В чью я комнату тайком
Желаю заглянуть,
Чтобы увидеть,
Как бессонница в час ночной
Меняет, нелюдимая, облик твой...
Что там нарушил 1024--?
TarasB 17.10.2014 15:01 # 0
3.14159265 17.10.2014 15:38 # 0
А если ИСКЛЮЧЕНИЕ из правила?
3.14159265 17.10.2014 21:25 # +2
text-decoration:underline; text-decoration:line-through;
Ну вы поняли.
1024-- 17.10.2014 21:39 # 0
inkanus-gray 17.10.2014 21:39 # 0
bormand 01.11.2020 00:01 # 0
gost 01.11.2020 08:17 # 0
MAKAKA 30.10.2020 22:53 # 0
1024-- 16.10.2014 17:12 # 0
Но с тех пор памяти у меня стало в 16 раз больше. А файл подкачки на SSD. И потревожит тут только большой х** на весь экран, а диспетчер задач открывается даже, если процессор полностью занят (не знаю, это заслуги новой винды или у процессоров теперь ещё есть ресурсы при формальной 100% загрузке).
inkanus-gray 16.10.2014 18:45 # +3
guest8 01.11.2020 03:04 # −999
Dummy00001 15.10.2014 17:44 # +2
TarasB 15.10.2014 16:46 # 0
inkanus-gray 15.10.2014 17:18 # −1
1. Столкновение с известным значением параметра. Это можно предусмотреть ещё на этапе разработки, сделав ветвление для того значения хеша, которому соответствуют несколько допустимых значений параметра.
2. Столкновение с неизвестным значением. Если нужно отфильтровать и такие случаи, то с этим ничего не поделать, придётся на входе в каждую функцию проверять значение параметра на точное совпадение с ожидаемым.
guest8 01.11.2020 00:49 # −999
Dummy00001 15.10.2014 12:21 # +1
roman-kashitsyn 15.10.2014 12:51 # +1
guest8 30.10.2020 22:42 # −999
guest 15.10.2014 12:11 # +1
inkanus-gray 15.10.2014 12:26 # −1
Arbatan_Pokrovan 30.10.2020 19:48 # 0
CHayT 30.10.2020 20:07 # +6
MAKAKA 30.10.2020 22:36 # 0
В школе изучают паскаль, я сам про такое слышал
Arbatan_Pokrovan 30.10.2020 22:37 # 0
guest8 30.10.2020 22:39 # −999
Dummy00001 15.10.2014 12:55 # 0
roman-kashitsyn 15.10.2014 14:30 # 0
bormand 15.10.2014 15:50 # 0
roman-kashitsyn 15.10.2014 16:05 # +2
inkanus-gray 15.10.2014 17:15 # −1
roman-kashitsyn 15.10.2014 17:21 # −2
j123123 30.10.2020 20:14 # 0
guest8 30.10.2020 20:17 # −999
j123123 30.10.2020 20:20 # 0
guest8 30.10.2020 21:44 # −999
OCEHHuu_nemyx 30.10.2020 21:46 # 0
Не купайте в Неве ноги,
В ней разводятся миноги.
Fike 30.10.2020 21:48 # 0
guest8 30.10.2020 21:50 # −999
OCEHHuu_nemyx 30.10.2020 22:06 # 0
MAKAKA 30.10.2020 22:23 # +1
https://lenta.ru/articles/2019/11/12/dotsent/
Пока судят Соколова: двое петербуржцев за неделю расчленили возлюбленных
https://moika78.ru/news/2020-07-30/454284-poka-sudyat-sokolova-dvoe-peterburzhtsev-za-nedelyu-raschlenili-vozlyublennyh/
В Санкт-Петербурге мужчина убил и расчленил коллегу
https://lenta.ru/news/2020/10/13/spb/
В Санкт-Петербурге актер убил и расчленил транссексуала из Таджикистана
https://www.spb.kp.ru/daily/217185/4291787/
Кровавая драма в «положительной» молодой семье. Почему петербуржец расчленил супругу
https://360tv.ru/news/tekst/peterburzhets-raschlenil/
Пять пакетов: звезду «Версуса» расчленили в Петербурге
Расчлененный труп украинского рэпера Энди Картрайта обнаружили в Санкт-Петербурге. По информации СМИ, звезда «Версуса» скончался от передозировки, после чего его жена, не хотевшая «бесславной смерти» артиста, расчленила его тело, чтобы он «просто исчез».
https://www.gazeta.ru/culture/2020/07/30/a_13170157.shtml
bootcamp_dropout 30.10.2020 22:31 # 0
guest8 30.10.2020 22:32 # −999
bootcamp_dropout 30.10.2020 22:35 # 0
Fike 31.10.2020 23:52 # 0
guest8 31.10.2020 23:54 # −999
guest8 01.11.2020 00:00 # −999
Fike 01.11.2020 00:08 # 0
guest8 01.11.2020 00:09 # −999
guest8 01.11.2020 00:14 # −999
guest8 01.11.2020 00:14 # −999
guest8 01.11.2020 00:28 # −999
guest8 01.11.2020 00:38 # −999
guest8 30.10.2020 21:50 # −999
guest8 30.10.2020 21:57 # −999
guest8 30.10.2020 21:58 # −999
AkyJlA 31.10.2020 07:53 # +2
roskomgovno 29.05.2018 17:49 # 0
Arbatan_Pokrovan 30.10.2020 22:38 # 0
OCEHHuu_nemyx 30.10.2020 23:49 # 0
Xom94ok 15.10.2014 18:22 # −1
Если разные - положить болт, пока профайлер не начнет кудахать.
666_N33D135 29.05.2018 15:07 # 0
anonimb84a2f6fd141 15.10.2014 21:28 # −6
laMer007 16.10.2014 14:43 # 0
3.14159265 16.10.2014 14:48 # +1
laMer007 16.10.2014 14:51 # 0
> без шаблонов оно не то.
А главное без лямбд. Написать свои правда с gnu экстеншен можно
3.14159265 16.10.2014 14:58 # 0
Так это извечный срач. Одни любят динамически типизируемые языки, другие - нет.
>А главное без лямбд.
Невелика потеря. Указатели на фукнцию.
Ведь это очень старый приём, например для сортировки возвращать указатель на функцию-компаратор.
laMer007 16.10.2014 15:00 # +1
Эм, принимать вы хотели сказать?
Arbatan_Pokrovan 01.11.2020 00:42 # 0
guest8 01.11.2020 02:34 # −999
laMer007 16.10.2014 14:58 # 0
глиб - монструозный буст из гнома, в основном системные фичи (он под винду хоть работает?)
laMer007 16.10.2014 15:12 # +1
ах глисты вы мои глисты растянулись на пол версты
guest 16.10.2014 14:51 # −6
roman-kashitsyn 16.10.2014 14:56 # +4
laMer007 16.10.2014 15:01 # 0
но круто.
3.14159265 16.10.2014 15:18 # +2
Но мне кажется исключения и все остальные полезные фичи в крестах будут работать быстрее. Ибо тут препроцессор, а сколько говна он добавит одному бусту богу известно.
inkanus-gray 16.10.2014 16:31 # +2
Soul_re@ver 16.10.2014 16:41 # +4
Ты это, поосторожнее. А то сегодня бугурт, а завтра создаёшь ещё один язык в дополнение к крестам, obj-C, Swift...
laMer007 16.10.2014 17:55 # 0
guest8 01.11.2020 03:02 # −999
3.14159265 17.10.2014 21:46 # +1
inkanus-gray 17.10.2014 22:05 # +2
inkanus-gray 17.10.2014 22:13 # 0
3.14159265 17.10.2014 22:17 # +1
Хе-хе. Так в социальных сетях где нет разметки делают.
Тест скрипта.
>А⃤ я⃤ е⃤щ⃤ё⃤ т⃤а⃤к⃤ м⃤о⃤г⃤у⃤
Вот это у меня не показывает нормально.
inkanus-gray 17.10.2014 22:23 # 0
1024-- 17.10.2014 22:35 # 0
1024-- 17.10.2014 22:18 # +5
3.14159265 17.10.2014 22:19 # 0
Сделал мой вечер.Я думал об таком когда-то.
inkanus-gray 17.10.2014 22:30 # +1
3.14159265 17.10.2014 23:21 # +1
Кстати говорят недавно запустили Goatse Coin. Конардо на пути к мировому господству.
1024-- 17.10.2014 23:28 # 0
1024-- 18.10.2014 00:54 # 0
1024-- 18.10.2014 10:26 # 0
// Требует функции из комментария выше.
3.14159265 18.10.2014 12:31 # +1
guest 18.10.2014 13:39 # −1
Да, и в носу не ковыряй - плохая примета ;)
guest 18.10.2014 20:26 # 0
guest 18.10.2014 20:45 # −1
guest 18.10.2014 21:01 # −1
inkanus-gray 19.10.2014 17:48 # 0
http://news.yandex.ru/yandsearch?cl4url=ria.ru%2Fworld%2F20141019%2F1029037869.html
guest8 01.11.2020 01:00 # −999
Arbatan_Pokrovan 30.10.2020 22:39 # 0
guest8 01.11.2020 00:52 # −999
guest8 01.11.2020 00:54 # −999
guest8 01.11.2020 00:55 # −999
guest8 01.11.2020 01:01 # −999
guest8 01.11.2020 01:07 # −999
guest8 01.11.2020 01:08 # −999