Size: a a a

2020 October 09

EG

Emmanuel Goldstein in rust_offtopic
В более сложных языках, чем асм, ты ещё куда-то сохраняешь информацию о стеке вызовов, чтобы потом делать unwind
источник

DS

Doge Shibu in rust_offtopic
Emmanuel Goldstein
Это сбэкапить состояние регистров, положить аргументы в нужные регистры, потом call, потом сам код, потом восстановить со стека регистры, положить ответ в нужный регистр и ret
Да тут не только вызов, такие  функции не будут инлайниться и собственно сильно уменьшат возможности для оптимизации
источник

EG

Emmanuel Goldstein in rust_offtopic
Doge Shibu
Да тут не только вызов, такие  функции не будут инлайниться и собственно сильно уменьшат возможности для оптимизации
В го инлайнер вообще сломан, это тут не очень важно
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Emmanuel Goldstein
Это сбэкапить состояние регистров, положить аргументы в нужные регистры, потом call, потом сам код, потом восстановить со стека регистры, положить ответ в нужный регистр и ret
ты говоришь про язык где люби тащат триллион рефлексии чтобы не писать a = new A { X = b.x}
источник

EG

Emmanuel Goldstein in rust_offtopic
Функции с циклами в go тоже не инлайнятся
источник

DS

Doge Shibu in rust_offtopic
Emmanuel Goldstein
В го инлайнер вообще сломан, это тут не очень важно
Речь не только про го, а в целом
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
badtrousers
абсолютно всегда итеративный алгоритм будет быстрее
а ещё императивный код всегда будет быстрее ООП
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
кому это мешает?
источник

DS

Doge Shibu in rust_offtopic
Emmanuel Goldstein
В го инлайнер вообще сломан, это тут не очень важно
С оптимизаций рекурсивных функций даже у хаскеля бывают ощутимые проблемы.

Там часто на трюки идти приходится
источник

b

badtrousers in rust_offtopic
Αλεχ Zhukovsky
а ещё императивный код всегда будет быстрее ООП
почему? в смолтолке все нормально, например
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
badtrousers
почему? в смолтолке все нормально, например
ну в качестве базового примера - SoA vs AoS
источник

C

Crush_my_love in rust_offtopic
polunin.ai
США или Япония?
🇺🇸
источник

p

polunin.ai in rust_offtopic
public class Maybe<T> {
 public static Maybe<A> JoinMaybe<A>(Maybe<Maybe<A>> maybe) {
   throw new Exception("");
 }
}
class MainClass {
 public static void Main (string[] args) {
   var maybe = new Maybe<Maybe<int>>();
   Maybe.JoinMaybe(maybe);
 }
}

Тест на знание шарпа: где и какая возникнет ошибка компиляции? и как ее исправить.
источник

KR

Kai Ren in rust_offtopic
Шарп не знаю, но походу A не совпадает с T.
источник

KR

Kai Ren in rust_offtopic
Либо для Maybe. нужно уточнить тип.
источник

p

polunin.ai in rust_offtopic
хм точно
источник

p

polunin.ai in rust_offtopic
но на самом деле нет, не там
источник
2020 October 10

D

Dima in rust_offtopic
блин, как я мог проебать в прошлом году https://www.youtube.com/channel/UCYoIFJ96Kn_Ziayw8av-IAA
источник

D

Dima in rust_offtopic
можно же было пойти и задать реальные вопросы
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
polunin.ai
public class Maybe<T> {
 public static Maybe<A> JoinMaybe<A>(Maybe<Maybe<A>> maybe) {
   throw new Exception("");
 }
}
class MainClass {
 public static void Main (string[] args) {
   var maybe = new Maybe<Maybe<int>>();
   Maybe.JoinMaybe(maybe);
 }
}

Тест на знание шарпа: где и какая возникнет ошибка компиляции? и как ее исправить.
Ну Maybe<int>.JoinMaybe во-первых
источник