Size: a a a

Compiler Development

2020 April 19

KR

K R in Compiler Development
Ioann_V
Да мне вообще тут самое главное, чтобы людям интересно было. Потому что я вот ни в одной книге, не читал, как грамотно параллелить алгоритмы, и какие то конкретные, сложные моменты. Как грамотно использовать Кеши процессора и руками выполнить автовекторизацию кода, AVX2, AVX 512
Денег вы не заработаете, т.к. тема очень узкая. Кому надо, те не будут ждать печатной версии, а скачают электронку с Z-library. Известность - да. Халявная вёрстка и вычитка от издательства - да, это плюсы.

Но вот как бы вам самому не пришлось выкладывать сканы этой книги - авторское пиратство очень распространено в научной среде (это когда автор бесплатно сам сканирует и выкладывает или отправляет препринты). Причём это не потому, что кругом аццкие ператы. А просто ну что проще - искать hardcopy или в два клика скачать вот прямо сейчас?
источник

AK

Andrei Kurosh in Compiler Development
K R
Потому, что bash далеко не так прост, как кажется. Во-первых, | ленивые. Во-вторых там есть масса элементов функционального программирования. В-третьих, очень хорошие эвристики, например для строк, позволяющие не писать лишние символы. В-четвёртых, интерактивные задачи совершенно не должны строго типизироваться. Скорее там должен быть какой-то gradual typing.
Не спорю ни с одним из этих утверждений. Но суть объектов в другом - формат универсален, не нужно парсить. Вот например  очень грамотно сделано в nushell - любая команда возвращает таблицу, и есть универсальные команды для сортировки/фильтрации, которые сразу доступны везде.
источник

KR

K R in Compiler Development
Andrei Kurosh
Не спорю ни с одним из этих утверждений. Но суть объектов в другом - формат универсален, не нужно парсить. Вот например  очень грамотно сделано в nushell - любая команда возвращает таблицу, и есть универсальные команды для сортировки/фильтрации, которые сразу доступны везде.
Там нужно как-то очень ловко совмещать сущности разной степени строгости.

С одной стороны, да, часто хочется объектов, без парсинга, без вылетов и с Хаскельной надёжностью. С другой стороны, интерактивная оболочка работает и в условиях, когда данные очень грязные - часто пишем какой-нибудь "grep тра-ля-ля xxx.log", а выхлопом являются как строки, которые нам нужны, так и шум, который мы отфильтровываем глазами - так быстрее, чем писать программу, выдающую те и только те данные, что нам нужны.

То есть, от интерпретатора командной строки требуется работа сразу на нескольких разных уровнях строгости - системные скрипты из /etc/init.d должны быть абсолютно надёжны, пользовательские - средне, интерактив - напиши и забудь. Наиболее близкое к этому, кажется gradual typing.
источник

I

Ioann_V in Compiler Development
K R
Денег вы не заработаете, т.к. тема очень узкая. Кому надо, те не будут ждать печатной версии, а скачают электронку с Z-library. Известность - да. Халявная вёрстка и вычитка от издательства - да, это плюсы.

Но вот как бы вам самому не пришлось выкладывать сканы этой книги - авторское пиратство очень распространено в научной среде (это когда автор бесплатно сам сканирует и выкладывает или отправляет препринты). Причём это не потому, что кругом аццкие ператы. А просто ну что проще - искать hardcopy или в два клика скачать вот прямо сейчас?
А что вы называете под Денег не заработаю, то есть, что у вас под понятием деньги?
источник

I

Ioann_V in Compiler Development
По тем условиям что мы обсуждаем, с моей точки зрения, мне предлагают вполне себе Деньги. Конечно, на Хилков Переулок 1 квартиру себе не куплю, да и в своем городе тоже не хватит, но на Попить чай - вполне себе.
источник

I

Ioann_V in Compiler Development
У меня скорее вся беда в том, что материал очень много Кодовыкладок содержит, ну и сейчас вообще говоря по работе дел много. Вот так как-то. Просто, все равно по жизни делать более нечего. Хочется взяться, но это большая уж ответственность, по тем условиям что обсуждаются.
источник

I

Ioann_V in Compiler Development
K R
Денег вы не заработаете, т.к. тема очень узкая. Кому надо, те не будут ждать печатной версии, а скачают электронку с Z-library. Известность - да. Халявная вёрстка и вычитка от издательства - да, это плюсы.

Но вот как бы вам самому не пришлось выкладывать сканы этой книги - авторское пиратство очень распространено в научной среде (это когда автор бесплатно сам сканирует и выкладывает или отправляет препринты). Причём это не потому, что кругом аццкие ператы. А просто ну что проще - искать hardcopy или в два клика скачать вот прямо сейчас?
Вот вам такое было бы интересно читать:

Тонкости работы процессоров, компиляторов, алгоритмические тонкости и все это на примерах и с кодом, Бенчмаркам и и проч. Материал, который мне разрешено публиковать, в сети не распространён, ну там его попросту нет. Так как все свое, кроме исходных алгоритмов, а эти в свою очередь недавно вышли(2017-2020 года). Наврятли такое в ZLib найти можно. У меня только в этом вопрос, нужно это людям или нет?
источник

KR

K R in Compiler Development
Ioann_V
А что вы называете под Денег не заработаю, то есть, что у вас под понятием деньги?
Доход = деньги/время. Вот это будет -> 0.

Разумеется, люди читать будут. Но покупать книги - нет.

Кроме того, вопрос - сколько времени эта информация будет актуальна. Всё-таки, процессоры выходят чуть ли не ежегодно.
источник

a

alekum in Compiler Development
Ioann_V
Вот вам такое было бы интересно читать:

Тонкости работы процессоров, компиляторов, алгоритмические тонкости и все это на примерах и с кодом, Бенчмаркам и и проч. Материал, который мне разрешено публиковать, в сети не распространён, ну там его попросту нет. Так как все свое, кроме исходных алгоритмов, а эти в свою очередь недавно вышли(2017-2020 года). Наврятли такое в ZLib найти можно. У меня только в этом вопрос, нужно это людям или нет?
я не знаю, это может уже маркетинг начался какой-то, но мне уже любопытно что это такое, где это почитать и когда будет превью. нельзя написать первые пару глав? Оттуда и интерес сразу станет понятным.)
источник

SS

Sergey Sverdlov in Compiler Development
Ioann_V
По тем условиям что мы обсуждаем, с моей точки зрения, мне предлагают вполне себе Деньги. Конечно, на Хилков Переулок 1 квартиру себе не куплю, да и в своем городе тоже не хватит, но на Попить чай - вполне себе.
За 500 экземпляров Деньги?
источник

I

Ioann_V in Compiler Development
Sergey Sverdlov
За 500 экземпляров Деньги?
Нет, конечно, 500 экземпляров(на самом деле больше) это как я понимаю хотят выпустить пробно. Деньги, какую то сумму мне предлагают сразу заплатить.
источник
2020 April 20

SS

Sergey Sverdlov in Compiler Development
Это очень узкая тематика. Не детектив. Никаких тысячных тиражей не предвидится. Книга на русском?
источник

I

Ioann_V in Compiler Development
alekum
я не знаю, это может уже маркетинг начался какой-то, но мне уже любопытно что это такое, где это почитать и когда будет превью. нельзя написать первые пару глав? Оттуда и интерес сразу станет понятным.)
не маркетинг, ни в коем разе, просто вот написали мне, и поскольку меня это порадовало(я люблю быть полезным), я решил спросить, реально это так нужно, или нет. Из тем, ну например, загляните ко мне на хабр. У меня есть публикация, по пространственной Геометрии, например. Но написана она, очень давно, очень небрежно и криво( а плане кода). Можно лучше в плане перфоманса, и например как и почему - я напишу. То есть, скажем, тем кто знает что такое Рей Трейсинг, будет интересно. А так, вы загляните ко мне в Био, а там загляните в мой маленький канал, который я развивал недели две осенью. Вот, с разными ребятами из тусовки оптимизаций общаюсь уже давно. Тусовка конечно англоязычная.
источник

I

Ioann_V in Compiler Development
Sergey Sverdlov
Это очень узкая тематика. Не детектив. Никаких тысячных тиражей не предвидится. Книга на русском?
Обсуждаем, все пока что обсуждаем, я ведь согласия не давал. Но на английском мне писать, ну уж совсем не сложно. Может даже, было бы перспективнее. Просто я немного на Гормонах Радости это. Я согласия ещё не давал, это очень большая ответственность.
источник

K

Kakadu in Compiler Development
Ioann_V
Обсуждаем, все пока что обсуждаем, я ведь согласия не давал. Но на английском мне писать, ну уж совсем не сложно. Может даже, было бы перспективнее. Просто я немного на Гормонах Радости это. Я согласия ещё не давал, это очень большая ответственность.
Попробуйте какой-нить план по глав сделать, чтобы самому проще планировать и людям можно было показать, что примерно будет. А по сабжу, думаю что купил бы
источник

SS

Sergey Sverdlov in Compiler Development
Ioann_V
Обсуждаем, все пока что обсуждаем, я ведь согласия не давал. Но на английском мне писать, ну уж совсем не сложно. Может даже, было бы перспективнее. Просто я немного на Гормонах Радости это. Я согласия ещё не давал, это очень большая ответственность.
Удачи
источник

I

Ioann_V in Compiler Development
Вот как пример, недавно мне прилетел в личку, такой вопрос:

std::hardware_constructive_interference_size
std::hardware_destructive_interference_size
Они разве не должны иметь одни и те же значения?
Первая отвечает за максимальное количество байт, чтобы не было false sharing.
Вторая отвечает за максимальное количество байт, которое считывается процессором(по сути длина кэш линии).
Где ошибся?

Это цитата выше. Вот тут, очень важно понимать, что вещи перед нами не теже самые. А вы знаете почему и на каких архитектурах оно не одно и тоже? Почему даже выравнивая по кеш линии, мы можем получить false sharing? А ведь речь о Sandy Bridge родимом. Хотя и старый, но у моих друзей не программистов, именно он и стоит. А ещё про процессоры от huawei, где это очень актуально тоже. Написать о этом факте, можно в контексте разбора какого то параллельного алгоритма, например.
источник

DP

Dmitry Ponyatov in Compiler Development
Зигохистоморфный Препроморфизм
Не обманывайтесь, а просто используйте)
When dealing with integers, the user will enter the notation 5=2+3 but internally the Coq kernel
will be given the term:
@eq Z (Zpos (xI (xO xH))) (Zplus (Zpos (xO xH)) (Zpos (xI xH)))

да не спасибо
источник

МБ

Михаил Бахтерев in Compiler Development
Dmitry Ponyatov
When dealing with integers, the user will enter the notation 5=2+3 but internally the Coq kernel
will be given the term:
@eq Z (Zpos (xI (xO xH))) (Zplus (Zpos (xO xH)) (Zpos (xI xH)))

да не спасибо
А где в этом теория категорий и прочие "ужасы"? Обычное ast
источник

YR

Yurii Rashkovskii in Compiler Development
Dmitry Ponyatov
А есть системы контроля версий, которые не по строкам работают, а по AST конкретных языков?
правда сам не могу понять, что будет если diff будет считать два куска, отличающихся только пробелами и порядком литералов в сетах, одним и тем же
Я в ранних стадиях похоже проекта
источник