@Fsharp_chat

Страница 270 из 772
Vladimir
17.08.2017
07:11:35
это десериализация get-параметров

Vasily
17.08.2017
07:11:51
Сейчас десериализация проходит до конца

Vladimir
17.08.2017
07:12:08
про какую десеарелизацию ты говоришь?)

Vasily
17.08.2017
07:12:09
На добавлениях и удалениях

Google
Vladimir
17.08.2017
07:12:29
удалений нет, с добавлениями проблем нет

Vasily
17.08.2017
07:12:30
Про постовые запросы

Vladimir
17.08.2017
07:12:36
проблемы только с гетами

Nikolay
17.08.2017
07:15:48
Vladimir есть локальный запуск танка: https://github.com/sat2707/hlcupdocs/blob/master/TANK.md

Vasily
17.08.2017
07:15:55
Тупой вопрос-мы роуты в жирафе динамически можем добавлять?

Vladimir
17.08.2017
07:16:53
оу, спасибо)

Тупой вопрос-мы роуты в жирафе динамически можем добавлять?
не уверен, скорее нет, в любом случае это ничего не убыстрит)

роуты точно быстрее массива ил словаря не будут

Vasily
17.08.2017
07:18:10
Ну не знаю. Там будет сразу статика

И бесплатная 404

Vladimir
17.08.2017
07:19:10
=) а как они найдут роут из миллиона?

надо по коду смотреть, как сейчас реализовано, но точно не O(1) как в словаре

Nikolay
17.08.2017
07:20:05
Vasily ты предложить хочешь нагенерить роутов для не 404? :) А в остальных случаях кидать 404?

Google
Vasily
17.08.2017
07:28:37
Угу

Nikolay
17.08.2017
07:30:14
А слишком много роутов не будут тормозить?

Vasily
17.08.2017
07:30:43
Ну смотря где они хранятся

Vladimir
17.08.2017
07:41:13
Прикольную штуку заметил

Пока переделывал на массивы часть логики

Array.init 1010000 (fun index -> null) - так падает в конструкторе

Array.zeroCreate 1010000 - а так не падает)

Vasily
17.08.2017
07:42:24
Кстати, айдишники имеют верхнее ограничение?

Или там 4 лярда?

Vladimir
17.08.2017
07:42:56
1 ярд, я счас на столько массив как видишь и инициализирую

Vasily
17.08.2017
07:43:18
Ты не ярд инициализируешь

Vladimir
17.08.2017
07:43:27
ой

это миллион)

да, значит лям

Vasily
17.08.2017
07:43:52
Ну лям вообще ни о чем

Там массив намного быстрее будет в теории

Чем ConcurrentDictionary

Vladimir
17.08.2017
07:44:22
ну вот сейчас попробую

Vasily
17.08.2017
07:44:46
Можно сделать даже 100 массивов

Vladimir
17.08.2017
07:44:49
пока только на предсериализованных данных чтобы разницу увидеть

Google
Vasily
17.08.2017
07:44:54
По 10000 элементов

Vladimir
17.08.2017
07:45:35
зачем?

Vasily
17.08.2017
07:45:50
Хотя особо незачем

https://github.com/ServiceStack/ServiceStack.Text

Vladimir
17.08.2017
07:51:30
он же платный вроде

Artem
17.08.2017
07:52:04
он же платный вроде
но сорцы на гитхабе

и написано "фри"

Vasily
17.08.2017
07:52:25
https://www.nuget.org/packages/ServiceStack.Text/

Artem
17.08.2017
07:52:27
но там какая-то их своя лицензия

не уверен, можно ли в проприетарный софт

пихать

надо читать

Vasily
17.08.2017
07:52:38
Тут пофиг, по идее

Artem
17.08.2017
07:53:01
https://github.com/ServiceStack/ServiceStack.Text/blob/master/license.txt

Commercial License =========================================================================== In addition to this license, ServiceStack is offered under a commerical license. Contact team@servicestack.net for details.

Nikolay
17.08.2017
07:53:15
Whilst ServiceStack v4 is a commercially-supported product, we also allow free usage for small projects and evaluation purposes. The NuGet packages above include the quota's below which can be unlocked with a license key: 10 Operations in ServiceStack (i.e. Request DTOs) 10 Database Tables in OrmLite 10 DynamoDB Tables in PocoDynamo 20 Different Types in Redis Client Typed APIs 6000 requests per hour with the Redis Client

Vladimir
17.08.2017
07:53:32
Package ServiceStack.Text 4.5.12 is not compatible with netcoreapp1.1

О. ServiceStack.Text.Core подошел)

Aleksander
17.08.2017
07:56:48
кстати, а что там вообще происходит при нагрузке? метрики по CPU есть? и сколько потоков в приложении?

Vladimir
17.08.2017
07:57:09
без понятия) это только на локалке мерять

Google
Aleksander
17.08.2017
07:57:37
думаю количество потоков ты выцепить изнутри сможешь

Nikolay
17.08.2017
07:58:20
Нужны ли байндинги F# для LiteDB? С поддержкой кортежей, DU и записей? :)

Vladimir
17.08.2017
07:58:33
по идее два потока

Aleksander
17.08.2017
07:59:02
https://github.com/dotnet/standard/issues/327

Vladimir
17.08.2017
07:59:32
оки, добавлю

но можно сразу поставить 4 потока при старте кестрела

Aleksander
17.08.2017
08:00:16
там же написано, что All non IO work (including anything related with HTTP like parsing, framing, etc) is done in managed code on standard .net worker threads.

ну да, главное чтобы он 400 потоков не пытался сделать)

Vasily
17.08.2017
08:00:57
Кстати да

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

Vladimir
17.08.2017
08:02:12
Надо ему сверху число потоков ограничить
clamped between 1 and 16. - уже ограничено

Aleksander
17.08.2017
08:02:55
навскидку у тебя чистый CPU bound, так что тут можно поиграть:) например отдать 1 поток кестрелу, и 3 - на обработку

Vladimir
17.08.2017
08:09:37
ладно, сейчас добавлю метрики, закину на обстрел, как раз массивы проверю, а то на мелком объеме разницы не видно, скину результаты и потом надо будет уже поработать немного)

Pavel
17.08.2017
08:09:49
Нужны ли байндинги F# для LiteDB? С поддержкой кортежей, DU и записей? :)
Я вчера наговнокодил для DU. Полет нормальный, но их маппер не очень удобен для расширения.

Nikolay
17.08.2017
08:10:05
Маппер мне тоже не понравился

Я вчера для Option маппер сделал, но он десериализацию почему-то не дёргал

Pavel
17.08.2017
08:10:46
https://github.com/p69/LiteDB/blob/master/LiteDB.FSharp/BsonMapper.fs

Google
Nikolay
17.08.2017
08:11:48
https://github.com/p69/LiteDB/blob/master/LiteDB.FSharp/BsonMapper.fs
Лучше LiteDB.FSharp сделать отдельной библиотекой, вряд-ли они PR примут

Pavel
17.08.2017
08:12:33
А чего так? Думаешь там настолько не любят F#?

Nikolay
17.08.2017
08:13:20
Говорят людей она отпугивает

Да и 90% разработчиков F# не нужен, так зачем тащить его?

Pavel
17.08.2017
08:14:45
Из-за зависимости FSharp.Data :)
Так его вроде и не обязательно туда тащить. Ну по крайней мере я не планировал)

Да и 90% разработчиков F# не нужен, так зачем тащить его?
Можно просто чтобы проект лежал в общем репозитории, а нугет пакет собирать отдельный

как в akkanet

Nikolay
17.08.2017
08:15:42
Ну так да. Но в любом случае, лучше спросить у них, issue, например, завести

Vladimir
17.08.2017
08:16:41
Хорошая цитата

Kestrel uses single treaded event loops, like node.js, but unlike node, it has multiple event loops (one per processor - min 1, max 16). because libuv (the underlaying web server code node.js and asp.net core use) is based on async i/o, threading is not as important as it was is the IIS hosted version (which is a lot slower). this is why you should only use async i/o in asp.net core, and the libraries only support the async calls.

Pavel
17.08.2017
08:17:08
Ну так да. Но в любом случае, лучше спросить у них, issue, например, завести
Да, конечно. Я пока POC решил сделать. Потом можно с ними это обсудить

Nikolay
17.08.2017
08:17:55
Да, конечно. Я пока POC решил сделать. Потом можно с ними это обсудить
Можем скооперироваться :) Я вчера начал писать обёртки для коллекций, в стиле Seq

Типа: collection |> Lite.count collection |> Lite.countBy (fun x -> x.FirstName = "FirstName")

Pavel
17.08.2017
08:19:55
Можем скооперироваться :) Я вчера начал писать обёртки для коллекций, в стиле Seq
Круто. Я могу завести у них issue, чтобы понять как нам можно законтрибьютить, и потом решим как будем делать

Artemy
17.08.2017
08:59:00
Добрый день. Что там с последним апдейтом VS 2017 (15.3 который)? Там писали, что что-то в F# ломается. Или уже починили?

Artemy
17.08.2017
09:00:40
Т.е. можно спокойно обновляться?

Evgeniy
17.08.2017
09:01:13
Artemy
17.08.2017
09:01:17
Ок, спасибо

Vlad
17.08.2017
09:03:49
В последней версии VF# Nightly все в порядке.
а не можешь ссылку скинуть как nightly настроить, а то я потерял?

Evgeniy
17.08.2017
09:04:14
а не можешь ссылку скинуть как nightly настроить, а то я потерял?
https://blogs.msdn.microsoft.com/dotnet/2017/03/14/announcing-nightly-releases-for-the-visual-f-tools/

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