Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   какой ЯП больше подходит для многопоточности? (https://forum.antichat.xyz/showthread.php?t=174605)

оlbaneс 30.01.2010 02:30

какой ЯП больше подходит для многопоточности?
 
скажем к примеру спамер или типа того. на каком популярном ЯП это будет проще и дешевле сделать?

Kaimi 30.01.2010 02:41

c# наверное

razb 30.01.2010 02:48

Если собрался покупать то тут не важно на чем реализовано, а скорее важно как и под какую платформу.
Если собрался сам писать, то пиши на том что лучше знаешь и опять же зависит от платформы под какую собрался писать, я бы порекомендовал джаву или питон, а вообще дело вкуса (мб кому то на асме удобно =) ).

п.с. название темы немного некорректно ибо многопоточность реализована практически во всех ЯП и нету никакого смысла затачивать под нее определенный язык )

BrainDeaD 30.01.2010 02:51

тоже считаю c#. копай namespace Threading.

оlbaneс 30.01.2010 02:54

нет, я не писать.
мне так по отзывам казалось, что перл рулит.

Retimiled 30.01.2010 02:58

нет языка который рулит в многопоточности.... затачивали же для этого "GO" и другие типа Erlang но чегото они тяжко приживаются!

mr.The 30.01.2010 04:48

Цитата:

мне так по отзывам казалось, что перл рулит.
Цитата:

С/С++, C#, Delphi, .NET, Asm
так что перл бы тебе подсказали в другом разделе.

а тут да, c#, или (о боже!) делфи.

Tigger 30.01.2010 09:48

Цитата:

Сообщение от mr.The
так что перл бы тебе подсказали в другом разделе.

Kaimi кодит на перле, а тоже посоветовал C#.

Хотя я тоже больше за С# )

M_script_ 30.01.2010 10:20

Если интересует "проще и дешевле", то зависит только от кодера, который этим будет заниматься.

Qwazar 30.01.2010 11:47

C#, Java, для твоей цели лучше даже Java, т.к поставил на сервер (*NIX или Win - неважно), запустил и забыл.

slesh 30.01.2010 12:53

Вообще самую большую скорость тебе дадут тока те языки которые напрямую работают с функциями системы (если корректно написано всё).
Но тут уже будет всё зависеть от платформы. Если не нужна многоплатформенность то мне кажется Си тут подойдет очень хорошо.
Темболее если дело связано с сетью, то можеш не думать про язык. Потому что скорость сети полюбому меньше скорости проца. Другое дело гемор писать всё. Языки типа явы и шарпа дают тебе сразу много возможностей без лишних трудностей. Но за это ты будеш платиться скоростью.

оlbaneс 30.01.2010 12:54

Цитата:

Сообщение от mr.The
так что перл бы тебе подсказали в другом разделе.

а тут да, c#, или (о боже!) делфи.

в том же разделе и пхп ;)
интересно, что нерезус скажет. видишь какой разброс интересный получился - квазар вон яву советует. меня интересует чтобы было много, очень много потоков.

slesh 30.01.2010 13:35

2 оlbaneс а зачем тебе потоки? Если спам, то быстрее через неблокируемые сокеты делать всё. И потом для обработки ставить по 2 потока на 1 ядро проца.

Для примера. Писал софт для коннекбек прокси. который на 4-х ядернике запускал 8 потоков. И он держал > 40k коннектов одновременных больше не проверяли. При этом обеспечивал 20k потоков спама. (т.е. софт спамящий с 4-х серверов спамил в 5к потоков с каждого) И всё довольно нормально проходило. При этом всё работало под Win2k3 и прога написана на Си
Так что тут особо не нужды делать потоки. да и потоки - это зло потому что не всегда они смогут дать производительность. К томуже их ограниченное кол-во может быть. Так что ток Win2k3 норм всё давало.

Единственное что тебе подойдет так это тока:
1) небольшое кол-во потоков для работы с сетью с основой на неблокируемых сокетах
2) относительно не большое кол-во потоков для генерации пакетов отправки.
т.е. чтото типа
Потоки работы с сетью берут разлоченый пакет, отправляют его, и лочат.
А потоки генерации видя залоченный пакет генерят в нем всё и разлачивают его.
И далее по кругу. Пойдет хорошо для мыльного спама.
А те потоки которые с сетью. они смотрят - если пакет залочен, то ничего не

W!z@rD 30.01.2010 16:53

F#

ты решил подобрать ЯП для задачи?

Быть может стоит попытаться переделать задачу под тот ЯП с которым ты знаком?
Дольше будешь язык изучать нежели самой задачей.

login999 30.01.2010 17:03

Цитата:

Сообщение от slesh
2 оlbaneс а зачем тебе потоки? Если спам, то быстрее через неблокируемые сокеты делать всё. И потом для обработки ставить по 2 потока на 1 ядро проца.

Для примера. Писал софт для коннекбек прокси. который на 4-х ядернике запускал 8 потоков. И он держал > 40k коннектов одновременных больше не проверяли. При этом обеспечивал 20k потоков спама. (т.е. софт спамящий с 4-х серверов спамил в 5к потоков с каждого) И всё довольно нормально проходило. При этом всё работало под Win2k3 и прога написана на Си
Так что тут особо не нужды делать потоки. да и потоки - это зло потому что не всегда они смогут дать производительность. К томуже их ограниченное кол-во может быть. Так что ток Win2k3 норм всё давало.

Единственное что тебе подойдет так это тока:
1) небольшое кол-во потоков для работы с сетью с основой на неблокируемых сокетах
2) относительно не большое кол-во потоков для генерации пакетов отправки.
т.е. чтото типа
Потоки работы с сетью берут разлоченый пакет, отправляют его, и лочат.
А потоки генерации видя залоченный пакет генерят в нем всё и разлачивают его.
И далее по кругу. Пойдет хорошо для мыльного спама.
А те потоки которые с сетью. они смотрят - если пакет залочен, то ничего не

+1 За неблокирующиеся сокеты. Многопоточность против них (в сетевых задачах) отсасывает. Вот только один нюанс - для того чтобы НОРМАЛЬНО на них писать то и кодер нужен НОРМАЛЬНЫЙ (как минимум)...

nerezus 31.01.2010 15:47

Цитата:

интересно, что нерезус скажет. видишь какой разброс интересный получился - квазар вон яву советует. меня интересует чтобы было много, очень много потоков.
=)

Цитата:

мне так по отзывам казалось, что перл рулит.
У перла некрасиво сделано имхо с шаредами. + язык устарел.

В питоне и руби есть проблема с GIL - с одной стороны это решает часть проблем с синхронизацией, с другой неоптимально на многоядерных системах(грузит 1 ядро).
На threading несколько сотен потоков у меня было лимитом из-за этого.
Питон содержит очень хорошие вещи как twisted и cogen.

Есть варианты с Java и C#. Плохого ничего не скажу. Но кода больше по сравнению с питоном и руби.

Что касается C++, то тут все зависит от фреймворка. Либо от наличия кучи ЛИШНЕГО времени при отсутствии фреймворка.

Вариант с потоками удобнее, чем select/etc.

warkk 31.01.2010 16:39

Угу, C#

Jingo Bo 31.01.2010 23:49

Цитата:

какой ЯП больше подходит для многопоточности?
Ну раз так, то читай "Средства параллельного программирования на языке АДА":)

scrat 01.02.2010 00:28

ADA


Время: 20:37