Size: a a a

2020 April 18

f

filin49 in pro.elixir
Źmićer Rubinštejn
big_string = Enum.join(1..100000, ":")


Benchee.run(%{
 "enum_-1" => fn -> big_string |> String.split(":") |> Enum.at(-1) end,
 "reverse" => fn -> big_string |> String.reverse() |> String.split(":", parts: 2) |> hd() |> String.reverse() end
})



с результатами

Benchmarking enum_-1...
Benchmarking reverse...

Name              ips        average  deviation         median         99th %
enum_-1        124.29        8.05 ms    ±26.80%        6.97 ms       14.04 ms
reverse          3.93      254.60 ms     ±1.30%      253.82 ms      267.72 ms

Comparison:
enum_-1        124.29
reverse          3.93 - 31.65x slower +246.56 ms


Еще вопросы?
Вопросов нет.....
источник

SS

Sergey Shishkin in pro.elixir
Źmićer Rubinštejn
Что за revers?
очепятка )
источник

SS

Sergey Shishkin in pro.elixir
Źmićer Rubinštejn
big_string = Enum.join(1..100000, ":")


Benchee.run(%{
 "enum_-1" => fn -> big_string |> String.split(":") |> Enum.at(-1) end,
 "reverse" => fn -> big_string |> String.reverse() |> String.split(":", parts: 2) |> hd() |> String.reverse() end
})



с результатами

Benchmarking enum_-1...
Benchmarking reverse...

Name              ips        average  deviation         median         99th %
enum_-1        124.29        8.05 ms    ±26.80%        6.97 ms       14.04 ms
reverse          3.93      254.60 ms     ±1.30%      253.82 ms      267.72 ms

Comparison:
enum_-1        124.29
reverse          3.93 - 31.65x slower +246.56 ms


Еще вопросы?
вопросов и так не было. ясно, что один проход дешевле. однако и задача полностью не раскрыта. один элемент нужен или несколько, еще какие-нибудь условия. можно такого наворотить, что и reverse станет дешевле )
источник

SS

Sergey Shishkin in pro.elixir
... хотя бы по памяти )
источник

LL

Lama Lover in pro.elixir
А почему не регулярочкой?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Если не проебаться, регуляркой быстрее всего
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Regex.named_captures(~r/^.*:(?<value>.*)$/, my_string)[“value"]
источник

LL

Lama Lover in pro.elixir
Я не люблю регулярки, но функций для парсинга строк в эликсире заметно меньше, чем в петоне, а NimbleParsec будет тут слишком жирным
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я всегда пользуюсь регулярками лично
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Тока они не всегда самые быстрые
источник

n

n1 in pro.elixir
Всем привет. Подскажите, как обстоят дела с деплоем?

[Windows]
Windows service, реально без проблем поднять? Я видел Distillery,  но там не про это. Или нужно костылять через sc.exe? [https://support.microsoft.com/ru-ru/help/251192/how-to-create-a-windows-service-by-using-sc-exe]

[Linux]
https://www.youtube.com/watch?v=Noawmmd6yxM - раскрывает тему, тут, вроде, всё понятно, (tldr: deploy in docker)
источник

Z

Zae in pro.elixir
дистиллери можно уже не пользоваться, есть эликсир релизы
источник

n

n1 in pro.elixir
источник

VS

Vladimir Sekisov in pro.elixir
релизы последнего mix нормально работают,
уже опробовано в проде
источник

LL

Lama Lover in pro.elixir
Но у релизов нет автоматизированного деплоя без докера, а у distillery есть edeliver
источник

VS

Vladimir Sekisov in pro.elixir
по мне, так ansible с этим
лучше справляется, редко,
когда приложения одни в
вакууме деплоятся,
проще роль единожды
написать и применять
ко всем elixir/erlang приложениям
источник

VP

Vladimir Potapev in pro.elixir
"Песнь о Деплое Эликсира", IX век Н.Э.
источник

VP

Vladimir Potapev in pro.elixir
=)
источник

PB

Pavel Bekrenev in pro.elixir
Не работаю фуллтайм
источник

PB

Pavel Bekrenev in pro.elixir
Wut
источник