
Aleksander
21.08.2017
11:55:03
<PropertyGroup>
<ServerGarbageCollection>true</ServerGarbageCollection>
</PropertyGroup>
как-то так

Vladimir
21.08.2017
11:55:12
спасибо)
попробую

Google

Ilya
21.08.2017
11:55:39

Vladimir
21.08.2017
11:56:19
я сейчас через ServiceStack сериализую

Ilya
21.08.2017
11:56:26
и любой generic сериализатор

Vladimir
21.08.2017
11:56:42
ну вот)

Ilya
21.08.2017
11:56:54
там где-то внутрях должен быть каст к object

Vladimir
21.08.2017
11:57:38

Evgeniy
21.08.2017
11:59:28

Vladimir
21.08.2017
12:00:38
let oldEntity = collection.[id]
match box oldEntity with
| null ->
setStatusCode 404 next httpContext
| _ ->
вот так сейчас приходится писать

Aleksander
21.08.2017
12:01:24
https://docs.microsoft.com/en-us/dotnet/api/system.runtime.gclatencymode?view=netframework-4.7
может LowLatency поможет)

Artemy
21.08.2017
12:02:07

Vladimir
21.08.2017
12:03:21
не работает isNull на рекордах

Google

Vladimir
21.08.2017
12:03:35
они потому как бы не могут быть Null =)

Artemy
21.08.2017
12:03:57
:c

Nikolay
21.08.2017
12:04:12

Vladimir
21.08.2017
12:04:19
ага

Nikolay
21.08.2017
12:04:31
Тогда юзай Option :)

Vasily
21.08.2017
12:04:36

Nikolay
21.08.2017
12:04:36
Оверхед не должен быть сильным

Vladimir
21.08.2017
12:04:52

Evgeniy
21.08.2017
12:04:53

Nikolay
21.08.2017
12:05:00

Vladimir
21.08.2017
12:06:15
Ну и есть страничка от микрософта, где они говорят когда не стоит использовать структуру
не знаю найду ли сейчас ссылку, но она есть)
о https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/choosing-between-class-and-struct

Evgeniy
21.08.2017
12:08:11

Ilya
21.08.2017
12:08:38
нельзя же просто взять и сделать оption структурой, поломается же бинарная совместимость

Evgeniy
21.08.2017
12:09:18
Мало ли, вдруг StructOption<T> завезли.

Ilya
21.08.2017
12:09:44
ну тогда это уже не будет тот самый option, а будет как с туплами

Nikolay
21.08.2017
12:09:53
Но можно юзать Nullable

Google

Evgeniy
21.08.2017
12:10:49

Ilya
21.08.2017
12:11:08
В nullable можно класть только структуру, а почему плохо использовать структуры выше уже было

Vasily
21.08.2017
12:11:42
Дык это

Vladimir
21.08.2017
12:11:43

Vasily
21.08.2017
12:11:58
Почему массив по умолчанию None не инициализировать?
Если уж такая проблема

Vladimir
21.08.2017
12:12:35
Так нет проблемы)
Вопрос есть структуры или классы

Aleksander
21.08.2017
12:12:52
насчет структур - все бы хорошо, но там в составе объекта наверное куча строк.. т.е. после перехода на структуры будет не N*5 объектов, а N*4
есть ли смысл?
можно конечно строки вынести в словарик, и тогда количество объектов может резко уменьшится..

Vladimir
21.08.2017
12:14:43
объекты небольшие

Aleksander
21.08.2017
12:14:47
но опять таки, словарь синхронизировать надо

Vladimir
21.08.2017
12:15:02
вот такие {"id":5,"first_name":"Виктория","last_name":"Кисленчан","birth_date":-401414400,"gender":"f","email":"sopetelasochaed@mail.ru"}

Aleksander
21.08.2017
12:15:36
ну вот, сколько тут объектов?
минимум 4

Vladimir
21.08.2017
12:16:57
3 строки, тут у меня

Nikolay
21.08.2017
12:16:59

Aleksander
21.08.2017
12:17:23
ну чем больше объектов, тем больше работы для GC

Nikolay
21.08.2017
12:17:46

Google

Aleksander
21.08.2017
12:17:49
я к тому, что без структур сейчас N*4 объекта. со структурами будет N*3
смысл?

Ilya
21.08.2017
12:18:44
gc со структурами вообще работать не надо, но в данном конкретном случае будет только хуже, ибо https://github.com/ServiceStack/ServiceStack.Text/blob/870658eff62c334162b092a4f33cd52b96554bed/src/ServiceStack.Text/Json/JsonReader.Generic.cs#L76 вот тут будет боксинг любой структуры во время десериализации

Nikolay
21.08.2017
12:20:10

Vladimir
21.08.2017
12:20:18

Nikolay
21.08.2017
12:21:01

Aleksander
21.08.2017
12:26:31
а настройки из fsproj точно подтягиваются во время работы приложения?)

Donat
21.08.2017
12:32:08

Nikolay
21.08.2017
12:32:51

Vladimir
21.08.2017
12:33:22

Friedrich
21.08.2017
12:49:25
https://github.com/Microsoft/visualfsharp/issues/3440
Лол, их попросили, а они взяли и поменяли :)

Vlad
21.08.2017
12:50:53
А в чем разница между мит и апач2?

Friedrich
21.08.2017
12:51:28
А фиг его разберёт, если честно.

Vladimir
21.08.2017
12:51:55
надо как-то убрать сборку мусора вообще

Nikolay
21.08.2017
12:53:39

Artem
21.08.2017
12:54:46

Vladimir
21.08.2017
12:55:16
там есть вроде пару секунд когда запросы не идут)

Google

Vladimir
21.08.2017
12:55:39
между этапами, можно попробовать этот момент отловить и тогда ее запустить

Nikolay
21.08.2017
12:56:02

Vladimir
21.08.2017
12:56:20
ну и конечно попробовать написать кастомный десериализатор)
который сразу будет структуры создавать
но это то еще удовольствие =(

Friedrich
21.08.2017
13:04:42
А ещё вам нужно юзать Span<T>
Выделять какой-нибудь огромный буфер, а внутри спанами размечать структуры.
Ой, или это что-то из будущего? Его не запилили ещё? :(

Aleksander
21.08.2017
13:06:27
а чем это собственно лучше обычного массива структур?

Evgeniy
21.08.2017
13:06:55

Friedrich
21.08.2017
13:07:35

Aleksander
21.08.2017
13:07:42
хм
похоже, это будет работать со сложными объектами
точнее с структурами внутри которых могут лежать строки\массивы

Vladimir
21.08.2017
13:20:36
if (reqCount = 18090 || reqCount = 30090)
then GC.Collect(1)
?

Vasily
21.08.2017
13:25:57
В целом, с unmanaged и сейчас можно работать
Но можно попасть