Size: a a a

2020 October 13

I

Igor in F# Chat
Vladimir Shchur
я в пульсаре на грабли с секами наступил, прямо сейчас пофиксил) два раза их переиспользовал и они два раза проитерировались. Надо быть с ними аккуратно
а я это знаю. Это парсер логов, я как-то уже спрашивал как его лучше написать. Логов гигабайты, поэтому их нельзя сразу все в память. Плюс я в юпитере их анализирую. Я сначала фильтрую, потом там остается уже мало и можно просто в переменную сохранить. А там уже можно какие-то нибудь метрики вычислить или графики построить
источник

VS

Vladimir Shchur in F# Chat
Ayrat Hudaygulov
Неожиданная ленивость в ленивом итераторе!
ну я в десяти местах Seq.cache проставил, а еще в двух забыл)
источник

VK

Vladislav Khapin in F# Chat
Igor
а я это знаю. Это парсер логов, я как-то уже спрашивал как его лучше написать. Логов гигабайты, поэтому их нельзя сразу все в память. Плюс я в юпитере их анализирую. Я сначала фильтрую, потом там остается уже мало и можно просто в переменную сохранить. А там уже можно какие-то нибудь метрики вычислить или графики построить
Ну я бы на каналах написал
источник

I

Igor in F# Chat
Vladislav Khapin
Ну я бы на каналах написал
System.Threading.Channels? Ну я попробую.
Но мне вообще производительность менее важна, чем быстро писать (именно поэтому seq удобен). А PipeReader оказывается предоставляет апи которое мне нужно. А то я сам наколкозил эти буферы и всякую хрень, а там уже все это есть
источник

VK

Vladislav Khapin in F# Chat
Igor
System.Threading.Channels? Ну я попробую.
Но мне вообще производительность менее важна, чем быстро писать (именно поэтому seq удобен). А PipeReader оказывается предоставляет апи которое мне нужно. А то я сам наколкозил эти буферы и всякую хрень, а там уже все это есть
ага, на них
источник

VK

Vladislav Khapin in F# Chat
писателя и читателя сделать
источник

ЕБ

Евгений Бурмистров... in F# Chat
Дмитрий Башинский
int -> (int -> int) -> int ему не как не намекнул
🤦‍♂️
источник

VZ

Vlad Zaa in F# Chat
В этот четверг, вечером (в районе 10 по мск), Дон расскажет про оптимизатор в фш. Детали пошарю позже сегодня.
источник

В

Вика in F# Chat
Привет
источник

AH

Ayrat Hudaygulov in F# Chat
Вика
Привет
Привет!
источник

VZ

Vlad Zaa in F# Chat
Vlad Zaa
В этот четверг, вечером (в районе 10 по мск), Дон расскажет про оптимизатор в фш. Детали пошарю позже сегодня.
+ позже в этом или следующем месяце про стейт машины
источник

I

IdiocyAcceptance in F# Chat
Vlad Zaa
В этот четверг, вечером (в районе 10 по мск), Дон расскажет про оптимизатор в фш. Детали пошарю позже сегодня.
Ура! Спасибо!
источник

VA

Vagif Abilov in F# Chat
Vladimir Shchur
я в пульсаре на грабли с секами наступил, прямо сейчас пофиксил) два раза их переиспользовал и они два раза проитерировались. Надо быть с ними аккуратно
Тоже на это наступал. Но по идее такие вещи же должны поддаваться оптимизации на стадии компилирования?
источник

I

IdiocyAcceptance in F# Chat
Ну вообще у IEnumerable всегда был такой контракт - это просто перечислимое. Сколько раз вызвал - столько раз и перечислил
источник

VS

Vladimir Shchur in F# Chat
я думаю должен выдаваться ворнинг, типа дважды итерируешься по ienumerable, вроде в сишарпе даже такое показывается
источник

I

IdiocyAcceptance in F# Chat
Vladimir Shchur
я думаю должен выдаваться ворнинг, типа дважды итерируешься по ienumerable, вроде в сишарпе даже такое показывается
да, давно уже
источник

VA

Vagif Abilov in F# Chat
Это понятно, но много ли ума нужно оптимизатору, чтобы заменть
[1; 2; 3] |> Seq.map (fun x -> x + 1) |> Seq.map (fun x -> x + 2)
на
[1; 2; 3] |> Seq.map (fun x -> (+) 1 |> (+) 2)
источник

I

IdiocyAcceptance in F# Chat
Vagif Abilov
Это понятно, но много ли ума нужно оптимизатору, чтобы заменть
[1; 2; 3] |> Seq.map (fun x -> x + 1) |> Seq.map (fun x -> x + 2)
на
[1; 2; 3] |> Seq.map (fun x -> (+) 1 |> (+) 2)
Очень много на самом деле
источник

VA

Vagif Abilov in F# Chat
Vladimir Shchur
я думаю должен выдаваться ворнинг, типа дважды итерируешься по ienumerable, вроде в сишарпе даже такое показывается
Решарпер такое делал с незапамятных времен, сейчас и студия
источник

I

IdiocyAcceptance in F# Chat
plus1 >> plus2 не заменяется на x |> plus1 |> plus2
источник