Size: a a a

2020 August 29

SA

Sokolov Andrew in Lisp Forever
хм
источник

AK

Andrew Kravchuk in Lisp Forever
Ну не то что прям мрак, но case, который компилируется в jump table, точно быстрее
источник

SA

Sokolov Andrew in Lisp Forever
ну ладно да у тебя же typecase
источник

SA

Sokolov Andrew in Lisp Forever
нууу тогда кст
источник

SA

Sokolov Andrew in Lisp Forever
то че я предложил имеет шансы
источник

SA

Sokolov Andrew in Lisp Forever
победить
источник

AK

Andrew Kravchuk in Lisp Forever
источник

SA

Sokolov Andrew in Lisp Forever
ммм
источник

SA

Sokolov Andrew in Lisp Forever
хз
источник

AK

Andrew Kravchuk in Lisp Forever
:D
источник

SA

Sokolov Andrew in Lisp Forever
источник

SA

Sokolov Andrew in Lisp Forever
я вот про что
источник

AK

Andrew Kravchuk in Lisp Forever
выглядит интересно, посмотрю потом
источник

SD

Sergey D in Lisp Forever
Andrew Kravchuk
Ну не то что прям мрак, но case, который компилируется в jump table, точно быстрее
Где-то на hacker news читал, что cl не умеет jump tables. Ложь?
источник

SD

Sergey D in Lisp Forever
Andrew Kravchuk
Стараюсь избегать всеми силами, но в паре мест есть
Почему стоит избегать дженерики? Понимаю, что есть оверхед, но столь значимый?
источник

VL

Valeriy L in Lisp Forever
Зависит от реализации
источник

a

akater in Lisp Forever
Sergey D
Где-то на hacker news читал, что cl не умеет jump tables. Ложь?
SBCL умеет в определенных ситуациях.  Можно, например, поискать вот тут: http://sbcl.org/all-news.html
источник

AK

Andrew Kravchuk in Lisp Forever
Sergey D
Где-то на hacker news читал, что cl не умеет jump tables. Ложь?
Действительно, для case похоже на то - это не совсем jump table, а просто цепочка из cmp-ов и условных jmp-ов, но это один фиг гораздо быстрее того, что происходит при диспетчеризации методов
источник

AK

Andrew Kravchuk in Lisp Forever
При диспетчеризации методов там, в общем-та, масса всяких действий, про которые я даже не уверен, что знаю, для чего они
источник

AK

Andrew Kravchuk in Lisp Forever
(выхлоп disassemble для #'sb-pcl::initial-dfun в скриншот не влез, предлагаю его изучение в качестве самостоятельного упражнения 😅)
источник