LINUX.ORG.RU
ФорумTalks

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

 , , ,


0

5

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

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

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

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

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

Наверное, там речь про интерпретатор шла.

Там речь про базовый компилятор. Наверное, ещё и в какой-нибудь наивной реализации. То есть компилятор сделан и компилирует, но вот всё самое интересное - оптимизации, вывод типов и т.д. делается уже в большом лиспе.

Это не лисп, что ли?

Это отсутсвие знаний по теме обсуждения. Предлагаю вернуться к этому вопросу после восполнения пробелов.

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

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

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

Там речь про базовый компилятор. Наверное, ещё и в какой-нибудь наивной реализации. То есть компилятор сделан и компилирует, но вот всё самое интересное - оптимизации, вывод типов и т.д. делается уже в большом лиспе

«Наверное»? Это мне пишет чел, который без какой-либо аргументации третий пост подряд меня обвиняет меня в некомпетентности?

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

Браузер предоставляет только куцую кроссплатформенную среду выполнения

Ага. С полностью кроссплатформенный гуем.

Куцую — потому что не имеет интеграции с остальной ОС, не имеет доступа к файлам, имеет сильно ограниченный доступ к сети

Сделано из соображений безопасности. Но современный веб развивается в этом направлении.

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

Я подскажу: язык для бека выбран неверный.

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

Конечно там нет SIMD инструкций, откуда они там. И главное зачем.

Угу, еще код ASM вставить нельзя.

И главное зачем?
anonymous ()
Ответ на: комментарий от byko3y

Куцую — потому что не имеет интеграции с остальной ОС, не имеет доступа к файлам, имеет сильно ограниченный доступ к сети.

А вы хотели, чтобы имел?

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

То, что я хотел у вас спросить, я уже спросил. Спасибо за внимание.

Гм, правильно

Желаю Вам успехов в труде и большого счастья в личной жизни. Благодарю за внимание.
anonymous ()
Ответ на: комментарий от byko3y

Говнопсихологи.

… ЛОР, «Космические корабли, которые бороздят ЛОР», …

anonymous ()

Веселый тред

Желаю Вам успехов в труде и большого счастья в личной жизни.  
Благодарю за внимание.
anonymous ()
Ответ на: комментарий от lovesan

Всем на лоре очевидно, что ты дебил. Только тебе это по какой-то причине это не очевидно. Наверное это из-за того, что ты дебил.

anonymous ()

на сайте хаха.ру ПЯТЬ вакансий по лиспу, и 2000 с хвостиком по с++.

Как это понимать? Это заговор?

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

Браузер предоставляет только куцую кроссплатформенную среду выполнения
Ага. С полностью кроссплатформенный гуем

И гуй там куцый по сравнению с любой нативной либой GUI. Что у тебя есть из кроссплатформенного фейса в хроме? Кнопки, поля ввода, выпадающие списки, и ограниченные фичи для отрисовки текста, прокручиваемые области. Можно всё это крутить-вертеть еще через CSS стили, но я советую этого не делать, потому что можно словить очень веселые баги — эти фичи все-таки были придуманы больше для рюшечек-переходов, чем для нормального интерфейса.

Как сделать текстовой процессор на этом деле? Хотя бы уровня WordPad. Для этого тебе нужно несколько человеколет и реализацию с нуля просчета позиционирования текста и прочих элементов документа. И, между прочим, для JS вполне себе есть загрузка шрифтов и их отрисовка — на чистом JS, без использования платформозависимых браузерных шрифтов.

Как сделать инструмент для рисования аля Paint? HTML5 Canvas и опять же с нуля обрабатывать пиксели. И на этой канве ты теряешь почти все фичи обычного DOM-based интерфейса.

По итогу сложность реализации этих фич с нуля на JS такова, что проще уже было бы взять готовые крестовые библиотеки, реализовать большую часть логики софтины платформонезависимо, и натянуть поверх этого нативный интерфейс под каждую платформу отдельно. И так делают, чтобы не преодолевать мужественно наслоения legacy и опять-таки платформозависимых фич в браузерах, вроде тех же шрифтов. Особенно шрифтов, с ними вообще катастрофа какая-то.

Сделано из соображений безопасности. Но современный веб развивается в этом направлении

Лукавишь. Если в браузере реализовать все родные интерфейсы ОС, то получится огромный монстр. Казалось бы, куда еще больше — но запасайтесь попкорном, самое интересное только впереди.

Я подскажу: язык для бека выбран неверный

Пофигу какой язык — главное, что ты будешь дергать RPC для того, чтобы эти нативные фичи вызвать.

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

Куцую — потому что не имеет интеграции с остальной ОС, не имеет доступа к файлам, имеет сильно ограниченный доступ к сети.

А вы хотели, чтобы имел?

Посмотри, например, на приложения андроида — они запрашивают разрешение на использование небезопасных фич.

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

Лисп взлетел потому, что на его разработке распиливались миллиарды

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

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

И гуй там куцый по сравнению с любой нативной либой GUI

Там доступны бесконечные возможности гипертекста и скриптов.

Как сделать текстовой процессор на этом деле? Хотя бы уровня WordPad

Как делали онлиофис, гуглодоки? Ну и вы не забывайте, что браузер может запускать васм.

Как сделать инструмент для рисования аля Paint

https://jspaint.app/

Или собрать пеинт в васм.

По итогу сложность реализации этих фич с нуля на JS

Чего вы прицепились к жс? Реализуйте на плюсах, шарпе или тайпскрипте.

Лукавишь. Если в браузере реализовать все родные интерфейсы ОС, то получится огромный монстр

Оглянитесь, браузер уже — огромный монстр. Просто пока он относительно безопасный, зайдя на сайт, вы не потеряете свою информацию.

Пофигу какой язык — главное, что ты будешь дергать RPC для того, чтобы эти нативные фичи вызвать.

Зачем? У меня будет обычная клиент-серверная архитектура, где за логику отвечает сервер. То же нативное приложение, только отображением занимается браузер.

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

Как делали онлиофис, гуглодоки?

OnlyOffice — это эрланговый бэк и отрисовка редактора в Canvas. Какую долю форматирования работы выполняет фронт, а какую бэк — не скажу.

Гуглдоки реализовывались как я описал в предыдущем сообщении — на чистом JS реализовывался расчет форматирования, дальше по этим расчетам формируются DOM блоки с уже родным браузерным содержимым, и курсор редактирования с миганием через CSS (когда-то курсор мигал тоже через JS).

Ну и вы не забывайте, что браузер может запускать васм

И будешь ты на этом WAsm с нуля реализовывать всю ОС.

https://jspaint.app/

Эта куцая поделка не дотягивает до стандартного виндового Paint.

Или собрать пеинт в васм

Да, почему бы нет, он же теперь у нас опенсорснут. А есть уже васмовые прокладки для kernel32.dll, user32.dll, и gdi32.dll?

Чего вы прицепились к жс? Реализуйте на плюсах, шарпе или тайпскрипте

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

Лукавишь. Если в браузере реализовать все родные интерфейсы ОС, то получится огромный монстр

Оглянитесь, браузер уже — огромный монстр

Ну так а я о чем? Это была разминка, а теперь будет настоящий браузер. 64 терабайта памяти хватит всем.

Зачем? У меня будет обычная клиент-серверная архитектура, где за логику отвечает сервер. То же нативное приложение, только отображением занимается браузер

У меня нескромный вопрос: ты когда-нибудь такое приложение писал? Просто ты так пишешь, мол «то же нативное приложение», но я пока не знаю ни одного проекта, где это бы реализовывалось просто. Вместо того, чтобы просто дернуть какую-то функцию, тебе нужно прикидывать «ага, она в другом процессе, пошлю RPC, а чтобы лишний раз не бегать в другой процесс — закэширую ответ». Может быть в Erlang это можно сделать просто и прозрачно, но не в JS — ты ведь не можешь кидать произвольные объекты между процессами, они должны быть самодостаточными и полностью содержащимися в запросе, а этого не так просто достичь в JS, в отличие от Erlang.

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

И будешь ты на этом WAsm с нуля реализовывать всю ОС.

Чтобы что?

Эта куцая поделка не дотягивает до стандартного виндового Paint.

https://online-fotoshop.ru/

А это дотягивает?

А есть уже васмовые прокладки для kernel32.dll, user32.dll, и gdi32.dll?

Понятия не имею, спросите у М$.

потеряйте все кроссплатформенные фичи браузера

Браузер — отображение. Извольте писать кроссплатформенный код.

У меня нескромный вопрос: ты когда-нибудь такое приложение писал?

Ага.

Просто ты так пишешь, мол «то же нативное приложение», но я пока не знаю ни одного проекта, где это бы реализовывалось просто

Мне интересно, а как это реализовать сложно?

Вместо того, чтобы просто дернуть какую-то функцию

Ещё раз: логики в клиенте нет или практически нет, он не решает, что дёргать.

Может быть в Erlang это можно сделать просто и прозрачно, но не в JS — ты ведь не можешь кидать произвольные объекты между процессами, они должны быть самодостаточными и полностью содержащимися в запросе, а этого не так просто достичь в JS, в отличие от Erlang.

При чём тут вообще эрланг?

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

Я пропустил момент с этим «единственным примером». Это про Micorsoft, что ли? В каком месте MS зарабатывает не на сервисах?

Ты сам-то ходил по своей ссылке?

Productivity and Business Processes	$46,398		$41,160		$35,865	13%	15%
Intelligent Cloud	48,366		38,985		32,219	24%	21%
More Personal Computing	48,251		45,698		42,276	6%	8%

Облака - это почти исключительно «Intelligent Cloud». Доля облачных лицензий есть в двух остальных пунктах, но она ничтожна.

доход от сервисов превысил доход от продуктов:

Вот только в «Service and other» есть «other», где доходы от патентных отчислений, а в самом «service» помимо облаков всевозможный консалтинг.

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

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

Куцую — потому что не имеет интеграции с остальной ОС, не имеет доступа к файлам, имеет сильно ограниченный доступ к сети.

А вы хотели, чтобы имел?

Посмотри, например, на приложения андроида — они запрашивают разрешение на использование небезопасных фич.

Ну так и браузер запрашивает - на доступ к камере и микрофону, к примеру.

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

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

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

И будешь ты на этом WAsm с нуля реализовывать всю ОС.

Чтобы что?

Чтобы запустить пейнт. Или калькулятор.

https://online-fotoshop.ru/

А вот это очень круто. Только правильная ссылка:
https://www.photopea.com
Это чистый ванильный JS, контролы и панельки на DOM элементах (потому такие страшные), и сама область рисования на Canvas. Надо заметить, что задачу ему сильно облегчили готовые компоненты работы с форматами файлов и шрифтами, который были реализованы за него с нуля на голом JS, а кое-что даже в WAsm (wasm/zstd, wasm/webp, wasm/jpg).

Браузер — отображение. Извольте писать кроссплатформенный код

Браузер — это третья платформа. А WAsm — вообще четвертая, если по-хорошему считать. И получается зоопарк уже в одном браузере, даже не доходя до натива.

Ещё раз: логики в клиенте нет или практически нет, он не решает, что дёргать

Например, VS Code делит логику 50 на 50. В том SPA, что я пишу, больше половины кода во фронте. Если выносить каждую реакцию на скролл или наведение мышки в RPC до бэка (на локалхосте), то приложуха будет зело тормозить. Хоть это и реализуемо. У photopea 99% логики во фронте — это по сути статичный веб-сайт.

При чём тут вообще эрланг?

При том, что эрланг изначально ориентировался на бесшовное RPC. А вот JS — совсем нет.

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

Чтобы запустить пейнт. Или калькулятор.

И зачем же вся ОС?

А WAsm — вообще четвертая, если по-хорошему считать. И получается зоопарк уже в одном браузере, даже не доходя до натива

Зоопарк, сложная часть которого написана с использованием универсальной кроссплатформенной системы — браузер

В том SPA, что я пишу, больше половины кода во фронте

Ещё бы, это смысл усложнённых СПА.

Если выносить каждую реакцию на скролл или наведение мышки в RPC до бэка (на локалхосте), то приложуха будет зело тормозить

Скролл или моргание курсора — те маленькие части, которые, чаще всего, должны быть реализованы во фротнте. К слову, скроллинг уже организован в браузере, можно, конечно, усложнить его до загрузки по требованию, но там тоже большая часть будет на беке.

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

Цитирую:

Productivity and Business Processes

...This segment primarily comprises:

    Office Commercial, including Office 365 subscriptions, the Office portion of Microsoft 365 Commercial subscriptions, and Office licensed on-premises, comprising Office, Exchange, SharePoint, Microsoft Teams, Office 365 Security and Compliance, and Skype for Business, and related Client Access Licenses (“CALs”).
    Office Consumer, including Microsoft 365 Consumer (formerly Office 365 Consumer) subscriptions and Office licensed on-premises, and Office Consumer Services, including Skype, Outlook.com, and OneDrive.
    LinkedIn, including Talent Solutions, Learning Solutions, Marketing Solutions, Sales Solutions, and Premium Subscriptions.
    Dynamics business solutions, including Dynamics 365, a set of cloud-based applications across ERP and CRM, Dynamics ERP on-premises, and Dynamics CRM on-premises.

То есть, у них есть строчка про «Cloud», которая вообще не имеет ничего общего с оффлайном, а есть помесь облаков и оффлайна, вроде Office и Dynamics — поскольку их нельзя однозначно отнести ни в одну категорию, то они объединены вместе. И это дает мне основание утверждать, что доход MS за 2020 уже перевалил за 50 на 50 в сторону облаков, учитывая динамику, которая движется однозначно в сторону облаков.

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

Чтобы запустить пейнт. Или калькулятор.

И зачем же вся ОС?

Можно не всю. Ядро седьмой винды — это 5.4 мегабайт, если кто не в курсе. Но вообще — я писал ниже, что достаточно проложить только либы kernel/gdi/user, которые юзерспейсовые — wine примерно так и делает.

Зоопарк, сложная часть которого написана с использованием универсальной кроссплатформенной системы — браузер

Ты точно понял, что написал? Как может быть браузер написан с использованием универсальной кроссплатформенной системы? Браузер предоставляет несколько независимых платформ, разные браузеры предсотавляют разное число этих платформа с разными фичами — весь этот зоопарк условно называется «кроссплатформа» потому, что этот зоопарк платформ не зависит от нативной платформы. Это как докер, который живет в линуксе, который живет в винде, в доме, который построил джек. То есть, вместо решения проблемы мы будем наращивать новые вложенные сущности.

Скролл или моргание курсора — те маленькие части, которые, чаще всего, должны быть реализованы во фротнте. К слову, скроллинг уже организован в браузере, можно, конечно, усложнить его до загрузки по требованию, но там тоже большая часть будет на беке

Таких «маленьких частей» дофига в достаточно сложном приложении. То ли у тебя hello world, то ли ты прокинул все события DOM на свой бэк — это единственные варианты, которые я вижу для описываемого тобой сценария «всё просто — сделаем всю логику только на бэке».

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

говорят, самый дефицит кадров сейчас в машобуче и датасаенсе

Там балом правят бывшие курьеры и преподаватели русского языка, LOR-у туда еще расти и расти.

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

тема ИИ снова расцвела … лиспа … никому не нужен.

Ты уверен?

Да, Мне тебе показывать опросы stackoverflow, статистику Tiobe, или как?

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

Мне тебе показывать опросы stackoverflow, статистику Tiobe, или как?

И что ты этим хочешь показать?

turtle_bazon ★★★★★ ()

лавсанчик в очередной раз жиденько обосрался

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

Как может быть браузер написан с использованием универсальной кроссплатформенной системы

Не знаю, я про это и не говорил.

Браузер — та самая кроссплатформенная система.

Таких «маленьких частей» дофига в достаточно сложном приложении

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

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

Победа присуждается МС, которые своими напёрстками в отчётах достигли заявленной цели - запудрили мозги тебе и @byko3y.

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

То есть, у них есть помесь облаков и оффлайна, вроде Office и Dynamics — поскольку их нельзя однозначно отнести ни в одну категорию, то они объединены вместе.

Что за дичь ты написал? Office / Dynamics 365 идут и как облачные, и как on premise решения. Догадайся с трёх раз, что покупают корпораты? Подсказка - это не облака.

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

ты обладатель какого-то особенного знания

Да, в отличие от среднего лоровца я работаю не на толоке с апворком. %%Или хлебопекарне с телескопом.%%

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

МС, которые своими напёрстками в отчётах достигли заявленной цели

Ты директор этой компании и знаешь цели и средства компании?

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

Я знаю её (как и любой другой публичной компании) цели и средства, даже будучи безработным. Их, вобщем-то, знают все. По крайней мере все, кто хочет.

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

Я знаю её (как и любой другой публичной компании)

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

anonymous ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)