В Python есть пакеты которые написаны на чистом Python, а есть пакеты совпадающие по API, но в них код переписан на на C или C++. Это делают чтобы получить выигрыш в производительности. К примеру, пакеты profile и cProfile, decimal и cdecimal, StringIO и cStringIO и т.д. Было бы здорово, если бы была в наличии сJinja2…
1. А вы делали замеры скорости работы вашей реализации и оригинальной?
2. А есть ли возможность сделать биндинг вашей библиотеки в Python и использовать за место оригинальной Jinja2?
Мой любимый трек для работы это «Тишина номер 9». Надеваешь наушники, выдергиваешь штекер из звуковой карты и наслаждаешься бесконечной композицией пока не надоест.
func getPid(serial string) string{
var a uint64 = 1
for _, f := range serial {
a = a * uint64(f)
}
//todo добавить нули если число меньше трех знаков
b := a % 999
for b < 100 {
b = b * 10
}
c := (a / 999) % 999
for c < 100 {
c = c * 10
}
d := ((a / 999) / 999 ) % 999
for d < 100 {
d = d * 10
}
e := (((a / 999) / 999 ) / 999 ) % 999
for e < 100 {
e = e * 10
}
var r string
r = strconv.Itoa(int(b)) + ":" + strconv.Itoa(int(c)) + ":" + strconv.Itoa(int(d)) + ":" + strconv.Itoa(int(e))
return r
}
Вызов всего этого:
...
s := getPid(message.Messages[0])
if message.Messages[0] == "00:00:00:00:00:00" {
s = getPid(randomString(17))
}
...
Вам стоит заняться изучением основ программирования, а не написанием постов на Хабре.
Я вообще не понимаю зачем Хабру вот такие статьи? Такое в пресс релизах нужно писать или в корпоративном блоге и извещать своих клиентов. На техническом сайте такое писать — это думать что здесь одни идиоты сидят, а это показывает недостаточный уровень зрелости вашей компании. Вы только себе репутацию испортили «статьей» из 5 строчек.
Я бы даже и не заметил этого. Но, по какой-то причине, вызов psycopg2.connect иногда подвисает ровно на 5 секунд. Вот в этом я до конца не разобрался. Параллельно запущенный скрипт, который вызывает эту функцию раз в 10 секунд работал стабильно и подключался к БД быстрее чем за секунду за все время пока был запущен.
Возможно, вы не то лечите и проблема лежит не в той части кода. Можно взглянуть на настройки подключения к базе в Django и настройки самой базы данных? Там точно используются IP для доступа к базе за место имен хостов?
Я вам реальный пример привёл, где я работал и всем этим занимался, а вы мне общие умозаключения излагаете, которые мало чего общего имеют с подобной компанией.
В серьезной фирме по разработке ПО. Если ~100 человек в штате, то парк рабочих станций ~120 штук, еще могут быть корпоративные лэптопы ~50 штук, плюс у каждой рабочей группы 3-4 человека минимум свой тестовый сервачёк, а то и несколько. А еще если продукт портируемый, то сервера тестовые на разных операционных системах: Windows, Solaris, HP-UX, z/OS и Linux, естественно тестирование под разные версии. Плюс общих серваков типа почта, CI, файлопомойки, мониторинг, контролеры домена и т.д. ~10 штук. Еще в такой организации у каждого на столе свой IP телефон и куча корпоративных носимых девайсов. Естественно, все это нужно быстро разворачивать, чинить и поддерживать.
Если есть z/OS в организации и под нее пишут, то есть мэйнфрейм, а для него отдельная серверная с мощными кондиционерами и с кучей стоек периферии и минимум 2 системных программиста (в мире мэйнфреймов так сисадминов величают). Обычно в такой организации это группа 8-12 специалистов разной направленности z/OS, z/VM, DB2, CICS, IMS, WebSphere и т.д. И это все админы.
Сами подсчитайте сколько всего оборудования и сколько сисадминов нужно. Количество только серверов может быть больше чем людей в штате такой компании.
Вот оно что! Теперь понятно, почему персонажа культовой компьютерной игры Space Quest популярной в 90х годах, звали Roger Wilco. По русски его звали бы Принято-Будет-Сделано. Очень подходящее название для персонажа, которому указывают мышкой, что нужно сделать на экране.
2. А есть ли возможность сделать биндинг вашей библиотеки в Python и использовать за место оригинальной Jinja2?
Главное это все правильно преподать.
Ребята хотят в магазинах его использовать.
Вызов всего этого:
Вам стоит заняться изучением основ программирования, а не написанием постов на Хабре.
Возможно, вы не то лечите и проблема лежит не в той части кода. Можно взглянуть на настройки подключения к базе в Django и настройки самой базы данных? Там точно используются IP для доступа к базе за место имен хостов?
Если есть z/OS в организации и под нее пишут, то есть мэйнфрейм, а для него отдельная серверная с мощными кондиционерами и с кучей стоек периферии и минимум 2 системных программиста (в мире мэйнфреймов так сисадминов величают). Обычно в такой организации это группа 8-12 специалистов разной направленности z/OS, z/VM, DB2, CICS, IMS, WebSphere и т.д. И это все админы.
Сами подсчитайте сколько всего оборудования и сколько сисадминов нужно. Количество только серверов может быть больше чем людей в штате такой компании.
Это еще зависит в какой отрасли работает компания. Если это разработка или тестирование ПО, то на 30-100 человек нужно будет 2-4 админа.