LINUX.ORG.RU
ФорумTalks

SBCL уделывает C++(и шланг, и G++) по производительности

 , , ,


0

5

https://programming-language-benchmarks.vercel.app/problem/spectral-norm

Немного лучше него, буквально на десяток миллисекунд, справляется rust.

Назовите теперь хоть одну причину использовать плюсы вообще?

Перемещено xaizek из development

★★

Ответ на: комментарий от B0B

Не интригуй! Продолжай! Я, как начинающий лиспер, хочу развёрнутую мысль!

А что продолжать то? У всего своё время. Лисп взлетел в своё время, сейчас летает и падает другое. Предпосылок для лиспа нет. Стеки, технологии, бест практисес, курсы и подобная ерунда наработана сейчас. Ты даже не представляешь как сложно яву 1.6 на 1.8 мигрировать, а ты про эру лиспа. :)

turtle_bazon ★★★★★
()
Ответ на: комментарий от vertexua

Так в ракете его и используют, вроде бы. Или поменяли. Или на него, или с него. :) Знающие люди подскажут. В общем, не пошла схема у меня в рил ворлд.

turtle_bazon ★★★★★
()
Ответ на: комментарий от alysnix

Я на асме бутстрапил. А из чего по-твоему бутсрапится си?

Парсер и компилятор лиспа проще сишного, хоть на машинных кодах его делай, хоть на перфокартах.

filosofia
()
Ответ на: комментарий от vertexua

Рационализация после покупки ну и Искажение в восприятии сделанного выбора

Мимо. Я к лиспу шёл медленно, но уверенно, пытаясь от него отмахнутьсья.

turtle_bazon ★★★★★
()
Ответ на: комментарий от monk

Обновление без простоя умеют Common Lisp и Erlang. Во всех остальных языках можно, максимум, заменить плагины.

JavaScript умеет.

javascript
()
Ответ на: комментарий от vertexua

С этим понятно. Я тут не лисп защищаю, а гипотетический «лисп» который всего лишь копеечной ценой 40 МБ давал бы небывалые преимущества в разработке. Например преимущества такого масштаба, про которые кричат лишпофанатики до прихода санитаров. Тогда 40 МБ - это вообще ничего

Ну, во-первых, таки дают. Во-вторых, никто не запрещает из образа удалить всё ненужное. В-третьих, некоторые лиспы вообще не умеют REPL и всё такое прочее ложить в образ.

mv ★★★★★
()
Ответ на: комментарий от gremlin_the_red

ну пусть 25мб, а это в наше время смешная цифра.

Ну тут из-за 40мб кипятком исходят.

turtle_bazon ★★★★★
()
Ответ на: комментарий от fernandos

Ограничений не накладывается. Причём, ничего не запрещает одновременно иметь и то (интерпретатор байткодов), и то (конпелятор в маш.коды).

mv ★★★★★
()
Ответ на: комментарий от fernandos

Для большинства программ (в особенности для большинства программ, за которые платят деньги) это прекрасный вариант. У нас тут в энтерпрайзе образа докера для микросервисов по гигабайту занимают в лёгкую. Мне смешны ваши заплачки по 40 мегабайтам. Это копейки.

ugoday ★★★★★
()
Ответ на: комментарий от mv

Или, вот, если нонче популярный голанг, то будет сливать память в унитаз, тормозя систему всё больше и больше, если убивать такой процесс никто не настроен.

Не знаю о чём ты, у нас большинство сервисов на голанге, с памятью всё в порядке.

korvin_ ★★★★★
()
Ответ на: комментарий от fernandos

А если вы иного мнения, то смею вас заверить, что это действительно незначительная «проблема».

Более незначительная, чем исполняемый файл на 40 Мб?

turtle_bazon ★★★★★
()
Ответ на: комментарий от filosofia

Я на асме бутстрапил. А из чего по-твоему бутсрапится си?

асм - тоже компилятор. только простой, компутер буковок не понимает,… поэтому, что асм, что си - в данном случае разницы нет.

кошерно было б бутстрапить в машинных кодах.

си бутсрапить уже не надо, он везде есть. а если нужна новая архитектура, просто переписывают генератор кода.

взяв си, можно написать ему всю системную библиотеку прям на этом самом си.

взяв язык бога рантайм ему на нем самом не напишешь. надо брать язык диавола и писать на нем.

короче - си язык диавола, а диавол вездесущ.

alysnix ★★★
()
Последнее исправление: alysnix (всего исправлений: 1)

Чет не понял как смотреть, больше лучше?

pon4ik ★★★★★
()
Ответ на: комментарий от alysnix

асм - тоже компилятор

Неа, это ассемблер:) Если речь идёт о макроассемблере, то ещё и препроцессор.

Грань тонкая, но она всё же имеется имхо, т.к. отсутствует как таковая фаза построения AST и трансляции уже его в опкоды, вместо этого требуется простой мэппинг одного представления опкода в другое. Препроцессор же это отдельный модуль, который существует в куче других языков.

pon4ik ★★★★★
()
Последнее исправление: pon4ik (всего исправлений: 1)
Ответ на: комментарий от alysnix

взяв си, можно написать ему всю системную библиотеку прям на этом самом си.

взяв язык бога рантайм ему на нем самом не напишешь. надо брать язык диавола и писать на нем.

Что за бред. На любом тьюринг-полном языке можно написать генератор чего-угодно, в том числе машкода. На любом языке, рантайм, которого имеет средства ввода\вывода можно все нагенерировнное сохранить в файл, в том числе исполняемый.

Ты хоть на баше можешь написать скрипт, который тебе в конечном счете будет генерировать ELF/PE, который будет содержать рантайм чего-угодно, сгенерированное этим же самым башем.

Машинный код - это всего-лишь массив байт.

javascript
()
Ответ на: комментарий от monk

Я правильный лисп уже нашёл. Называется Racket.

Кажется, ты где-то писал, но интересно как у тебя уживаются racket с хаскелем. Используешь оба языка? В каких случаях какой бы предпочёл (и почему)?

DarkEld3r ★★★★★
()
Ответ на: комментарий от javascript

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

вы только что предложили на лиспе написать условный ассемблер, ну или условный си… а потом на этом ассемблере/си написать лисп-машину. и пустить на ней этот самый лисп…

какая разница на чем написан условный ассемблер или си? они в игре присутствуют? да. о чем и речь

alysnix ★★★
()
Ответ на: комментарий от alysnix

Что за условный ассемблер ИЛИ условный си.

Си у вас не условный ассемблер? Любой компилятор генерирующий на выходе машкод - в вашей интерпретации - это и есть условный ассемблер. Удачного приема таблеток.

а потом на этом ассемблере/си написать лисп-машину. и пустить на ней этот самый лисп…

Алсо, нет. Все как и везде. Строите AST из чего-угодно, AST транслируется во что угодно, и даже в машкод. Так что в конечном итоге, вы пишете ЛИСП-машину, не на ассемблере, а на том, на чем вам удобно. Именно так и работает многоуровневость языков программирования.

javascript
()
Последнее исправление: javascript (всего исправлений: 1)
Ответ на: комментарий от javascript

Строите AST из чего-угодно,

из ЧЕГО вы строите свое AST??? из чего угодно - не проходит.

вы должны ИЗ ЛИСПА построить такое аст, чтобы получился рантайм этого лиспа.

то есть вопрос простой - хватит ли у лиспа выразительной и прочей мощи, чтобы написать на нем собственный, эффективный рантайм?

вот у си и плюсов такой мощи навалом, у них все на них и написано.

alysnix ★★★
()
Последнее исправление: alysnix (всего исправлений: 2)
Ответ на: комментарий от fernandos

При компиляции в машинный код, ВМ нужна?

Нет. Общелисп вообще очень интересно внутри устроен.

mv ★★★★★
()
Ответ на: комментарий от korvin_

Не знаю о чём ты, у нас большинство сервисов на голанге, с памятью всё в порядке.

На предыдущей работе логи были засраны OOM от убиений голанговских микросервисов. И регулярно были запросы на передел памяти типа: «Нам нужно тактовую частоту репортить наверх, в базу данных, по энторнету! Дайте гигабайт памяти!».

mv ★★★★★
()
Ответ на: комментарий от alysnix

то есть вопрос простой - хватит ли у лиспа выразительной и прочей мощи, чтобы написать на нем собственный, эффективный рантайм?

Те 40 Мб и есть рантайм, который на лиспе же и написан.

вот у си и плюсов такой мощи навалом, у них все на них и написано.

Нужно уметь понимать суть. На си написана библиотека и компоненты ОС. Поэтому глибс и находится вместе с ОС. И поэтому рантайм для лиспа тоже пишется на си - чтобы загружаться на ОС, которая написана на си. Вообще, взгляни на Mezzano какой-нибудь.

turtle_bazon ★★★★★
()
Ответ на: комментарий от alysnix

вы должны ИЗ ЛИСПА построить такое аст, чтобы получился рантайм этого лиспа.

По-твоему это невозможно или что? Или представляет какие-то сложности? Что такое AST вы вообще понимаете?

javascript
()
Ответ на: комментарий от javascript

Что такое AST вы вообще понимаете?

Конечно, это красивое слово.

turtle_bazon ★★★★★
()
Ответ на: комментарий от turtle_bazon

На си написана библиотека и компоненты ОС. Поэтому глибс и находится вместе с ОС.

але. про ос и разговора не было. и на чем она написана. и даже если она написана на си/++, глибс оси не имеет ни малейшего отношения к рантайму приложений на си или плюсах.

приложения берут статические либы рантайма из тулчейна на котором их билдят. рантайм для приложения, это вообще набор внешних символов, что должны быть найдены на этапе ликновки.

вы можете подсунуть свои их реализации прилинковав свои модули, с символами рантайма, запретив стандартный рантайм.

то есть сишный/плюсовый рантайм это - полная свобода выбора.

alysnix ★★★
()
Ответ на: комментарий от javascript

Что такое AST вы вообще понимаете?

немного. строил эти аст из языков всяких и генерил по ним двоичный код. ну или код на си.

с удовольствием послушаю ваши мысли на эту тему

alysnix ★★★
()
Последнее исправление: alysnix (всего исправлений: 1)
Ответ на: комментарий от alysnix

про ос и разговора не было. и на чем она написана.

Ась? То есть приложения и либси не существуют? И того факта, что либси идёт вместе с ос тоже? И что если её удалить, то ты сюда ничего написать не сможешь.

turtle_bazon ★★★★★
()
Ответ на: комментарий от alysnix

строил эти аст из языков всяких и генерил по ним двоичный код. ну или код на си.

Пиши ещё.

turtle_bazon ★★★★★
()
Ответ на: комментарий от turtle_bazon

И того факта, что либси идёт вместе с ос тоже?

причем тут ос вообще? был разговор о возможности написать на самом лиспе его рантайм.

каким образом тут оказалась ос? и тот факт, что некая ос реализована на си? а если б ос была реализована не на си…то какое отношение это имеет к вопросу о лиспе? что это меняет в вопросе о рантайме лиспа?

alysnix ★★★
()
Ответ на: комментарий от alysnix

был разговор о возможности написать на самом лиспе его рантайм.

Да, и в этом разговоре звучало, что возможность есть.

а если б ос была реализована не на си…

Mezzano.

turtle_bazon ★★★★★
()
Ответ на: комментарий от javascript

Кстати да. Буквально в 2 пинка можно поменять колёса на ходу.

crutch_master ★★★★★
()
Ответ на: комментарий от alysnix

был разговор о возможности написать на самом лиспе его рантайм.

А почему это не должно быть возможно?

hateyoufeel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.