@Fsharp_chat

Страница 282 из 772
Vasily
23.08.2017
09:38:14
И возвращаешь ответ сразу

Vladimir
23.08.2017
09:40:07
хм, тогда это так сейчас и работает

Vasily
23.08.2017
09:42:24
Гляжу результаты, медиана где-то в районе 40 секунд штрафа

Хммм... они выложили список запросов, которыми обстреливают

Google
Vasily
23.08.2017
09:47:30
Короче, если список запросов совпадает с тем, чем обстреливают

То задача резко упрощается

Vladimir
23.08.2017
09:48:15
не, не совпадает

хотя ты про что говоришь?)

Vasily
23.08.2017
09:48:55
https://github.com/sat2707/hlcupdocs/tree/master/data/FULL/ammo

Vladimir
23.08.2017
09:49:09
ну там только половина выложена

запущу хотя бы две молотилки)

Evgeniy
23.08.2017
10:22:15
Привет!

Звездный
23.08.2017
10:23:10
Добрый день!

Vladimir
23.08.2017
11:30:22
И как гц теперь, кстати?
Время на 4 секунды улучшилось после всех улучшений) GC не было на третьей фазе ни одного

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

Ilya
23.08.2017
11:39:52
можно попробовать вот так http://www.liranchen.com/2010/08/forcing-jit-compilation-during-runtime.html

Vladimir
23.08.2017
11:46:23
я проще сделаю)

Google
Vladimir
23.08.2017
11:46:43
через докер запущу подшелл с curl запросами

Vasily
23.08.2017
11:47:03
Ну хардкором можно здорово ускорить

Vladimir
23.08.2017
11:48:05
нужно как-то профайлинг настроить, очень тяжело без него понять что ускорять...

Vasily
23.08.2017
11:48:29
Для начала сериализацию

Причем важно сделать быструю сериализацию/десериализацию интов/лонгов

Точнее даже десериализацию

Хотя и не факт

Там метрики у них странные

Они считают штрафное время неверных запросов

Vladimir
23.08.2017
11:51:54
http://c2n.me/3N9XrtG http://c2n.me/3N9XxQU

неверных уже нет запросов

просто суммируется время всех ответов

Vasily
23.08.2017
11:52:28
Жесть какая

Vladimir
23.08.2017
11:52:49
это посты и геты

Vasily
23.08.2017
11:52:58
А что там что в колонке?

Vladimir
23.08.2017
11:53:03
у гетов в два раза меньше минимальное время и в два раза больше максимальное

смотри 3ю и 4ю колонку

Vasily
23.08.2017
11:53:35
3-я - это геты?

А 4-я посты?

Vladimir
23.08.2017
11:53:59
не, там две ссылки)

Google
Vladimir
23.08.2017
11:54:12
3 это минимальное время 4я максимальное время запроса

Vasily
23.08.2017
11:54:28
Большой разброс какой-то

Но в целом надо добиваться, чтобы максимальное в 2 секунды укладывалось

Vladimir
23.08.2017
11:55:26
это все в микросекундах

аа, понял почему разброс

потому что разные методы вызываются)

Vasily
23.08.2017
11:57:27
Разверни мысль

Vladimir
23.08.2017
11:58:29
методы где нужно среднее посчитать и визиты юзеров раза в полтора свиду больше времени занимают

Vasily
23.08.2017
12:00:57
Надо на них смотреть

Console.Write(("Result {0} {1}; Threads {2}; "),

Vladimir
23.08.2017
12:03:42
мм?

Vasily
23.08.2017
12:04:02
Ну у тебя там каждую 1000 запросов вывод в консоль

Vladimir
23.08.2017
12:04:13
=) это фигня

Vasily
23.08.2017
12:04:21
Не сказал бы

Vladimir
23.08.2017
12:04:26
всего 132 вывода

не думаю что они хотя бы секунду наберут

будет время вопробую dotTrace

Vasily
23.08.2017
12:06:30
REsizeArray ты очень зря используешь, кстати

type ResizeArray<'T> = System.Collections.Generic.List<'T>

Evgeniy
23.08.2017
12:07:28
Google
Vasily
23.08.2017
12:08:25
Ну там проблема обычно в стратегии выделения памяти

Vladimir
23.08.2017
12:08:56
там 10 итемов, я смотрел по данным

не думаю что это сильно влияет

в общем, пока можно только гадать) надо уже профайлить начинать

Vasily
23.08.2017
12:15:41
Пруфы на то, как под списки память в .net выделяется?

Ilya
23.08.2017
12:15:58
пруфы на то, что там проблема есть

Vasily
23.08.2017
12:16:04
diffYears что должна делать?

Vladimir
23.08.2017
12:16:43
считать разницу в годах

Vasily
23.08.2017
12:17:02
TimeSpan для этой цели не подходит?

пруфы на то, что там проблема есть
https://stackoverflow.com/questions/14913640/which-algorithm-is-used-in-listt-to-dynamically-allocate-memory

Как минимум имеет смысл понимать, что происходит в списке при добавлении элемента, когда мы вылезли за размер

Ilya
23.08.2017
12:18:02
не вижу проблемы

Vladimir
23.08.2017
12:18:14
TimeSpan для этой цели не подходит?
ну я ответ нашел на SO =) у таймспана нативного метода нет узнать сколько лет

Vasily
23.08.2017
12:20:11
Да, вижу

Ilya
23.08.2017
12:20:28
Ну ты прост написал, что человек зря использует лист, ибо там есть проблема со стратегией выделения памяти. Звучало, что там реально есть какая-то проблема, а ее на самом деле нет.

Vasily
23.08.2017
12:20:49
Если визиты часто добавляются, то есть

Пока выглядит так, что там ок F# list будет

Ilya
23.08.2017
12:25:53
Даже с ресайзами c# лист может быть лучше, так как размер таки когда-то вырастет до нужного числа и перестанет расти + с массивами промахов по кэшу цп почти не будет. F# же лист - связный список, тут конечно не будет никаких перевыделений, но и попаданий в кэш так же можно не ждать. Но все это неактуально ибо, там 10 итемов на список, тут подойдет что угодно.

Friedrich
23.08.2017
12:28:42
> Даже с ресайзами c# лист может быть лучше HERESY

Google
Friedrich
23.08.2017
12:28:55
А, ой, с чем вы сравниваете?

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

Vasily
23.08.2017
12:30:19
Я примерно о том и говорил

Friedrich
23.08.2017
12:30:29
Но лист — нет, это не торт :)

Vasily
23.08.2017
12:30:35
В меня начали тыкать кэшом процессора :(

Vladimir
23.08.2017
12:30:44
Пока выглядит так, что там ок F# list будет - из него сложней удалять

мне ж надо и добавлять и удалять на апдейтах оттуда айтемы

Vasily
23.08.2017
12:31:09
Удаляется фильтром же

Vladimir
23.08.2017
12:31:28
перезаписывать хочешь список?

Vasily
23.08.2017
12:31:37
Ну тут фиг знает

На самом деле

Friedrich
23.08.2017
12:31:47
В меня начали тыкать кэшом процессора :(
Правильно сделали. Все эти функциональные односвязные списки с точки зрения cache locality — прям ужас-ужас.

Aleksander
23.08.2017
12:32:55
а может всетаки в профайлере запустить?)

Vasily
23.08.2017
12:33:11
Friedrich
23.08.2017
12:33:43
а может всетаки в профайлере запустить?)
Это противоречит Кодексу диванных перформанс-инженеров. Я так делать не буду!

Vasily
23.08.2017
12:33:51
И я

Friedrich
23.08.2017
12:34:01
?

Vasily
23.08.2017
12:34:04
Короче

Aleksander
23.08.2017
12:34:04
?

Vasily
23.08.2017
12:34:08
Инженеры

Страница 282 из 772