Re[20]: cppcms
От: Sheridan Россия  
Дата: 23.09.14 17:42
Оценка:
Здравствуйте, Privalov, Вы писали:

S>>То есть запускаю на десктопе десятилетней давности и всё летает?

P>Наше приложение на десктопах 7-летней давности идет без тормозов. И в нем на C/C++ от силы сотня строк.

В качестве сервера — десктоп 7летней давности?
Matrix has you...
Re[26]: cppcms
От: artelk  
Дата: 23.09.14 17:42
Оценка:
Здравствуйте, genre, Вы писали:

G>Здравствуйте, Sheridan, Вы писали:


S>>Ну так масштабировать надо узкие места. Как правило это БД. При огромном числе запросов, когда начнут кончаться сокеты — пишется балансер, если один из существующих не подходит. Будет необходимость — разберусь. Ранняя оптимизация, знаешь ли, вредна


G>В БД ты не упрешься. Ну если не будешь (надеюсь) писать логику на SQL. А вот что ты планируешь делать если упрешься в процессор?


Намного раньше он упрется в количество потоков (при чем, ждущих завершения IO операций 99,9% времени) — т.е. даже вертикального масштабирования нет.
Решение: асинхронные IO операции (т.е. IOCP или epoll), что, в случае плюсов, означает взрыв на макаронной фабрике из колбэков.
Boost.coroutine не предлагать — оно однопоточное.
Re[4]: cppcms
От: Ops Россия  
Дата: 23.09.14 18:02
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

ХГД>>А где там про "больше телодвижений"?


KV>Отсюда и до конца страницы.


"booster::"
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[21]: cppcms
От: Privalov  
Дата: 23.09.14 18:14
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>В качестве сервера — десктоп 7летней давности?


Не, сейчас мы работаем над клиентским приложением. Но с точки зрения C++ какое это имеет значение? В прошлом проекте мы работали над серверным приложением. Примерно 50 метров на Java и пара сотен строк C/C++ — JNI и одна маленькая утилитка. И ничего не тормозило. Сервера — ничего выдающегося.
Re[23]: cppcms
От: Privalov  
Дата: 23.09.14 18:17
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Я еще время на ingress и eve online нахожу


Лучше бы книжек о разработке почитал. Правда, в этом случае не было бы, скорее всего, этой ветки в форуме.

S>А задача нужная. Но не так чтобы "должно быть готово вчера", а "между делом сделай".


Через пару-другую лет прототип будет?
Re[25]: cppcms
От: . Великобритания  
Дата: 23.09.14 18:19
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>>> Но мне она не нужна. Лишняя прослойка между данными и результатом.

НС>>Ты просто не понимаешь как работает LINQ. Никакой проклейки нет — модель, при желании, может служить строго источником метаданных. linq2db даже умеет в качестве модели использовать интерфейсы, экземпляр которых невозможно создать в принципе.
S>Да всё равно это лишняя прослойка. Запрос к БД любой сложности я и сам в состоянии составить, прооптимизировать при возможности (и запрос и БД под запрос если надо) и потом воспользоваться данными.
Веселуха начинается когда строишь сложный фильтр. Например, 10 опциональных параметров, притом некоторые с множественным выбором (например, выбор по нескольким городам). Либо запрос будет жутко неэффективный (параметер вполне может данные из джойнов брать), либо придётся рисовать 2^10=1024 запроса, либо конкатенировать хитровывернутым способом строчку и долго-долго отлаживать.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[27]: cppcms
От: Privalov  
Дата: 23.09.14 18:22
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>>> — пишется балансер, если один из существующих не подходит.

НС>>Ты не понимаешь о чем говоришь.
S>Будь уверен — столкнусь с проблемой — разберусь.

А система в это время будет стоять? Это значит, контора будет терпеть убытки?
Говорят, в Японии сисадмин получает зарплату, бонусы и прочие плюшки, пока у него все работает. А как только встречает проблему и начинает с ней разбираться — перестает получать.

Я тут как-то слышал, в одном немаленьком банке датацентр сутки простоял. Банк потерял четверть миллиарда долларов. Понимаешь, за сутки! И это были только прямые убытки.
Отредактировано 23.09.2014 18:23 Privalov . Предыдущая версия .
Re[27]: cppcms
От: artelk  
Дата: 23.09.14 18:25
Оценка: 3 (1) +1
Здравствуйте, artelk, Вы писали:

A>Здравствуйте, genre, Вы писали:


G>>В БД ты не упрешься. Ну если не будешь (надеюсь) писать логику на SQL. А вот что ты планируешь делать если упрешься в процессор?


A>Намного раньше он упрется в количество потоков (при чем, ждущих завершения IO операций 99,9% времени) — т.е. даже вертикального масштабирования нет.

A>Решение: асинхронные IO операции (т.е. IOCP или epoll), что, в случае плюсов, означает взрыв на макаронной фабрике из колбэков.
A>Boost.coroutine не предлагать — оно однопоточное.

В тему: http://stackoverflow.com/questions/4257659/c-sharp-versus-c-performance/19505716#19505716 (про 40 разработчиков, 15 лет разработки и 10^6 строк кода).
Re[27]: cppcms
От: Ночной Смотрящий Россия  
Дата: 23.09.14 18:57
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Где мне янусовую БД взять


Могу свою подарить. А вообще кто то выкладывал.

S> и как мне её под линупсом поднять?


У меня sqlite, с линупсом вроде как проблем быть не должно.
Re[31]: cppcms
От: Ночной Смотрящий Россия  
Дата: 23.09.14 19:06
Оценка:
Здравствуйте, Sheridan, Вы писали:

НС>>Подобного это какого? Строгой типизации? Нет, не понял. А что, ты против нее?

S>Нет, против лишних объектных прослоек между данными и результатом.

Тебе может по английски написать, а то русский ты не очень понимаешь? Нет никаких объектных прослоек. При желании, если совсем ума нет, можно прямо htmkl строки генерить. Как нибудь так:
var str = GetUsers(user => "<div><span>" + user.FirstName + "</span><span>" + user.LastName + "</span></div>").Join();

Никаких прослоек. При полном сохранении типизации.

S>Тогда потерпи. Волшебной палочки у меня нет.


Сколько терпеть то? Полгода?
Re[27]: cppcms
От: Ночной Смотрящий Россия  
Дата: 23.09.14 19:06
Оценка:
Здравствуйте, Sheridan, Вы писали:

НС>>Даже если полей два десятка?

S>Да

Ну ну.

НС>>Быстрее и проще как раз использовать LINQ — гарантия отсутствия любых проблем с неправильным индексом поля.

S>Нафига усложнять?

Вот и я тоже думаю — нафига?

НС>>Уверен? Давай проверим, недавно в соседнем форуме обсуждалось. Есть табличка вида (messageid:int, userid:int, parentid:int, date:datetime). Нужно составить запрос, который выдает все корневые сообщения (parentid=null), упорядоченные по дате последнего ответа в ветку, начатую указанным userid. Разумеется, на любом уровне вложенности. Простой, так сказать, тестик на знание CTE.

S>Еще раз и помеждленее, не понял тз.

Есть топик. В нем есть мое сообщение. На него есть ответы. В том числе и не прямые. И есть соседние ветки, без моих сообщений. Нужно взять дату последнего ответа, но только в тех ветках, в которой наверху есть мое сообщение, и отсортировать топики по ней.
Re[26]: cppcms
От: Sheridan Россия  
Дата: 23.09.14 19:13
Оценка:
Здравствуйте, ., Вы писали:

.>Веселуха начинается когда строишь сложный фильтр. Например, 10 опциональных параметров, притом некоторые с множественным выбором (например, выбор по нескольким городам). Либо запрос будет жутко неэффективный (параметер вполне может данные из джойнов брать), либо придётся рисовать 2^10=1024 запроса, либо конкатенировать хитровывернутым способом строчку и долго-долго отлаживать.

Была бы задача. А возиться с решением интересно.
Matrix has you...
Re[22]: cppcms
От: Sheridan Россия  
Дата: 23.09.14 19:14
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Не, сейчас мы работаем над клиентским приложением. Но с точки зрения C++ какое это имеет значение? В прошлом проекте мы работали над серверным приложением. Примерно 50 метров на Java и пара сотен строк C/C++ — JNI и одна маленькая утилитка. И ничего не тормозило. Сервера — ничего выдающегося.

А тут меня уверяют что с++ и 200 запросов\с не выдержит.
Matrix has you...
Re[24]: cppcms
От: Sheridan Россия  
Дата: 23.09.14 19:16
Оценка: 3 (1)
Здравствуйте, Privalov, Вы писали:

S>>Я еще время на ingress и eve online нахожу

P>Лучше бы книжек о разработке почитал. Правда, в этом случае не было бы, скорее всего, этой ветки в форуме.
Возможно правда была бы там, если бы я попал в менеджеры и учил бы программеров правильно прикрывать тылы. Слава богам, я попал в админы.

S>>А задача нужная. Но не так чтобы "должно быть готово вчера", а "между делом сделай".

P>Через пару-другую лет прототип будет?
Частично уже люди в ней работают. В одном из "модулей"
Matrix has you...
Re[28]: cppcms
От: Sheridan Россия  
Дата: 23.09.14 19:17
Оценка:
Здравствуйте, Privalov, Вы писали:

S>>Будь уверен — столкнусь с проблемой — разберусь.

P>А система в это время будет стоять? Это значит, контора будет терпеть убытки?
Нету убытков у меня. Запомни это. Денег в этом уравнении нет вообще. Если ты говоришь о программировании за деньги — то это не про меня.
Matrix has you...
Re[28]: cppcms
От: Sheridan Россия  
Дата: 23.09.14 19:18
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

S>>Где мне янусовую БД взять

НС>У меня sqlite, с линупсом вроде как проблем быть не должно.
Весит сколько?
Matrix has you...
Re[25]: cppcms
От: Privalov  
Дата: 23.09.14 19:19
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Возможно правда была бы там, если бы я попал в менеджеры и учил бы программеров правильно прикрывать тылы. Слава богам, я попал в админы.


Ну да, те, кто сами не умеют, с большой охотой учат других.
Отредактировано 23.09.2014 19:28 Privalov . Предыдущая версия .
Re[32]: cppcms
От: Sheridan Россия  
Дата: 23.09.14 19:21
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Тебе может по английски написать, а то русский ты не очень понимаешь? Нет никаких объектных прослоек. При желании, если совсем ума нет, можно прямо htmkl строки генерить. Как нибудь так:

НС>
НС>var str = GetUsers(user => "<div><span>" + user.FirstName + "</span><span>" + user.LastName + "</span></div>").Join();
НС>

НС>Никаких прослоек. При полном сохранении типизации.
Ок. Откуда берутся данные? Вот по полочкам разложи, как из этого собирается запрос, как исполняется, откуда берется user и как у него вырастает FirstName, которое становится строкой и склеивается со всем остальным.
а я с удовольствием послушаю.

S>>Тогда потерпи. Волшебной палочки у меня нет.

НС>Сколько терпеть то? Полгода?
Ты мне сроки ставишь? о0 А кто ты?
Matrix has you...
Re[29]: cppcms
От: Privalov  
Дата: 23.09.14 19:23
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Нету убытков у меня. Запомни это. Денег в этом уравнении нет вообще. Если ты говоришь о программировании за деньги — то это не про меня.


У тебя — нет. А у конторы, где ты работаешь — есть. А то, что ты на нее бесплатно работаешь — проблема твоя, а не ее.
Re[23]: cppcms
От: Privalov  
Дата: 23.09.14 19:26
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>А тут меня уверяют что с++ и 200 запросов\с не выдержит.


Не выдержит не C++, а приложение, на нем написанное. Точнее, может не выдержать. Все зависит от команды, делающей приложение.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.