@devops_ru

Страница 1453 из 4568
Alexander
28.10.2016
21:10:24
с Python'а на Go нет смысла уходить, а вот С на Go очень даже..

Anton
28.10.2016
21:10:26
Мне не нравится

:= вот это вот всё

Oleg
28.10.2016
21:10:52
Аргументировано

Google
Anton
28.10.2016
21:10:58
звёздачки

Кто-то походу Кена Томсона поцеловал и он проснулся

От 30 летнего сна

Vladimir
28.10.2016
21:11:47
и на базе этого нафигачил еще bloom-filter based search index

все за 2*8 рабочих дня

с Python'а на Go нет смысла уходить, а вот С на Go очень даже..
есть, когда нужна скорость, а хочется писать почти также

или когда нужна строгая статическая типизация

Alexander
28.10.2016
21:12:31
ну вот есть PyPy

http://pypy.org/

Anton
28.10.2016
21:12:41
и когда хочется вспомнить что такое указатели

Alexander
28.10.2016
21:12:42
он довольно быстрый

не как Go, но быстрый

Vladimir
28.10.2016
21:13:09
ну вот есть PyPy
Я знаю, медленее ощутимо

Google
Vladimir
28.10.2016
21:13:30
И де-факто питон 2.7

Alexander
28.10.2016
21:14:26
там есть 3.3 совместимая версия,вроде

Vladimir
28.10.2016
21:14:30
Нету

3.3 частично

Александр
28.10.2016
21:19:10
There are two components. An exporter that does the actual scraping, and a generator that creates the configuration for use by the exporter. Only the exporter is written so far.
Меня окончательно испортилтот чят. С первой строки подумал, что это английская адаптированная версия про стулья.

Alexander
28.10.2016
21:19:16
ну, у питона тут плюс в чём - он хорошо интегрируется с С

а С быстрее всего, что только может быть

и если прямо вот очень сильно нужно иметь большую скорость работы приложения - можно по частям переписывать модули на С, не меняя питон на что-то другое

собственно, некоторые так и делают

Vladimir
28.10.2016
21:21:41
собственно, некоторые так и делают
обычно такая дорожка ведет к тому что ты все пишешь на сях

Anton
28.10.2016
21:21:48
> @lorddaedra был бы я С-программистом, я бы ушёл на Go Go - the best language for wannabe C programmers

Vladimir
28.10.2016
21:21:50
что не есть удобно

Alexander
28.10.2016
21:21:50
в итоге из проекта на питоне получится враппер над кодом на С

Vladimir
28.10.2016
21:22:07
в итоге из проекта на питоне получится враппер над кодом на С
а на Го можно просто получить компактный код который быстрее

Alexander
28.10.2016
21:22:31
ну, Go это нормальный ЯП)

я не критикую особо Go

Anton
28.10.2016
21:22:43
для 70-х

Alexander
28.10.2016
21:22:44
но лично мне он не оч нравится

Anton
28.10.2016
21:22:44
ага

Alexander
28.10.2016
21:23:11
в Go достаточно простой код и достаточно быстро работает, некий компромисс

Google
Alexander
28.10.2016
21:23:30
а Python + C это другой способ решения той же задачи, без компромиссов

сначала всё на Python'е (быстро делаем, медленно работает), потом наше API стабилизируется и это мы переписываем на С

в итоге оно работает быстро

а какая-то меняющаяся часть остаётся на Python'е

при этом мы можем всё менять мааааленькими частями, это вообще не наносит никакого вреда стабильности проекта

Vladimir
28.10.2016
21:27:02
Писать на Си сложнее и медленее.

Alexander
28.10.2016
21:27:14
с этим кодом на С можно взаимодействовать внешне так же, как раньше взаимодействовали с кодом на питоне, то есть мы можем переписывать не весь проект, а только те части, которые редко меняются и нужна именно высокая скорость

Vladimir
28.10.2016
21:27:19
поэтому получится что у тебя маленькая быстроменяющаяся часть

Alexander
28.10.2016
21:27:22
это, может, всего 2-3 вещи в проекте

Vladimir
28.10.2016
21:27:40
и много кода который никто не хочет трогать

Alexander
28.10.2016
21:28:29
ну, рано или поздно всё равно код делится на тот, который редко меняется и тот, который часто

Vladimir
28.10.2016
21:28:42
да, но при этом вопрос в причинах

Vladimir
28.10.2016
21:28:53
если никто не меняет код потому что боится - это одно

Alexander
28.10.2016
21:29:05
ну, пишутся тесты

можно взять 1 маленькую медленную функцию на питоне и переписать только её на С

и другой код на питоне будет дружить с ней, как будто она на питоне, никто ничего не заметит

ну и эту функцию, как и другие, мы тестируем, конечно

Vladimir
28.10.2016
21:30:31
но

Alexander
28.10.2016
21:31:16
таких узких мест обычно не так много бывает в проекте, достаточно именно их поправить, не обязательно весь проект на другой ЯП переписывать

Vladimir
28.10.2016
21:31:19
вызов функции дешевый, но не бесплатный

Google
Vladimir
28.10.2016
21:31:25
потому что тебе придется типы конвертировать и т.п.

Alexander
28.10.2016
21:31:47
ну, это будет медленнее, чем когда весь проект на С, но всё равно достаточно быстро

это будет сопоставимо с тем же Go

Vladimir
28.10.2016
21:32:25
только писать код медленее )

Alexander
28.10.2016
21:32:43
так не надо всё писать на С, только какие-нибудь узкие места, где важна скорость

несколько вот таких функций

Vladimir
28.10.2016
21:33:00
так ты в этих узких местах получаешь полный менеджмент памяти и пр.

все "прелести" си

Alexander
28.10.2016
21:33:47
вот сейчас можно все проекты разбивать на микросервисы и каждый микросервис хоть на своём ЯП пиши, лишь бы API был

Admin
ERROR: S client not available

Alexander
28.10.2016
21:34:00
вот эта комбинация Python+C мне напоминает эту идею

во времена, когда разбивать проект на микросервисы ещё не было модным

Старый
28.10.2016
21:35:24
так ты в этих узких местах получаешь полный менеджмент памяти и пр.
только вот софт написанный на С в среднем работает лучше чем софт написанный на python

Alexander
28.10.2016
21:35:57
вот есть http://cython.org/ , например

Vladimir
28.10.2016
21:35:58
только вот софт написанный на С в среднем работает лучше чем софт написанный на python
во первых не про это речь, во вторых да в общем смотря что считать "лучше"

Старый
28.10.2016
21:36:53
во первых не про это речь, во вторых да в общем смотря что считать "лучше"
например менеджер пакетов и скорость установки/сболрки пакетов у пакетников написанных на C выше

Alexander
28.10.2016
21:36:53
я не умею программировать на С, поэтому какие-то технические особенности реализации этих вещей мне сложно обсуждать, но я знаю, что программисты это используют и всё норм работает

Alexander
28.10.2016
21:37:44
то есть если питон тупит в каком-то месте, есть способы решить это, не переписывая проект с питона на что-нибудь другое

Google
Старый
28.10.2016
21:37:47
если бы было срать, то все писали бы менеджеры на пакетов на php

Vladimir
28.10.2016
21:37:58
их на питоне и перле и писали потому что всем срать

Старый
28.10.2016
21:38:20
джанги или 3 обычного питона?

Alexander
28.10.2016
21:38:24
пхп руби и питон примерно на равных по производительности

Vladimir
28.10.2016
21:38:31
Старый
28.10.2016
21:38:42
ну джангу тоже питоном называют

Vladimir
28.10.2016
21:39:02
ну джангу тоже питоном называют
джанга это фреймворк, питон - язык

Старый
28.10.2016
21:40:17
сейчас вон для мобильных и обычных игр стало можно вставки на ассемблере делать в код

Anton
28.10.2016
21:43:08
а раньше нельзя было?

Alexander
28.10.2016
21:47:35
можно хоть на всех ЯП сразу писать проект, если у нас есть уверенность, что в нашей команде будут люди, способные это развивать и поддерживать и это будет экономически целесообразно

Старый
28.10.2016
21:49:32
пишите лучше на ассемблере

круче всего будет

Alexander
28.10.2016
22:13:22
вот выше я привёл весьма неплохой способ ускорения кода на Python'е

http://cython.org/

и он достаточно простой, чтобы его использовать, С можно не знать (знать поверхностно)

https://habrahabr.ru/company/mailru/blog/242533/

Dmitry
28.10.2016
22:31:17
чуваки, а как заставить ядро писать полный cmdline при oom?

при /proc/sys/vm/oom_dump_tasks == 1 пишется просто имя бинаря

Anton
29.10.2016
06:01:07
На дворе был 2016 год, но суслики продолжали есть сишный кактус for i := 0; i < n; n++ { ^^^ ?

Aleksandr
29.10.2016
06:19:06
)))

Roman
29.10.2016
07:25:08
но сравните код той же самой программы на разных ЯП, на питоне будет проще и короче всех
Я согласен. У фашизма есть своя эстетика. Все эти идеально ровные черные кильты, идеально выглаженные стрелки. Заачаровывает.

Страница 1453 из 4568