Pull to refresh
30
0
Sergey Melnikov @RainM

Performance Architect

Send message

Никто не будет работать в стране, где могут мобилизовать

Новости пусть откроют и подумают, что дополнительно должно быть сделано:

https://www.kommersant.ru/doc/5631522

Предусловие: 1) неудобно/ненужно (править неудобно, кода получается сильно больше) 2) performance penalty (на виртуальные вызовы) при выделении интерфейсов для всех публичных классов. Далее, если необходимо добавить в публичный класс поле с приватным объектом - приватный объект приходится тащить в публичный заголовок. Изложенный подход лишен недостатка необходимости тянуть все кишки публичного класса в общую область видимости. Ну и надо воспринимать изложенное как некоторую гиперболизацию.

>> мы имеем дело с очень разными предметными областями, подходами и даже областями
И?

>> архитектура учитывает все нефункциональные требования клиента и результирующий продукт удовлетворяет их
А зачем это надо, если есть команда, которая отвечает за end-to-end продукт? Это дело команды искать правильный trade offs. И у этой команды есть все мотиваторы, так как именно им дальше поддерживать разрабатываемое решение.
Мне кажется архитектура — не совсем системно правильная конструкция. Т.е. все, что описано выше — опирается только на good will людей. Но у людей нет мотиваторов делать правильно/неправильно. Архитектура не несет риск от принятых ими решений. И то выражается в том, что крайне сложно архитектурным подразделениям поставить хоть какие-то цели/kpi.
ну понятно же, что автор имеет в виду разницу во времени отправки первого и последнего ордера. Идеальная картина мира — все отправляется в один момент времени, но в реальности будет небольшая разницы во временах отправки, это и названо дисперсией. На мой взгляд, сравнение достаточно уместно здесь
мы используем специальную JVM, которая ускоряет warm up
Мы подумали и мне точно помогут с расшифровкой доклада. Так что в любом случае мы опубликуем расшифровку на хабре.
А если бы заранее сделали бы анонс на хабре — приехали бы?))
Вообще, JUG.ru делали почтовую рассылку
Хороший вопрос)) я бы подошел к этому вопросу немного с другой стороны. Мне кажется, что критерии soft real time (большие материальные потери при не выполнении SLA) ~ latency-sensitive. А low-latency зависит от сложности алгоритмов, выполняющихся при реакции системы на внешний раздражитель. Т.е. для HFT, которые арбитражат стаканы биржи low-latency это одно, а для тех, у кого пересчитываются сложные модели, low-latency — совсем другое.
На сколько я понимаю, да, видео должно быть. Как узнаю точно — напишу.
Лично мне проще написать какое-то узкое место на С++. Но код состоит далеко не только из таких критичных кусков. Итого, если говорить про конкретные участки кода — лично мне проще сделать из на C++. Но если говорить не только про эти супер-критичные куски то проще и быстрее сделать на Java а потом допилить до требуемой производительности, ИМХО
Интересный момент, как влияет использование try-with-resources на скорость работы сгенерированного кода. В С++ компиляторах раньше при включении исключений некоторые оптимизации просто отключались.
тут вопрос не в том, что медленнее, а в том, что предсказуемей, т.е. если на критическом пути market date'ы плодить объекты, то GC рано или поздно случится. Получается мы теряем некоторый throughput ради предсказуемого правого хвоста распределения.
Ну, теоретически, компилятор может сделать versioning. Т.е. несколько кусков кода под разные параметры.
Я боюсь, что даже те, кто знает ничего не скажут. Если интересно, есть хорошие мануалы от Agner Fog, которые лучше публичной документации некоторых компаний.
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity