The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Сравнение эффективности 20 языков программирования, opennews (??), 03-Янв-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


17. "Сравнение эффективности 20 языков программирования"  +3 +/
Сообщение от Советский инженер (ok), 03-Янв-24, 11:28 
```rust
fn matmul(n: usize, a: Vec<Vec<f64>>, b: Vec<Vec<f64>>) -> Vec<Vec<f64>>
```

какойто додик упоротый передает вектора в функцию по значению !!!
это даже не смешно.

всратые клоуны

Ответить | Правка | Наверх | Cообщить модератору

21. "Сравнение эффективности 20 языков программирования"  –1 +/
Сообщение от пох.. (?), 03-Янв-24, 11:30 
> какойто додик упоротый передает вектора в функцию по значению !!!
> это даже не смешно.

"appease clippy"

Ответить | Правка | Наверх | Cообщить модератору

31. "Сравнение эффективности 20 языков программирования"  +2 +/
Сообщение от qetuo (?), 03-Янв-24, 11:45 
Передает. Но в Rust по умолчанию используется "перемещение", поэтому никаких промежуточных аллокаций и копирований содержимого происходить не будет.
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

129. "Сравнение эффективности 20 языков программирования"  +3 +/
Сообщение от Аноним (124), 03-Янв-24, 13:52 
Оказывается раст не защищает от полного непонимания происходящего и, как следствие, говнокода) удивительно... восхитительно...
Ответить | Правка | Наверх | Cообщить модератору

131. "Сравнение эффективности 20 языков программирования"  –1 +/
Сообщение от Аноним (-), 03-Янв-24, 13:59 
Но, только для тех, кто не читал документацию.
Ответить | Правка | Наверх | Cообщить модератору

248. "Сравнение эффективности 20 языков программирования"  +1 +/
Сообщение от Вы забыли заполнить поле Name (?), 03-Янв-24, 21:45 
> Но, только для тех, кто не читал документацию.

А кто ее читает? Серьезно спрашиваю? Пример - автор оригинального комментария. Постоянно топит за раст, а доку получется не читал. Ой, смешные.

Ответить | Правка | Наверх | Cообщить модератору

262. "Сравнение эффективности 20 языков программирования"  +1 +/
Сообщение от Аноним (-), 03-Янв-24, 22:27 
А я что говорил "автор оригинального комментария" хорошо разбирается в расте?
Тут половина пишущих в теме про него - ваще не бумбум.
Чего только витюшка стоит.
Ответить | Правка | Наверх | Cообщить модератору

289. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Витюшка (?), 04-Янв-24, 00:57 
Помнят, любят))) Но обычно по факту сказать нечего.
Ответить | Правка | Наверх | Cообщить модератору

190. "Сравнение эффективности 20 языков программирования"  +1 +/
Сообщение от Советский инженер (ok), 03-Янв-24, 18:03 
размер Vec<T> 24 байта.
так что передача в функцию не такая уж и бесплатная.
через регистпы не пролезет.


ну и сам вызов мува. это как никак а вызов функции.

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

232. "Сравнение эффективности 20 языков программирования"  –2 +/
Сообщение от Витюшка (?), 03-Янв-24, 20:54 
Как это вызов функции?😨
А как же Zero Cost Abstractions?
Ответить | Правка | Наверх | Cообщить модератору

499. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от qetuo (?), 11-Янв-24, 01:43 
Полная чушь.

> размер Vec<T> 24 байта.
> так что передача в функцию не такая уж и бесплатная.
> через регистпы не пролезет.

24 = 3 * 8 = 3 РОНа из 14 свободно доступных на x86_64. А еще есть FPU регистры, которыми тоже можно пользоваться. И даже если там будет спилл, он будет разовым и никакого абсолютно влияния на результаты не окажет.

> ну и сам вызов мува. это как никак а вызов функции.

Никакого вызова там нет, это 3 mov.

Ответить | Правка | К родителю #190 | Наверх | Cообщить модератору

84. "Сравнение эффективности 20 языков программирования"  +1 +/
Сообщение от Alladin (?), 03-Янв-24, 12:37 
сьто?, Vec представляет из себя указатель и ты переместил/скопировал указатель в функцию.

ты бы лучше спросил зачем им аллокация в аллокации.

Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

102. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Советский инженер (ok), 03-Янв-24, 12:57 
>Vec представляет из себя указатель

указатель и счетчик занятого

Ответить | Правка | Наверх | Cообщить модератору

266. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Вы забыли заполнить поле Name (?), 03-Янв-24, 22:58 
>>Vec представляет из себя указатель
> указатель и счетчик занятого

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

Ответить | Правка | Наверх | Cообщить модератору

272. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Советский инженер (ok), 03-Янв-24, 23:35 
>Пытаешься свернуть с темы?

Э, с какой темы?
Или ты тоже считаешь что передача указателя на массив и вектора в функцию равнозначны с точки зрения производительности?

Ответить | Правка | Наверх | Cообщить модератору

85. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Sw00p aka Jerom (?), 03-Янв-24, 12:38 
задам вопрос не по теме, зачем какой либо функции возвращать значение return-ом, если назначение (dst) возвращаемого значения можно передать указателем в качестве аргумента фукнции?
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

136. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Витюшка (?), 03-Янв-24, 14:03 
Rust программисты не знают семантику перемещения в своём языке 😀🥳 Почему это неудивительно?

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

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

Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

144. "Сравнение эффективности 20 языков программирования"  –1 +/
Сообщение от Аноним (-), 03-Янв-24, 14:29 
А кто сказал что Советские инжинеры в нем разбираются)
Вот ты тоже про Раст комментировал, даже доку не прочитав.
А так осуждаешь, как-будто сам никогда не умничал в темах, в которых не разбираешься)
Ответить | Правка | Наверх | Cообщить модератору

148. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Витюшка (?), 03-Янв-24, 14:43 
Я как раз доку прочитал. И про borrow checker читал. И про move семантику.

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

В lifetime я конечно плыву, но я них и не говорю.

Ответить | Правка | Наверх | Cообщить модератору

209. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Советский инженер (ok), 03-Янв-24, 18:46 
>Rust программисты не знают семантику перемещения в своём языке

И тем не менее  в zig версии использовались слайсы.
Не пояснишь а чего ж так?

Ответить | Правка | К родителю #136 | Наверх | Cообщить модератору

234. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Витюшка (?), 03-Янв-24, 20:56 
Поподробнее свою мысль разверни
Ответить | Правка | Наверх | Cообщить модератору

235. "Сравнение эффективности 20 языков программирования"  +5 +/
Сообщение от Иисус (?), 03-Янв-24, 20:56 
Rust-погромисты вполне себе знают. Приведённый пример кода явно написан человеком, который не умеет писать на Rust. Vec внутри Vec для двумерного массива это, кринж, как сейчас модно говорить. И это будет так для любых языков без GC.

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

Вывод какой? Все подобные исследования не позволяют судить о том, что одни языки лучше других в чём либо. Разве только на уровне "компилируемые ЯП обычно быстрее интерпретируемых". Но мы это и так знаем.

Ответить | Правка | К родителю #136 | Наверх | Cообщить модератору

240. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Аноним (240), 03-Янв-24, 21:26 
Тут не бодание фишками, а сравнение что будет если тратить мало времени и делать код чтобы работало выполняя синтетическую нагрузку.
То чего можно вдальнейшем достичь достигается гуру, которым это не лень.
Работать работу это вам не выдавать нагора все лучшее и сразу показывая видишь мускул этот конкретно чуть больше? Значит я лучше тебя во всем.
Все правда давно разочаровались в кодерах. Одного тытрупа хватает с жирновебом.
Работает? Канает? Вот и не гунди.
Ответить | Правка | Наверх | Cообщить модератору

253. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Аноньимъ (ok), 03-Янв-24, 21:56 
Исус прав.
Ответить | Правка | К родителю #235 | Наверх | Cообщить модератору

297. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Аноним (295), 04-Янв-24, 01:32 
Можно подумать код на Nim и Zig писали программисты с большим опытом на них.
Ответить | Правка | К родителю #235 | Наверх | Cообщить модератору

309. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Sw00p aka Jerom (?), 04-Янв-24, 01:59 
> Вывод какой? Все подобные исследования не позволяют судить о том, что одни языки лучше других в чём либо.

лол, кек, зачем судить о "языках", если компиляторы одного и того же "языка" - выдают разный результат. Лучше бы пытаться достичь оптимальности (идеальности) того или иного алгоритма (функции) в терминах конкретной архитектуры команд, и тогда компилятор любого формального "языка" генерировал бы один единственный необходимый и достаточный (ака оптимальный) код. Отсюда - зачем тогда нужны все эти формальные "языки" и бесполезное их "сравнения"?

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


Ответить | Правка | К родителю #235 | Наверх | Cообщить модератору

330. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Аноним (240), 04-Янв-24, 05:17 
А никто не запрещает байт кодовые языки сделать компиляемыми.
Вот жабокод внутренний это и есть жаба, а то что человек пишет отличается.
Языки нужны что оперировать иначе. Подключить биюлиотеку на Си к языку высокого уровня можно, натаскать нейросетку на оптимизацию тоже есть возможность.
Тут вопрос скорее в том почему до сих пор результат отличается кроме диначимеской типизации чтоб тормознее было.
То что вагоны циклов можно смягчить кешем жо определенной степени и так понятно, а потом идет работа с данными.
Нам показывают время, а в реальности надо смотреть сколько времени шла работа, а не ожиданте данных.
Ответить | Правка | Наверх | Cообщить модератору

250. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Вы забыли заполнить поле Name (?), 03-Янв-24, 21:46 
> Rust программисты не знают семантику перемещения в своём языке 😀🥳 Почему
> это неудивительно?
> А потом будут рассказывать нам про то какие классные и безопасные программы
> эти г...кодеры пишут.
> Не удивлюсь что про перемещение сказал как раз не программист на Rust,
> а любопытствующий.

Этот "советский инженер" с пеной у рта постоянно топит за раст. Наконец-то показал свою сущность ыксперта :D

Ответить | Правка | К родителю #136 | Наверх | Cообщить модератору

329. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Аноним (-), 04-Янв-24, 05:04 
Vec -- это если что типа "умный указатель". Но даже это не важно: то, что ты называешь "передачей по значению", в расте на самом деле передача овнершипа, а вот будет ли она на уровне ассемблера реализована передачей указателя или копированием значения в регистры -- это забота компилятора.
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

335. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Советский инженер (ok), 04-Янв-24, 08:39 
>в расте на самом деле передача овнершипа, а вот будет ли она на уровне ассемблера реализована передачей указателя или копированием значения в регистры -- это забота компилятора

как я писал выше, Vec<T> занимает 24 байта для 64-битной системы, т.е. в регистры он не пролезет. передача будет через стек.
Плюс, это передача в функцию. если она не заинлайнится (а она не инлайнится, я проверил) то накладные расходы будут, и будут выше, чем передача в функцию указателей (ссылок)

Ответить | Правка | Наверх | Cообщить модератору

403. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Аноним (-), 05-Янв-24, 10:04 
> передача будет через стек.

Если раст откажется проталкивать значение в функцию через регистры, то он положит в %rdi адрес этого значения. Куда он будет класть адрес на arm64 я не знаю, но спорить готов, что тоже в какой-нибудь регистр.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру