@ru_python

Страница 9175 из 9768
Dmitry
29.05.2019
09:55:53
при этом aws s3 ls путь к папке выводит содержимое

каокй апи вызов нужен?

boto / boto3 мне безразлично лишь бы работал

Worlak
29.05.2019
10:16:25
Google
Maxim
29.05.2019
10:16:47
fso
29.05.2019
10:17:40
Разница не так велика чтоб брать пхп)))
там еще по памяти такая же картина, я проверял это дело для себя, краем глаза этот факт заметил.

Worlak
29.05.2019
10:19:16
в два раза? ок
Я бы проверял страницы на различных фреймворках с пхп, а тут выполнение базовых операций в чистом питоне. Для меня 0,8 и 1 не такая уж большая разница чтоб страдать на пхп

fso
29.05.2019
10:20:32
Я бы проверял страницы на различных фреймворках с пхп, а тут выполнение базовых операций в чистом питоне. Для меня 0,8 и 1 не такая уж большая разница чтоб страдать на пхп
кстати эти тоже заморачивался. есть возможность - на одном сервере работает ларавель и джанга. Специально сделал в два одинаковых эндпоинта в апи.

fso
29.05.2019
10:21:22
Я бы взял на вашем месте, что-то полегче Джанго
ну тогда и полегче ларавеля тоже надо брать. а так они премерно одинаковых весовых категорий

Maxim
29.05.2019
10:22:07
джентльмены, брек перл быстрее питона (научный факт), но никто в здравом уме вас на перл не гонит

fso
29.05.2019
10:22:19
и то и другое для сайтов, умеют примерно одинаково. Ларавель быстрее в 3 раза и примерно столько же меньше по памяти ест.

причем интересно, что когда грузишь через Apache Benchmark (ab -n 1000 -c 100), джанга начинает заикаться на второй тысяче запросов, тоесть на повторном запуске теста. Некогда было разбираться, но неприятно. @worlak2

Andrew
29.05.2019
10:25:38
А впаривают делать через deque
tm = timeit.timeit('max3(test_list)', number=1, setup="from __main__ import max3, test_list") print(tm) tm2 = timeit.timeit('sorted(test_list)[-3:]', number=1, setup="from __main__ import test_list") print(tm2) 0.6488101999999998 0.8802487999999999

простой наколенный тест

Google
Евгений
29.05.2019
10:26:39
простой наколенный тест
исходники было бы неплохо показать

Andrew
29.05.2019
10:27:00
Евгений
29.05.2019
10:27:34
Перебьёшься
Ваши данные подтвеждены воздухом, не более того...

Aragaer
29.05.2019
10:28:02
/me не очень понимает, куда тут deque

https://docs.python.org/3/library/bisect.html#module-bisect - вот это нядо

Andrew
29.05.2019
10:31:50
/me не очень понимает, куда тут deque
нужна структура в которой стоимость вставки и добавления будет равна О(1) двусвязный список этим требованиям вполне удовлетворяет

Евгений
29.05.2019
10:33:36
простой наколенный тест
Размер массива какой?

Andrew
29.05.2019
10:33:54
Размер массива какой?
test_list = [i for i in range(1000000)] + [i for i in range(1000000)] random.shuffle(test_list)

Aragaer
29.05.2019
10:35:28
про deque заявлены быстрые добавление и удаление в начале и в конце

про середину речи нет

Andrew
29.05.2019
10:35:53
про середину речи нет
Он же несортированный, значит О(1)

Aragaer
29.05.2019
10:36:10
но речь идет именно о сортированном

Aragaer
29.05.2019
10:36:26
потому что нам надо добавлять элемент, а потом удалять минимальный

Amaro
29.05.2019
10:36:51
Ну, нахождение трёх максимальных чисел можно сделать за n шагов по три if на каждом, с одним тройным присваиванием, но быстрее сортед оно будет вряд ли. Тестить лень ;)

Евгений
29.05.2019
10:37:40
Быстрее всего найти 3 максимальных через алгоритм выбора, а не deque

Google
Andrew
29.05.2019
10:38:10
можно за n шагов с одной вставкой в отсортированный список с отбрасыванием минимального
+ ну по сути я так и сделал, разве что вставку делал в нужную позицию

Amaro
29.05.2019
10:38:56
Вот, а вставка сколько стоит?

Aragaer
29.05.2019
10:39:31
константа

Amaro
29.05.2019
10:39:34
В среднем 1.5 if плюс сама вставка?

Aragaer
29.05.2019
10:39:35
точнее O(3)

Andrew
29.05.2019
10:39:36
Aragaer
29.05.2019
10:39:49
я кидал ссылку на bisect, там есть метод insort_left

Алексей
29.05.2019
10:39:52
точнее O(3)
это бред

Aragaer
29.05.2019
10:40:11
ну это вставка в список известного размера

Amaro
29.05.2019
10:40:26
Ну так я и говорю, три ИФА и тройное присваивание и есть О(4.5)

Aragaer
29.05.2019
10:40:32
бред то, что O(3) это O(1)? 8)

Алексей
29.05.2019
10:40:41
вы явно не понимаете суть O нотации

Aragaer
29.05.2019
10:40:57
insort это меньше чем три ифа

Amaro
29.05.2019
10:41:41
insort это меньше чем три ифа
Полтора в среднем

Aragaer
29.05.2019
10:41:44
f это O(g) означает, что существуют константы C1 и C2 такие, что C1*f > g > C2*f

Amaro
29.05.2019
10:41:52
Три в максимуме

Aragaer
29.05.2019
10:41:58
два же

Admin
ERROR: S client not available

Amaro
29.05.2019
10:42:58
Если больше большего или больше среднего или больше меньшего

Иначе порядок испортится

Google
Алексей
29.05.2019
10:43:31
f это O(g) означает, что существуют константы C1 и C2 такие, что C1*f > g > C2*f
только f и g должны быть функциями и обычно считают, что их аргумент устремлён в бесконечность

Aragaer
29.05.2019
10:43:55
а 1 и 3 это такие замечательные функции, которые для любого значения аргумента равны 1 (и соответственно 3)

Алексей
29.05.2019
10:44:42
то есть смысл О нотации вообще заключается в том, чтобы показать алгоритм будет вести себя при увеличении числа входных данных, а не сколько ифов там сидит

Aragaer
29.05.2019
10:44:50
если f входит в класс O(g), то для любых констант C1 и C2 С1*f + C2 входит в O(g)

ну да

Алексей
29.05.2019
10:45:18
если f входит в класс O(g), то для любых констант C1 и C2 С1*f + C2 входит в O(g)
что делает запись вида O(3.14) полностью бессмысленной

Aragaer
29.05.2019
10:45:19
короче, вставка в отсортированный список это O(N)

для списка длиной 3 это константа, потому что N является константой

Amaro
29.05.2019
10:45:47
Просто О(х) та же хрень, что и с*О(х), но за это я и не против.

Aragaer
29.05.2019
10:45:54
запись O(3.14) не бессмысленна, а равносильна O(10000) или любое другое число

Алексей
29.05.2019
10:46:28
Aragaer
29.05.2019
10:46:48
и не должно

еще раз - вставка в список любой фиксированной (или ограниченной сверху) длины - константа

Amaro
29.05.2019
10:47:08
Но константа все равно имеет смысл, так как один алгоритм окажется в константу раз быстрее другого. А час или два - это всегда разница ;)))

Aragaer
29.05.2019
10:48:15
в данном случае размер списка фиксирован и равен трем, а значит мы вставляем за константу. Вопрос в том, что быстрее - ифы или insort. Мне кажется, что второе. Почему-то

Алексей
29.05.2019
10:48:22
Но константа все равно имеет смысл, так как один алгоритм окажется в константу раз быстрее другого. А час или два - это всегда разница ;)))
Только через O нотацию это не показывают. Потому что константы в каждом O вообще говоря не известны.

Worlak
29.05.2019
10:48:24
А задающий вопрос уже убежал радоваться сорт и выборке

Aragaer
29.05.2019
10:48:37
а я и не пытался это "показать" через О нотацию.

... наверно надо было смайлик добавить

Google
Amaro
29.05.2019
10:50:03
Только через O нотацию это не показывают. Потому что константы в каждом O вообще говоря не известны.
Через О показывают, пузырек у вас с n*n или квиксорт с n ln n. А их реализации могут отличаться друг от друга в те самые константы

В смысле, реализации квиксортов между собой

Алексей
29.05.2019
10:50:31
более того, O нотация ничего не говорит про скорость конкретной реализации алгоритма в конкретных условиях, так к примеру алгоритм со сложностью O(n^2) вполне может быстрее чем алгоритм O(n*log(n)) для любого разумного n

Страница 9175 из 9768