@dlangru

Страница 236 из 719
Oleg
16.08.2017
18:05:41
так плюс-минус получается инваринтность к повороту

повороту силуэта в плоскости изображения

а не повороту самолёта

Dmitry
16.08.2017
18:17:24
и на снимках земной поверхности сможет их распознавать?

Google
Dmitry
16.08.2017
18:17:52
Задача именно делать это не хуже оператора. Просто меня убеждают, что мол это невозможно потому что невозможно

Pavel
16.08.2017
18:32:16
Думаю что именно задача отлчать модели самолетов решается нейросетью во много раз лучше оператора и во много десятков раз быстрее

А может даже и не средствами нейросетей, а более простыми

Короче, в итоге я нашел самый простой способ очень быстро обрабатывать сокеты ) Это самый что ни на есть примитивный TaskPool и TcpSocket ;)))

Держит 27000 в секунду, ни единого разрыва!

Выкинул все эти libasync

Stepanos
16.08.2017
18:38:45
что за железо?

Pavel
16.08.2017
18:40:29
core i7 8 cores

Stepanos
16.08.2017
18:43:49
нормуль, игру друзья пишут, то им с udp socket о таком только мечтать)) но там Java

Oleg
16.08.2017
19:04:01
Выкинул все эти libasync
Если ты разобрался в проблеме, не возникает желания libasync поправить, чтобы так же работал?

Pavel
16.08.2017
19:04:37
Т.е. там несколько параллельных запросов читаются в одну и ту же память и все летит к чертям

А вот кстати из того что в моих силах поправить возможно - так это то что похоже пул тредов в libasync создается в ленивом режиме. То есть пока туда не прилетит задача - он не создастся. Возможно стоит сделать "предпрогрев" тредов...

Google
Ievgenii
16.08.2017
19:30:44
На счёт шаблонизатора - твиг прикольный

Выкинул все эти libasync
Чего не взять LibEv?

Ну или LibEvent

С SO_REUSEPORT - самое то

Pavel
16.08.2017
19:34:57
По-моему это все равно будет тормозить по сравнению с taskPool

Ievgenii
16.08.2017
19:45:51
Ну это все до тех пор, пока нет необходимости в нормальных таймерах и обработки советов по приоритетам

Oleg
18.08.2017
02:19:01
Здоров народ

Я так чисто спросить

Че там с DIP1000?

У меня традиция спрашивать об этом раз в новое время года

Это та которая про без-GC, безопасность, и всё такое

Dmitry
18.08.2017
03:16:00
Там какой-то долгострой. Лет через семь может доделают. Но работать не будет.

Ned Ogl
18.08.2017
05:46:54
Это был вопрос про то, что в случае T ~= elem, elem ложится в кучу

Maxim
18.08.2017
05:48:43
http://dlang.org/spec/arrays.html#static-arrays вот отсюда

Ned Ogl
18.08.2017
05:49:13
Надо было читать инструкцию...

Ned Ogl
18.08.2017
05:53:41
Архитектура языка - спорная штука. Вот есть у тебя компилятор, который увидел "T ~= elem;". Что ему делать? Он должен, по идее, записать в объектный файл системный вызов для выделения памяти в куче. То бишь, это работает для конкретной ОС, потому что для другой ОС и сисколл будет другой. Входит, если ОС нет вообще, как он будет выделять память, и кто будет заниматься реализацией сисколла? Выходит, если ты пишешь ОСь, тебе нужен под неё свой собственный D компилятор, даже несмотря на то, что она соответствует SysV ABI? Это уже полная чухня по идее... В случае с С вся возня с сисколлами происходит на стороне stdlib

Google
Maxim
18.08.2017
05:55:50
ну по факту же в D динамическими массивами заправляет сборщик мусора, у которого есть определенный пулл памяти, откуда он его взял — дело десятое

Ned Ogl
18.08.2017
06:00:51
Ну вот, опять же. GC - часть phobos (или какой-то druntimelib.so) и, выходит, уже не судьба этой фишке работать freestanding.

Maxim
18.08.2017
06:02:01
ну что значит freestanding? Сборщик мусора — это часть языка D, да, без сборки мусора много чего не будет работать

в том числе (в общем случае, без извращений) динамические массивы, исключения и классы

qwerty
18.08.2017
06:12:38
а разве исключения еще не сделали gcfree?

Maxim
18.08.2017
06:15:32
по-моему только обсуждают

qwerty
18.08.2017
07:03:02
по-моему только обсуждают
да, действительно https://github.com/dlang/dmd/pull/6681

Dmitry
18.08.2017
07:07:39
А известно ли тебе, благодаря чему это так? Сработает ли эта фича freestanding? Всмысле без phobos
Механика в целом описана тут: http://dlang.org/d-array-article.html А тут список операций, которые "may allocate memory using the garbage collector: NewExpression Array appending Array concatenation Array literals (except when used to initialize static data) ..." Т.е. операции вроде ~= раскрываются в код, который обращается к рантайму для аллокации памяти. Им нужен рантайм, который по умолчанию с GC, или хотя бы свои заглушки вместо тех функций. Рантайм и фобос это несколько разные вещи, фобос это просто стандартная библиотека. Можно жить с рантаймом, но без фобоса. С т.з. компилятора это значит, что он может в коде поставить вызов некоторой функции выделения памяти, ожидая, что ее реализация будет слинкована с твоим кодом. Реализация сидит в druntime. Cм. dmd2\src\druntime\README.md : DRuntime is meant to be an abstraction layer above the compiler. Different compilers will likely have their own versions of DRuntime. While the implementations may differ, the interfaces should be the same. Features -------- The runtime library provides the following: * The Object class, the root of the class hierarchy. * Implementations of array operations. * The associative array implementation. * Type information and RTTI. * Common threading and fiber infrastructure. * Synchronization and coordination primitives. * Exception handling and stack tracing. * Garbage collection interface and implementation. * Program startup and shutdown routines. * Low-level math intrinsics and support code. * Interfaces to standard C99 functions and types. * Interfaces to operating system APIs. * Atomic load/store and binary operations. * CPU detection/identification for x86. * System-independent time/duration functionality. * D ABI demangling helpers. * Low-level bit operations/intrinsics. * Unit test, coverage, and trace support code. * Low-level helpers for compiler-inserted calls.

qwerty
18.08.2017
07:10:26
Я если честно не понимаю, зачем использовать стандартные массивы, если надо избежать gc. Есть же массив, которому gc не нужен http://dlang.org/phobos/std_container_array.html

Dmitry
18.08.2017
07:11:02
А вот тут 3 года назад человек рассказывал, как писать на D без рантайма и без ОС, на чистом железе: http://dconf.org/2014/talks/ruppe.html В его D Cookbook тоже эта тема есть.

Dmitry
18.08.2017
08:11:33
Вообще не понимаю, зачем до сих пор, кроме легаси, использовать кресты, когда есть D?

Oleg
18.08.2017
09:59:41
Того же modbus не было до недавнего времени

И собственно вопрос лени разработчиков

Или выделенного времени на проект

Dmitry
18.08.2017
10:07:12
А есть реализация, например, SNMP на D?
Не курсе. Но биндинги пишутся без особых проблем.

Oleg
18.08.2017
10:07:34
На плюсовые либы?

Не сказал бы

Dmitry
18.08.2017
10:09:03
На Racket не было более-менее нормального пакета для работы с ldap. Сел, накатал биндинг с libldap, и готово.

Google
Dmitry
18.08.2017
10:09:15
На плюсовые либы?
Не пробовал. К сишным без особого труда.

Oleg
18.08.2017
10:09:51
Кстати, по поводу либ https://github.com/deviator/drmi/blob/master/ssll/ssll/package.d

Eto
18.08.2017
10:10:24
Не пробовал. К сишным без особого труда.
К плюсовым либам обычно пишут сишные биндинги, а потом поверх D-шные.

Oleg
18.08.2017
10:10:49
Кстати, по поводу либ https://github.com/deviator/drmi/blob/master/ssll/ssll/package.d
Пример пользования https://github.com/deviator/drmi/blob/master/mosquitto/mosquitto/api/rtload.d

Pavel
18.08.2017
10:11:41
Вчера меня постигла неудача с профилировщиком(

Oleg
18.08.2017
10:11:44
Eto
18.08.2017
10:12:06
Потому что никто не хочет тратить целую кучу времени на реализацию полного крестового компилятора в компиляторе D...

Admin
ERROR: S client not available

Pavel
18.08.2017
10:12:11
При попытке отпрофилировать приложение с сокетом падает с epoll error: too many open files

Eto
18.08.2017
10:15:39
А фиг его знает, я не в курсе.

Pavel
18.08.2017
14:34:51
Где можно пофиксить документацию дланговскую? Она генерится из исходников или где-то отдельно в виде html лежит?

Pavel
18.08.2017
14:45:07
В доке ссылки битые, еле нашел как попасть на std.datetime.DateTime

И вот ищу по всей организации строку из документации https://github.com/search?q=org%3Adlang+It+is+optimized+for+calendar-based+operations+and+has+no+concept+of+time+zone. и не находит ничего ?

Ned Ogl
18.08.2017
17:49:54
Это нормально, когда libphobos2 не поставляется в 32-битной версии?

Eto
18.08.2017
17:56:28
Ну, практически... Кейси вон вообще рекомендует забить на 32-битные платформы.

Google
Dmitry
18.08.2017
17:58:11
на них все забили уже походу...

для WASM 64 битные браузеры тоже многое значат

Ned Ogl
18.08.2017
18:32:51
Кхм.

Дело в том, чтооо...

Гроб не умеет грузить х64

Кжтс...

qwerty
18.08.2017
19:39:40
гроб?

Oleg
18.08.2017
19:59:27
Pavel
18.08.2017
20:02:33
GRUB
Слушай, вроде это как раз ты писал на Haxe? Я тут недавно пытался вспомнить какой-то экзотичный язык

Pavel
18.08.2017
20:09:22
?

Мне тогда этот язык показался каким-то дико заумным с примесями функциональщины и декларативщины, а сейчас кажется проще

Oleg
18.08.2017
20:10:30
После всяких там ATS я даже не знаю что меня может удивить

Шел 2017й, а люди все еще создают языки где есть var и очень похожая на неё val

Pavel
18.08.2017
20:14:49
Мне кажется сейчас языки вообще стали очень похожи, и только экспериментируют с какими-то мелочами )

Например думают "а давайте мы возьмем средний язык в вакууме, выкинем оттуда исключения и дженерики, добавим асинхронные корутины, и посмотрим что из этого выйдет"

Oleg
18.08.2017
20:16:14
Так и есть

Многое устаканилось

Dmitry
19.08.2017
07:00:57
Шел 2017й, а люди все еще создают языки где есть var и очень похожая на неё val
Так ATS это не 2017, ему лет уж немало. Раст еще не начали делать, когда в ATS уже все было.

Что до Haxe, авторам всех Си-подобных языков надо с него пример брать как правильно заиметь алгебраики и паттерн-матчинг.

Страница 236 из 719