Size: a a a

Compiler Development

2020 March 22

KR

K R in Compiler Development
Peter Sovietov
Lvars — это из исследования Lindsey Kuper? Это относительно недавняя вещь. Формализмов-то много... Вот у ван Роя чем плохие формальные подходы к параллелизму и распределенности? :)  https://plds.github.io/slides/VanRoy-KTH-Mar2020.pdf
Ну да. Но основная идея там -частичная упорядоченность состояний программы.

И дальше идут попытки разделить это пространство на какие-то ортогональные куски.
источник

МБ

Михаил Бахтерев in Compiler Development
Peter Sovietov
Lvars — это из исследования Lindsey Kuper? Это относительно недавняя вещь. Формализмов-то много... Вот у ван Роя чем плохие формальные подходы к параллелизму и распределенности? :)  https://plds.github.io/slides/VanRoy-KTH-Mar2020.pdf
Занятно. Мы об этом уже лет 10 пишем :) Так что, не особо ново.
источник

PS

Peter Sovietov in Compiler Development
K R
Мне вообще, как физику, интересно соответствие dataflow графа и графа состояний программы. И как-то я не смог найти внятного рассмотрения этого вопроса.

В CSP это как-то заметено под ковёр.
Ну, можно же ввести ребра отдельного типа — для передачи эффектов вида IO/память между узлами.
источник

МБ

Михаил Бахтерев in Compiler Development
Ха! При чём точно теми же словами, которыми я докладывался на fpconf. Миленько
источник

AT

Alexander Tchitchigin in Compiler Development
Михаил Бахтерев
Ха! При чём точно теми же словами, которыми я докладывался на fpconf. Миленько
А Вы в каком году докладывались? Запись доклада сохранилась?
источник

МБ

Михаил Бахтерев in Compiler Development
Ага. Где-то сохранилась. Я точно не помню год. То ли 2018, то ли 2017. Но у них, конечно, в серединке уже другие идеи. Но, приятно, что мысль в одном направлении.
источник

AT

Alexander Tchitchigin in Compiler Development
Поскольку памяти на микроконтроллере не сильно дофига, долго mark там нечего, поэтому даже такой прямолинейный GC будет вполне real-time при достаточном размере окна. 😊
источник

PS

Peter Sovietov in Compiler Development
Это зависит от абстракций, которые применяет программист. Ведь если не пользоваться замыканиями, продолжениями... то зачем Scheme? :)
При работе со многими интерфейсами счет может идти на сотни наносекунд, один "зевок" — и все поломалось.
Надо понимать, что когда речь идет о параллельной работе с несколькими устройствами (например несколько АЦП и проч.) в реальном времени, то даже на чистом Си с прерываниями/DMA все обустроить правильно — это очень серьезная проблема.
источник

PS

Peter Sovietov in Compiler Development
Михаил Бахтерев
Занятно. Мы об этом уже лет 10 пишем :) Так что, не особо ново.
Это Вы на какого ссылаетесь? Kuper или Van Roy?
источник

МБ

Михаил Бахтерев in Compiler Development
Peter Sovietov
Это Вы на какого ссылаетесь? Kuper или Van Roy?
VanRoy, видимо. На начало PDF, на которую Вы сослались.
источник

PS

Peter Sovietov in Compiler Development
Ага, это хорошо :)
источник

МБ

Михаил Бахтерев in Compiler Development
Peter Sovietov
Это зависит от абстракций, которые применяет программист. Ведь если не пользоваться замыканиями, продолжениями... то зачем Scheme? :)
При работе со многими интерфейсами счет может идти на сотни наносекунд, один "зевок" — и все поломалось.
Надо понимать, что когда речь идет о параллельной работе с несколькими устройствами (например несколько АЦП и проч.) в реальном времени, то даже на чистом Си с прерываниями/DMA все обустроить правильно — это очень серьезная проблема.
Ну. Конкретно в picobit-случае, то она там из-за call-with-current-continuation. На базе этого сделана многопоточная обработка и сетевые взаимодействия. Я так понимаю, там основная цель была упихать как можно больше функциональности в ограниченную память. C SPI там работать можно, не знаю уж, насколько эффективно, не большой специалист по SPI, но показания двух термометров (вероятно, не самое требовательное устройство) вот вполне раздавать по интернету получилось. DMA было задействовано.
источник

PS

Peter Sovietov in Compiler Development
Михаил Бахтерев
Ну. Конкретно в picobit-случае, то она там из-за call-with-current-continuation. На базе этого сделана многопоточная обработка и сетевые взаимодействия. Я так понимаю, там основная цель была упихать как можно больше функциональности в ограниченную память. C SPI там работать можно, не знаю уж, насколько эффективно, не большой специалист по SPI, но показания двух термометров (вероятно, не самое требовательное устройство) вот вполне раздавать по интернету получилось. DMA было задействовано.
Это уровень какого-нибудь MicroPython. Ну, повторюсь, мне бы все эти подходы было интересно классифицировать... :)
источник
2020 March 23

KR

K R in Compiler Development
Peter Sovietov
Lvars — это из исследования Lindsey Kuper? Это относительно недавняя вещь. Формализмов-то много... Вот у ван Роя чем плохие формальные подходы к параллелизму и распределенности? :)  https://plds.github.io/slides/VanRoy-KTH-Mar2020.pdf
Вот раздражает то, что формализмов много, все они недоделанные, обсасывают более-менее одни и те же вещи, называя разными словами. В презентации ван Роя, как обычно, крайне сумбурно всё. От формализма требуется простота и покрытие - это же модель. А какой прок от модели, если она сложна и непонятна, как сама реальность?

Хоар с CSP хотя бы прост, хотя и не учитывает эффекты времени - таймауты и задержки.
источник

AG

Alex Gryzlov in Compiler Development
для распределенностей нет простых моделей увы
источник

KR

K R in Compiler Development
Alex Gryzlov
для распределенностей нет простых моделей увы
Надо работать...
источник

AT

Alexander Tchitchigin in Compiler Development
Unpopular opinion on Go lang (compiler and toolchain): http://dtrace.org/blogs/wesolows/2014/12/29/golang-is-trash/ 😊
источник

AK

Andrei Kurosh in Compiler Development
пост 5-летней давности все еще актуален? )
источник

AT

Alexander Tchitchigin in Compiler Development
Andrei Kurosh
пост 5-летней давности все еще актуален? )
ХЗ, у меня нет ни мадейшего желания лезть в кищки Го чтобы проверить. 😂
источник

AT

Alexander Tchitchigin in Compiler Development
Но там есть (как бы) evidence-backed комментарии на тему "культурного кода" и "инженерного подхода" разработиков языка Го и Роба Пайка в частности. Если эти суждения верны, то отношение вряд ли поменялось. 😊
источник