Size: a a a

2021 January 25

S

Sergey in Modern::Perl
Два кейса - гуй и снижение латенси на udp потоке. В остальных случаях лучше сразу форкаться. Ну и винда.
источник

AS

Alexey Stavrov in Modern::Perl
Sergey
Два кейса - гуй и снижение латенси на udp потоке. В остальных случаях лучше сразу форкаться. Ну и винда.
Про латенси можно поподробней
источник

S

Sergey in Modern::Perl
С удп проблема в реконструировании потока - и с форками не получится быстро обмениваться информацией. В тцп такой проблемы нет - за нас поток реконструирует ядро, и каждый форк может независимо сделать listen.
источник

OP

Oleg Pronin in Modern::Perl
Sergey Zhmylove
Это не показатель хорошести джавы, это показатель плохости с++.
В джаве менеджед код и адреса там свои виртуальные. В результате обращение к каждому объекту через косвенную адресацию.
Самое глупое утверждение про язык. С++ ничего не делает про память, он не может быть плохим или хорошим в этом плане.
То что ява работает в 1.5 раза медленнее чем с++ придумали явисты и плюсохейтеры.
источник

AE

Alexandr Evstigneev in Modern::Perl
Alexey Stavrov
Кстати, интересно.
Есть ли какой-то паттерн (оправданный) использования тредов в перле?
у меня был тяжелый процессинг данных (каталога товаров). Я бил его на части и процессил в разных тредах чтобы раскидать по ядрам и обращениям к разным слейвам бд.
источник

W

Warstone in Modern::Perl
Sergey
С удп проблема в реконструировании потока - и с форками не получится быстро обмениваться информацией. В тцп такой проблемы нет - за нас поток реконструирует ядро, и каждый форк может независимо сделать listen.
Так вроде-бы в UDP тоже есть сокет и с ним можно в отдельном потоке/процессе работать.
источник

W

Warstone in Modern::Perl
Alexandr Evstigneev
у меня был тяжелый процессинг данных (каталога товаров). Я бил его на части и процессил в разных тредах чтобы раскидать по ядрам и обращениям к разным слейвам бд.
А если-бы ты сделал это через форк - что-нибудь поменялось-бы?
источник

AE

Alexandr Evstigneev in Modern::Perl
Warstone
А если-бы ты сделал это через форк - что-нибудь поменялось-бы?
честно говоря я не помню почему были выбраны именно треды а не форк. Может форк был дороже, может сложнее был обмен данными между процессами, чем между тредами.
источник

AE

Alexandr Evstigneev in Modern::Perl
а может просто я ошибался
источник

W

Warstone in Modern::Perl
Не помню - это достаточный аргумент для меня - если что.
источник

AE

Alexandr Evstigneev in Modern::Perl
Warstone
Не помню - это достаточный аргумент для меня - если что.
да, давно было.
источник

AK

Andrey Konovalov in Modern::Perl
Подскажите, есть ли уже пакет, умеющий генерить sub'ы в таком духе: sub json { state $json; $json //= JSON->new }
Речь не о json конкретно, с ним понятно, что переменная намного дешевле. Речь в принципе об отложенном создании объектов
источник

AK

Andrey Konovalov in Modern::Perl
Мне самому сделать элементарно конечно, но вдруг есть уже
источник

ВР

Василий Степанович Р... in Modern::Perl
Alexey Stavrov
Во-первых, в jvm это как-то работает. Магии же не бывает, они тоже в оперативной памяти как-то перетаскивают куски памяти.
Во-вторых, тут как бы не только в освобождении дело, тут ещё и в выделении проблема тоже. Представьте ситуацию, что у вас память фрагментирована на маленькие куски. Причём 20 GB пяти свободно, но вы не можете в них выделить 10MB, потому что фрагметация памяти и невозможно найти непрерывный кусок такого размера.
Сама ОС умеет эту проблему решать, т.е. когда ей надо выделить память, а у неё всё фрагментировано, она как-то умеет перемещать (только то, что возможно переместить), чтобы выделить память.
А вот если ваш язык программирования забрал всю память (к примеру 40Gb, но реально используется только 20GB) и она расположена так, что сам язык программирования не может выделть каких-то 10MB, то это по-моему проблема.
Вспоминается по этой теме приблуда memturbo из виндов 9x, которая делала дефрагментацию виндусовой памяти.
источник

ВР

Василий Степанович Р... in Modern::Perl
Alexandr Evstigneev
да, давно было.
Фразы типа "было давно" обычно завершают сочетанием пары слов - "и неправда" 😁
источник

VG

Vadim Goncharov in Modern::Perl
Alexey Stavrov
Маллоки там прямо на мьютексах сделаны? Т.е. это даже не lock-free структуры данных?
локфри запатентованы, разрешение дано только самому линуксу - ждём истечения патентов
источник

VG

Vadim Goncharov in Modern::Perl
Alexey Stavrov
В чём проблема это сделать сейчас?
в патентах
источник

AK

Andrey Konovalov in Modern::Perl
Запилил свой пакет.
источник

AK

Andrey Konovalov in Modern::Perl
источник

AK

Andrey Konovalov in Modern::Perl
Нужно было такое
источник