Size: a a a

2021 February 16

VD

Velvet Darkness in Haskell
А чот смотрю в последнее время народ оптимизирует путём уменьшения n таки и я начинаю задумываться.
источник

KV

Kirill Valyavin in Haskell
Просто пишите меньше полей в рекордах, лол
источник

KV

Kirill Valyavin in Haskell
Выберете менее развесистую предметную область
источник

KV

Kirill Valyavin in Haskell
Этот тимлид не хаскелист случайно?
источник

VD

Velvet Darkness in Haskell
Не, шарполюб вроде
источник

к

кана in Haskell
ну, разбивание большого рекорда на кучу мелких таки поможет конечно
источник

KV

Kirill Valyavin in Haskell
кана
ну, разбивание большого рекорда на кучу мелких таки поможет конечно
Каким образом
источник

VD

Velvet Darkness in Haskell
data HugeRecord = HugeRecord { data :: ByteString }
f :: HugeRecord -> Bar
f r{data} = let data' = parseData data in ...
источник

к

кана in Haskell
Kirill Valyavin
Каким образом
a^2 + b^2 <= (a+b)^2
источник

KV

Kirill Valyavin in Haskell
Я тогда не понял, откуда там квадрат
источник

AA

A64m AL256m qn<co... in Haskell
Kirill Valyavin
Я тогда не понял, откуда там квадрат
n матчингов размером n
источник

KV

Kirill Valyavin in Haskell
A64m AL256m qn I0
n матчингов размером n
Все, догнал
источник

KV

Kirill Valyavin in Haskell
Просто придётся оставшиеся аксессоры писать вручную
источник

AA

A64m AL256m qn<co... in Haskell
кана
насколько я знаю, сейчас на каждый селектор генерируется вот такой код

data X = X { a, b, c :: Int }

a :: X -> Int
a x =
 case x of
   X { a = a, b = b, c = c } -> a
b :: X -> Int
b x =
 case x of
   X { a = a, b = b, c = c } -> b
c :: X -> Int
c x =
 case x of
   X { a = a, b = b, c = c } -> c
ну он b=b делать не будет если он не нужен, но корка все равно здоровенная получается, потому что он например навешивает на ненужный матч мету
источник

AA

A64m AL256m qn<co... in Haskell
т.е. будет чето вроде
b = \ (x :: Foo) -> case x of { Foo _ [Occ=Dead] y _ [Occ=Dead] -> y }
источник

к

кана in Haskell
вот я сделал

wc dump/app/Main.pass-0000.cbor
  1056    7590 6666515 dump/app/Main.pass-0000.cbor
    41    2790  429023 dump/app/Main.pass-0000.cbor


первое это рекорд в 230 полей, второе это 23 рекорда по 10 полей

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

AA

A64m AL256m qn<co... in Haskell
сомнительно что делать рекорды одним куском по 230 полей вообще хорошая идея
я имею в виду внутренне представление а не то что программист видит
источник

AA

A64m AL256m qn<co... in Haskell
хотя, если считать что важнее всего быстрый селект то может и да
источник

LO

Leonid 🦇 Onokhov in Haskell
Не хотел бы я 230 полей в коде суппортить. С анпаком разве что
источник

A

Andrey in Haskell
когда их 70, то уже веселье начинается..
проще дробить на группы по 7-10..
источник