Как стать автором
Обновить
4
0
Vladimir @Taxopr

Mobile Networks, Packet Core

Отправить сообщение

а почему, если не секрет?

в случае с local breakout маленький UPF (сопоставимый по ресурсам с MEC DP) кажется мне более элегантный решением. И в рамках 3gpp, и слайсинг на уровне DNN.

ну… делить можно по-всякому, но доступ(access), транспорт и кора — они все еще "отдельно" из-за разных зон безопасности в которых они находятся. Эту "стройную" идею, конечно, правит edge computing.
Но правда в том, что телеком давно не торт, и заставляет мастодонтов внутри телекома лить крокодильи слезы, пока кто побыстрее запускает телеком на K8 в облаках.

телеком заслужил все что с ним сейчас происходит.

а где ж тогда происходит аутентикация, авторизация, биллинг, терминация звонков, DPI, маршрутизация (звонков и трафика), оптимизация трафика, и пр, и пр, если не в ядре?

если кто будет проходить через Дюссельдорф — тоже будем рады пересечься!

интересно, а цифра в 500 евро чем-то внешним обусловлена (потому что у нас было столько же)

да, можно по-разному относиться к федеративному менталитету, но он есть.

=) для постороннего, это этнографическая причуда, скорее

ну да. из-за ограниченного радиуса передвижений, продавцы в булочных узнавать стали.

локдаун стал для нас и, думаю, многих других экспатов очень показательным экспериментом по погружению в среду

С одной стороны — конечно, с другой — взаимодействие со средой свелось к минимуму.


P.S. Привет из Дюссельдорфа!

С Openstack приходится сталкиваться на работе, а "для дома" оказалось слишком много дополнительных телодвижений, когда VMку из ISO поставить, когда USB внутрь прокинуть, когда еще что. Разнообразие одноразовых задач. А OpenStack — это больше про унификацию типовых, как мне кажется. Для себя тоже иногда надо создать по-быстрому из готовых flavor пару-тройку VMок, побаловаться и убить, вот эту задачу и закроет multipass (в теории).

вот спасибо! Не знал про multipass. Связка ubuntu multipass вместе с virt-manager кажется более подходящей для малых домашних нужд, чем devstack.
Чтобы добавить в комментарий что-то кроме благодарности (и упоминания devstack), можно дописать в список Proxmox.

огромное спасибо за ссылку!

Одно время надо было визуализировать много данных (значения счетчиков за период времени). Начинал с matplotlib, потом перешел на Jupyter/Lab, захотелось интерактивности и перепробовал почти все, что нашлось в интернете, и остановился тоже на plotly. По совокупности легкодоступного функционала, красоты и удобства.

Так красивее всего, да. И намного быстрее всех остальных.

Сравнение скорости выполнения в Jupyter:
Создаем копии датафрейма следующего вида:


df1 = pd.DataFrame(np.random.randint(0,1000,size=(1000000, 4)), columns=list('ABCD'))

Предложенный в статье набор данных слишком мал, чтобы увидеть хоть какую-то разницу.


%%time
df1["MoreThan500"] = "No"
df1.loc[df1["A"] > 500, "MoreThan500"] = "Yes"

CPU times: user 38.8 ms, sys: 4.16 ms, total: 42.9 ms
Wall time: 40.9 ms


%%time
df2["MoreThan500"] = ["Yes" if x > 500 else "No" for x in df2["A"]]

CPU times: user 195 ms, sys: 8.49 ms, total: 203 ms
Wall time: 202 ms


%%time
df3["MoreThan500"] = "No"
df3["MoreThan500"].mask(df3["A"] > 500, "Yes", inplace=True)

CPU times: user 31.6 ms, sys: 5.46 ms, total: 37 ms
Wall time: 35.2 ms


%%time
df4["MoreThan500"] = "Yes"
df4["MoreThan500"].where(df3["A"] > 500, "No", inplace=True)

CPU times: user 30.9 ms, sys: 2.01 ms, total: 33 ms
Wall time: 31.5 ms


Вариант предложенный YuriM1983:


%%time
df5["MoreThan500"] = np.where(df5["A"] > 500, "Yes", "No") 

CPU times: user 80.1 ms, sys: 3.62 ms, total: 83.7 ms
Wall time: 81.8 ms


Абсолютная величина времени отличается от запуска к запуску, но относительная скорость не отличается. Решения pd.where() и pd.mask() быстрее.
Использование булевых True и False будет тоже заметно быстрее, чем "Yes" и "No"


%%time
df6["MoreThan500"] = False
df6["MoreThan500"].mask(df3["A"] > 500, True, inplace=True)

CPU times: user 8.23 ms, sys: 1.58 ms, total: 9.81 ms
Wall time: 7.87 ms

Первый пример я бы делал иначе:


sales['MoreThan500'] = False
sales.loc[sales["Sales"] > 500, "MoreThan500"] = True

Причем, можно без первой строки, тогда в ячейках c sales["Sales"] < 500 будет NaN

1

Информация

В рейтинге
Не участвует
Откуда
Nordrhein-Westfalen, Германия
Зарегистрирован
Активность