БК на raspberry pi 2 своими руками

big-town

почетный джентравод
Регистрация
25.11.2013
Сообщения
1 367
Откуда
Заволжск
У меня
Daewoo Gentra, Comfort MT 137лс 170Нм
Сегодня доделал свой БК https://www.drive2.ru/b/3013396/, на очереди логер и расчет мощности и крутящего момента.
 
Последнее редактирование:

Дюшес

почетный джентравод
Регистрация
08.12.2013
Сообщения
2 295
Откуда
Москва
У меня
Daewoo Gentra AT
А зачем потоки? Там какой-то ресурс делится (для примера, порт, чтобы несколько клиентов с веб-сервером работало)?
 

Screwdriver

гуру форума
Регистрация
28.04.2014
Сообщения
10 134
Откуда
Москва
У меня
Daewoo Gentra, Elegant MT, Switchblade Silver
В слове "temperature" опечатка.

А так я в восторге.
 

big-town

почетный джентравод
Регистрация
25.11.2013
Сообщения
1 367
Откуда
Заволжск
У меня
Daewoo Gentra, Comfort MT 137лс 170Нм
А зачем потоки? Там какой-то ресурс делится (для примера, порт, чтобы несколько клиентов с веб-сервером работало)?
С каким нахрен веб сервером?! Ты вообще представляешь что такое потоки?! И вообще для чего они служат?! BCM2836 4-ех ядерный процессор, каждый поток вешается на отдельное ядро, это тупо распределение по ядрам, такой ответ тебя устроит?!

Добавлено через 2 минуты
В слове "temperature" опечатка.
Уже поправил :)
 

Дюшес

почетный джентравод
Регистрация
08.12.2013
Сообщения
2 295
Откуда
Москва
У меня
Daewoo Gentra AT
Ты вообще представляешь что такое потоки?! И вообще для чего они служат?! BCM2836 4-ех ядерный процессор, каждый поток вешается на отдельное ядро, это тупо распределение по ядрам, такой ответ тебя устроит?!
Ты читал что-нибудь о потоках в питоне? Они не увеличивают производительность.
 

Screwdriver

гуру форума
Регистрация
28.04.2014
Сообщения
10 134
Откуда
Москва
У меня
Daewoo Gentra, Elegant MT, Switchblade Silver
Ты читал что-нибудь о потоках в питоне?
Вы еще питонами подеритесь, горячие финские парни. У питона ваще один поток - ото рта к хвосту.
Работает -значит сделано правильно;)
 

big-town

почетный джентравод
Регистрация
25.11.2013
Сообщения
1 367
Откуда
Заволжск
У меня
Daewoo Gentra, Comfort MT 137лс 170Нм
Ты читал что-нибудь о потоках в питоне? Они не увеличивают производительность.
Я не только читал, но как видишь и писал на питоне в отличии от тебя. Дюшес как ты живешь с собой и не мечтаешь застрелиться? Ты видимо в прошлой жизни голубем был, видимо привычка обсирать всех у тебя реинкарнировала.
Объясняю для особо "умных".

Во первых, в версии python3 GIL значительно переработана, там нет эти "страшных монстров". Во вторых не надо свято верить тому что ты читаешь в интернете, один крендель написал что многопоточность не дает производительности и все как под копирку это переписывают. Если загрузка на ядро не более 100% в один поток, то разбив его мы действительно ни чего не выиграем, скорее даже проиграем. А вот если загрузка процессора теоретическая 140%, то разбив его на 2 потока мы получим загрузку на 2-ух ядрах по 70%.
Изначально raspberry планировалась как HUD проектор на стекло. Я заказал специальную пленку, но к сожалению идея не оправдала себя. В солнечную погоду TFT дисплей просто засвечивает даже с пленкой. Пленка мешается на стекле, она ухудшает видимость и не очень прозрачная. А поскольку приходилось постоянно "зеркалить" изображение, то при печати без задержки загрузка на ядро доходила до 70%-80%. Это аргумент?

И последний непобедиммый аргумент - мой код, как хочу так и пишу!!!
 

Дюшес

почетный джентравод
Регистрация
08.12.2013
Сообщения
2 295
Откуда
Москва
У меня
Daewoo Gentra AT
Продолжаю поражаться. Нет, не категорическому неприятию критики. У каждого свой характер. Поражает совокупность умения относительно быстро и легко сделать рабочую железку, но при описании этого процесса акцентировать внимание на недостатках, представляя их достоинствами, а потом яростно защищать их, когда на них обращают внимание.

Теперь по существу вопроса. В 3.2 GIL переработали, но нигде не сказано, что он стал раскидывать потоки на ядра. Его просто оптимизировали, постарались уменьшить оверхед от управления.

Теперь по поводу голубей и прочего зоопарка. Как это выглядит с моей точки зрения. Я к программированию сбоку припеку, и человек в этом гораздо менее опытный, потому биться на питонах не собирался. Но, волею случая, был немного в курсе про потоки в питон. И меня заинтересовал практический аспект применения в данном случае. После моего вопроса один из нас обязательно получил бы полезные знания: либо я узнал о практическом случае применения потоков, либо ты о том, что потоки в питоне выполняются в одном процессе. В результате, выиграл от этого ты, получив полезную информацию. А я, вместо благодарности, получил агрессию в свой адрес. Еще одна попытка налаживания отношений провалилась?

А поскольку приходилось постоянно "зеркалить" изображение, то при печати без задержки загрузка на ядро доходила до 70%-80%. Это аргумент?
Аргумент, если на обоих ядрах крутится питон, а не так, что на одном питон, а на другом - остальное. По-хорошему, надо провести бенчмарк, сделав еще одну версию без потоков, но никто этим заниматься не будет, т.к. железка работает, а оптимизация (например, ради автономного питания) здесь не нужна.
 

big-town

почетный джентравод
Регистрация
25.11.2013
Сообщения
1 367
Откуда
Заволжск
У меня
Daewoo Gentra, Comfort MT 137лс 170Нм
Я к программированию сбоку припеку, и человек в этом гораздо менее опытный
Поражает совокупность умения относительно быстро и легко сделать рабочую железку, но при описании этого процесса акцентировать внимание на недостатках, представляя их достоинствами, а потом яростно защищать их, когда на них обращают внимание.

Я тя люлю :wall:. Иными словами я ни хуя не понимаю в программировании, но ты один *** делаешь неправильно, потому что так считаю я :))).

Специально для тебя сходил в машину с ноутом. Наааааа.....


Самый нагруженный процесс это рендеринг, остальное получение значений и расчет ускорения.

Ну почему надо отстаивать свою мифическую точку зрения и абсолютно не слушать других людей???
Я не так давно закончил писать биллинг, котрый делался на (с++, perl, javascript+html, lazarus), я не считаю себя супер гуру в программировании, моя основная работа - сисадмин, но я гораздо компетентнее тебя в этом. Научись прислушиваться к чужому мнению.
 

Дюшес

почетный джентравод
Регистрация
08.12.2013
Сообщения
2 295
Откуда
Москва
У меня
Daewoo Gentra AT
Специально для тебя сходил в машину с ноутом. Наааааа.....
Ну, вот процесс уже и пошел. Вот и я для себя вынес полезное - понял, что в попытках достучаться спорол чушь про не раскидывание потоков по ядрам. Это хорошо. Я тебя услышал.

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

Чтобы тоже показать готовность к диалогу не на словах, а на деле, я взял из другой статьи, ссылающейся на ту, что в спойлере, тестовый примерчик.
Код:
import timeit
from threading import Thread


cnt = 100000000
trying = 2

def count():
    n = cnt
    while n>0:
        n-=1

def test1():
    count()
    count()

def test2():
    t1 = Thread(target=count)
    t1.start()
    t2 = Thread(target=count)
    t2.start()
    t1.join(); t2.join()

seq1 = timeit.timeit( 'test1()', 'from __main__ import test1', number=trying )/trying
print (seq1)

par1 = timeit.timeit( 'test2()', 'from __main__ import test2', number=trying )/trying
print (par1)
В общем, он выполняет тестовое действие два раза в одном потоке, а потом один раз, но в двух потоках, в обоих случаях выводя время выполнения. В двух получалось чуток медленнее, что объясняется доп. служебными расходами. Делал и в 2.7 и в 3-ем питоне. Как видно из скрина, 3-ий получился почему-то медленнее, но нагрузка равномернее при двух потоках. И там же видно, что несмотря на два потока, каждый поток не занимает оставшееся время своего проца, а грубо говоря делит его пополам.
 

Вложения

Реклама

Верх