LINUX.ORG.RU

Царю про 10к в надежде перевести дискуссию в конструктив

 ,


11

10

Я не думаю, что кого-то можно впечатлить принципиальной возможностью запустить 10к потоков для обслуживания клиентов. Когда говорят про встанет раком, имеют в виду неоправданную потерю производительности.

Если ты готов померять реальный перформанс, пиши, я налабаю на еполле аналоги твоих тестовых серверов, чтобы не ты один тратил своё время. Меня например больше в всего в контексте этого спора интересует, как поведёт себя сервер с 10к потоков например на 4 ядрах против еполльного на одном таком же ядре, в вариантах без локов и с.

Результаты исследования можешь запостить на ЛОРе и восстановить честь среди пятизвездочных 😝

Начало дискуссии где-то рядом в удаленных по инициативе какого-то наркомана.

PS скорее всего я отвечу не раньше ночи или следующего утра.

★★★★★
Ответ на: комментарий от anonymous

Но это будет не раньше чем в следующем году, когда я доделаю то, что с этим связано.

Тут планируется что-то эпичное, однако.

anonymous
()
Ответ на: комментарий от anonymous

Дальше что?

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

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

Царь, прими таблетки. Ты заявил:

А не ты ли балаболил, что «где код» и прочее?

А еще до этого:

Ты будешь писать «правильный» бенчмарк, который меряет то, что нужно?

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

Какую хрень ты еще высрешь?

eao197 ★★★★★
()
Ответ на: комментарий от anonymous

Ну будет меньше библиотек работы с протоколом и чо?

Чё? Я не понимаю что ты пишешь и к чему.

И много народу пишут HTTP напрямую, а не через модную супер-библиотечку? И как часто используется что-то, отличное от GET и POST?

Не знаю, но думаю не мало. Да и не важно кто там что пишет - эти библиотечки пишут такие же анскиллы, которые никакой вменяемый протокол просто не осилят.

Хотя, конечно, не понимаю почему нельзя прозрачно перейти с этого дерьма в тех же броузерах. Реализуешь нормальный протокол с трансляцией в хттп на уровне броузера - всё. Полная обратная совместимость.

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

Реализуй нормальные сокеты, а после поверх этого уже накручиваешь хттп, вебсокеты, вебртц и прочее. Полная обратная совместимость и никаких проблем.

Это наверное слишком сложно для пацанов.

Легаси. Думаешь, что при создании HTTP кто-то предполагал, что для одной сраной страницы может выполняться сотня запросов и ещё дохрена после её загрузки? (А ещё что кто-то будет использовать язык разметки документов для построения интерфейсов, но это совсем клиника.)

Тут дело не совсем в этом. Такое у божество мог придумать явно очень одарённый персонаж. Тут дело не в том чем он стал, а чем он был и кем надо быть, чтобы подобное родить.

anonymous
()
Ответ на: комментарий от anonymous

Хттп мне не нужно, пхп мне не нужно. Если хочешь, чтобы я написал «как писать вебчик без этого дерьма» - я когда-нибудь напишу. Я хотел об этом написать итак. Но это будет не раньше чем в следующем году, когда я доделаю то, что с этим связано.

Угу, с нетерпением ожидаем разработку, которая перевернёт весь мир)

Gargamel
()
Ответ на: комментарий от eao197

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

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

А еще до этого:

«Я имел ввиду то», что ты болтал раньше, требуя от меня код, как пруф моих слов. На этом основании я требую его с тебя.

я бы обещал что-то написать в рамках данной темы

А я где-то разве писал, что ты требовал от меня что-то в РАМКАХ ЭТОЙ ТЕМЫ? Нет. Это ты сам придумал.

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

anonymous
()
Ответ на: комментарий от pftBest

, то кто тогда статику отдает? тоже php?

Статика не особо имеет отношения к «обработке данных» о которых болтают персонажи выше. Там не нужна особо и реализация хттп.

Им подавай обработку, а обработка в нгинксе - только пхп, в 99% случаев.

anonymous
()
Ответ на: комментарий от anonymous

А я где-то разве писал, что ты требовал от меня что-то в РАМКАХ ЭТОЙ ТЕМЫ? Нет. Это ты сам придумал.

Так ты от меня хочешь код вообще, безотносительно этой темы?

Как же тогда относиться вот к этому:

Ты будешь писать «правильный» бенчмарк, который меряет то, что нужно?

Неужели тебе нужен от меня бенчмарк, который к ЭТОЙ теме не имеет отношения?

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Так ты от меня хочешь код вообще, безотносительно этой темы?

Код я хочу в рамках этой темы, а основание для требования - это твои требования того же в предыдущих темах. Либо у тебя есть право с меня что-то требовать, а у меня нет?

Неужели тебе нужен от меня бенчмарк, который к ЭТОЙ теме не имеет отношения?

Пощади меня, пожалуйста. Это выглядит так глупо. Ты действительно и серьёзно пытаешься мне это писать? О боже.

Ни из чего не следует то, что мне нужен «который к ЭТОЙ теме не имеет отношения» - ты спрашивал не про тему бенчмарка, а про основания мои для требования его с тебя.

Ты начал пытаться плыть в сторону «в этой теме я не писал», но ты писал в другой. Выше я уже задал вопрос по этому поводу.

Ты это понимаешь?

anonymous
()
Ответ на: комментарий от makoven

Оно на Rust

Ты не видел эпичных баталий по расту? Упоминать его в мой адрес равносильно харчку мне в лицо. Спасибо.

2k18 писать на си - будут странно смотреть

Си язык для написания программ - в нём нет средств построения интерфейсов. В данном случае задача требует построения интерфейса - он, собственно, её лицо. Именно поэтому это кресты.

anonymous
()
Ответ на: комментарий от anonymous

Это рантайм дерьмо. Мне оно не нужно. Я же писал про возможности языка, зачем ты мне пишешь про левые сущности? Ты умеешь отличать язык от куска кода написанного на языке? В си то же есть strcat, что дальше?

Нельзя просто так взять и отделить язык от его стандартной библиотеки. std::string вовсе не левая сущность - это строка, в отличии от массива символов в Си. Чтобы изменилось, если бы тип string был самой частью языка? По сути, НИЧЕГО, с ним можно было бы точно также работать. Вообще, без этого «рантайм дерьма» С++ был бы бесполезен.

Gargamel
()
Ответ на: комментарий от anonymous

Упоминать его в мой адрес равносильно харчку мне в лицо

А мне норм

makoven ★★★★★
()
Ответ на: комментарий от anonymous

Ты не видел эпичных баталий по расту? Упоминать его в мой адрес равносильно харчку мне в лицо. Спасибо.

Где между прочим ты первый начал с заявления что он «деградирует окружающий мир» а на вопрос почему рассказывал истории про школьников которых обманывают

pftBest ★★★★
()
Ответ на: комментарий от anonymous

В данном случае задача требует построения интерфейса - он, собственно, её лицо. Именно поэтому это кресты.

Лол :-) Надеюсь, ты не будешь делать это в стиле «ехал pimpl через pimpl, pimpl pimpl'ом погонял» :-) А это модно в современном цепепе по совету экспертов :-) Лол :-) Это когда в классе есть pimpl, в котором есть pimpl, в котором есть pimpl :-) Лол :-)

anonymous
()
Ответ на: комментарий от Gargamel

Ты не понимаешь ничего из того, о чём пытаешься рассуждать.

Нельзя просто так взять и отделить язык от его стандартной библиотеки. std::string вовсе не левая сущность

Можно. И нужно. Ты же там выше говорил о преимуществе С++ - лоулевел? Дак вот, в лоулевел твои стринги никому не упали. Ты используешь С++ как жабку и представление о теме у тебя те же.

Как там с «» + str? Норм живётся? Правильно - это сишка, а твоя строка просто очередной strcat.

Чтобы изменилось, если бы тип string был самой частью языка?

Причём тут часть языка? Тебе об этом никто не говорил.

Я тебе уже писал, что даст уход от «обёртки над си». И ты это сам помёшь, если осилишь С++ не как жабку, либо пхп, а как С++.

https://godbolt.org/g/FEBt5i - вот типичный пример - как надо жопу рвать, чтобы обойти ограничения «обёртки над сишкой». Почему? Потому что строковые литералы нихрена не строки.

Мне бесполезно тебе что-то объяснять, если твоё представление о языке недостаточно для понимания той темы, которую поднимаю я.

По сути, НИЧЕГО, с ним можно было бы точно также работать. Вообще, без этого «рантайм дерьма» С++ был бы бесполезен.

Неверно. С 90% лоулевел проектов никакой крестовый рантайм нахрен никому не упал, точно так же как и в сишке.

anonymous
()
Ответ на: комментарий от anonymous

Чё? Я не понимаю что ты пишешь и к чему.

Библиотеки будут писать те, кто хоть немного осилил протокол.

anonymous
()
Ответ на: комментарий от Gargamel

std::string вовсе не левая сущность - это строка, в отличии от

массива символов в Си.

в отличии от массива символов в Си

Вообще-то байт, а не символов. Мы же в мире победившего unicode, да?

Что такого делает std::string, что превращает его не в массив байт?

RazrFalcon ★★★★★
()
Ответ на: комментарий от anonymous

Если интересуют вычисления во время компиляции, то есть интересный прототип языка в котором constexpr не прикручен сбоку изолентой, а является основной фишкой:

http://andrewkelley.me/post/zig-programming-language-blurs-line-compile-time-...

pftBest ★★★★
()
Ответ на: комментарий от eao197

Да всё ты понимаешь. Что вами движет в вашей невменяемости? Вы же не идиоты, но я как-то на вас странно влияю.

Понимаешь, я не против тебе показать код, написать, разобрать всё. Если ты действительно хочешь что-то понять, либо разобраться, либо объяснить мне. Почему постоянно надо заниматься этой невменяемой вакханалией?

Да, я не особо вменяем когда я вижу чью-то глупость. Мне кажется, а скорее оно так и есть, что вы делаете это специально. И на это регаировать я могу только одни образом - пренебрежением.

Ты действительно не понимаешь в чём твоя проблема? Ты утверждаешь, что обработка на что-то влияет. Ты попытался хотя бы привести хоть одну причину почему это будет так? Ты выдумал какую-то хрень с «будет много перключений», но это не ответ. Ведь ты не ответил на вопрос - ты лишь задал новый. И теперь ты уже должен объяснить - почему же будет много переключений.

Ты просто манипулируешь. Возможно ты этого не замечаешь. Я тебе уже привёл пример. «телега края - она хуже» - тебя просили «почему? Как цвет связан с хуже?». Ты отвечаешь «ну дак кривые кривые колёса - это явно хуже!» и на все мои вопросы ты продолжаешь отвечать «ты что споришь с тем, что кривые колёса хуже?».

Но ведь ты сделал логическую ошибку. Ты ответил на вопрос - почему хуже, но ты не связал его с начальным условием. Теперь возникает такой же вопрос - как связан цвет с кривизною колёс. И ты это игнорируешь.

Да, я вас путаю. Я привык, что вы постоянно это делаете и я уже не обращаю особо на это внимание и начинаю опровергать уже «кривые колёса - плохо едет». Ведь зачастую и это оказывается неправдой.

Таким образом вы придумываете всё новые и новые темы, а каждую из них опровергаю. Это такая играя. Я уже потерял надежду на вашу вменяемость.

anonymous
()
Ответ на: комментарий от RazrFalcon

Что такого делает std::string, что превращает его не в массив байт?

Ну конструктор, авторесайз, куча переопределенных операторов, а в остальном да тот же массив

Silerus ★★★★
()
Ответ на: комментарий от Silerus

Ну конструктор, авторесайз, куча переопределенных операторов

Ок. Чем std::string отличается от std::vector? О строках он ничего не знает. Всё отличие в возможности задать внутренние представление, типа wchar, char32_t и тд.

RazrFalcon ★★★★★
()
Ответ на: комментарий от anonymous

Библиотеки будут писать те, кто хоть немного осилил протокол.

А с чего ты взял, что они осилят другой протокол? Не осилят. Я гарантирую это. У них там жсончик головного мозга.

anonymous
()
Ответ на: комментарий от anonymous

Царь, сделай доброе дело: когда приписываешь мне какие-то слова, то давай ссылки и приводи точные цитаты. А то у тебя каша в голове и доверять тому, что ты правильно пересказываешь слова собеседника нельзя в принципе.

PS. Цитаты из этой темы, плиз.

eao197 ★★★★★
()
Ответ на: комментарий от RazrFalcon

только тем что вектор для разных форм, а стринг только байты. И не уверен, но вроде два вектора нельзя сравнить (утверждать не берусь надо посмотреть ), можно ли с вектором так делать vec1==vec2? vect1<vec2 ну и тд

Silerus ★★★★
()
Ответ на: комментарий от pftBest
const io = @import("std").io;

const a_number: i32 = 1234;
const a_string = "foobar";

pub fn main(args: [][]u8) -> %void {
    %%io.stderr.printf("here is a string: '{}' here is a number: {}\n", a_string, a_number);
}

Т.е. это по твоему язык? Альтернатива крестам? Хорошо. Не буду с тобою спорить. Я не буду писать то, что я нём и его родителе думаю. Буду культурен.

anonymous
()
Ответ на: комментарий от anonymous

тут где-то ты сказал типа «хочешь хорошо - пиши стек tcp без сокетов». реально интересно - как это. растолкуешь ламеру?

conalex ★★★
()
Ответ на: комментарий от RazrFalcon

Чем std::string отличается от std::vector?

Лол :-) string - это typedef шаблона basic_string для char, а vector - это шаблон :-) Ты же считаешься тут хорошим программистом, причём, цепепе программистом, а такие вещи сравниваешь :-) Лол :-)

anonymous
()
Ответ на: комментарий от anonymous

string - это typedef шаблона basic_string для char, а vector - это шаблон

Спасибо что открыли Америку. Тем не менее, с точки зрения пользователя, а не потрохов, разницы у них почти нету. Да и чисто строковых функций у std::string тоже кот наплакал.

Ты же считаешься тут хорошим программистом

По мнению eao197 - нет. Сам я себя хорошим программистом тоже не считаю. Или это похвала?

RazrFalcon ★★★★★
()
Последнее исправление: RazrFalcon (всего исправлений: 2)
Ответ на: комментарий от RazrFalcon

Ноль-символа в хвосте не будет :) std::string как раз отличается тем, что приходится дополнительный байт (wchar_t) держать в конце.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Доу! Не быть мне программистом. О такой мелочи забыл. Привык, что во многих языках нету \0. Да и в QString тоже.

RazrFalcon ★★★★★
()
Ответ на: комментарий от eao197

Царь, сделай доброе дело: когда приписываешь мне какие-то слова

Дай цитату тех слов, с припиской к тебе которых ты не согласен. Я тебе покажу откуда они.

А то у тебя каша в голове и доверять тому, что ты правильно пересказываешь слова собеседника нельзя в принципе.

Я чёт подобрел. Ладно. Если ты хочешь разобраться в теме - ты можешь написать вменяемый пример того, что является «соотносимой с реальностью обработкой». Естественно всё это должно реализовывать за полчаса.

Далее я тебе уже могу показать что и как работает. Ты можешь сам реализовать тем способом, которым ты считаешь верным. Я не буду даже придираться к нему и если чё перепишу его.

Мы всё можем померить и во всём разобраться.

anonymous
()
Ответ на: комментарий от anonymous

А с чего ты взял, что они осилят другой протокол? Не осилят. Я гарантирую это. У них там жсончик головного мозга.

Ты это о чём вообще? Зачем им его вообще осиливать, если он скрыт под абстракциями?

anonymous
()
Ответ на: комментарий от RazrFalcon

Спасибо что открыли Америку.

Это не мне спасибо :-) Я лишь ответил на твой вопрос в чём отличие string от vector :-)

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

Кто такой пользователь? :-) Я - пользователь :-) Для меня разница огромная :-) string оптимизирован для маленьких строк (до 16 байт в g++) и не выделяет память из кучи для оных, в отличии от vector :-)

#include <string>
#include <vector>

int main()
{
  std::vector<char> v('a'); // memory allocation here
  std::string s{'a'}; // no allocation here
}

По мнению eao197 - нет. Сам я себя хорошим программистом тоже не считаю. Или это похвала?

Это же надо, мнение eao197 :-) Лол :-) Ну ты такой нормальный прогер :-)

anonymous
()
Ответ на: комментарий от anonymous

Дай цитату тех слов, с припиской к тебе которых ты не согласен.

Ну хотя бы вот это: Царю про 10к в надежде перевести дискуссию в конструктив (комментарий)

Ты там приписал мне туеву хучу всего. Теперь подтверждай цитатами и ссылками.

Вперед.

eao197 ★★★★★
()
Ответ на: комментарий от Silerus

можно ли с вектором так делать vec1==vec2?

Почему бы и нет.

vect1<vec2

Ну такая фишка вообще опасная. Ибо хз умеет ли std::string в locale-aware compare.

RazrFalcon ★★★★★
()
Ответ на: комментарий от anonymous

string оптимизирован для маленьких строк (до 16 байт в g++)

Это понятно. Но 8 wchar как-то мало кому нужны, слишком мало. И это только на x86_64, если не ошибаюсь, ибо там placeholder от длины указателя зависит.

RazrFalcon ★★★★★
()
Последнее исправление: RazrFalcon (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

Ах, да, vector ещё и своей причудой отличается :-) В этом ущербность цепепе, кстати, что позволяет делать такие ошибки :-) Пример, что выше, он такой:

#include <string>
#include <vector>

int main()
{
  std::vector<char> v(1, 'a'); // memory allocation here
  std::string s{'a'}; // no allocation here
}
Но это же цепепе :-) Зато там в unique_ptr метод get(), а то вдруг программист ошибётся :-) А то, что vector<char>('a') создаёт вектор из int('a') элементов без варнинга - это норма :-) Хороший язык, чо :-) Лол :-)

anonymous
()
Ответ на: комментарий от anonymous

Кто такой пользователь?

Тот, кому нужны такие банальные вещи как: to_upper, to_lower, trim, split, substring, start_with, end_with, contains. И что бы это не только с ascii работало.

RazrFalcon ★★★★★
()
Ответ на: комментарий от RazrFalcon

со стрингами так делать можно вот пример из cppreference

// string comparisons
#include <iostream>
#include <vector>

int main ()
{
  std::string foo = "alpha";
  std::string bar = "beta";

  if (foo==bar) std::cout << "foo and bar are equal\n";
  if (foo!=bar) std::cout << "foo and bar are not equal\n";
  if (foo< bar) std::cout << "foo is less than bar\n";
  if (foo> bar) std::cout << "foo is greater than bar\n";
  if (foo<=bar) std::cout << "foo is less than or equal to bar\n";
  if (foo>=bar) std::cout << "foo is greater than or equal to bar\n";

  return 0;
}

И свектором кстати тоже свмое можно сделать

Silerus ★★★★
()
Последнее исправление: Silerus (всего исправлений: 1)
Ответ на: комментарий от anonymous

Зачем им его вообще осиливать, если он скрыт под абстракциями?

Как получить данные по http в node.js

1. Ставим request.js

~$ npm instal request
# скачивается 62 пакета..
~$ du -hs node_modules
7.2M	node_modules

2.

request('http://google.com/doodle.png')

makoven ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.