「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ
CALENDAR
2019年1月
日
月
火
水
木
金
土
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
前月
翌月
Entry Archive
2024年11月
2024年10月
2024年09月
2024年08月
2024年07月
2024年06月
2024年05月
2024年04月
2024年03月
2024年02月
2024年01月
2023年12月
2023年11月
2023年10月
2023年09月
2023年08月
2023年07月
2023年06月
2023年05月
2023年04月
2023年03月
2023年02月
2023年01月
2022年12月
2022年11月
2022年10月
2022年09月
2022年08月
2022年07月
2022年06月
2022年05月
2022年04月
2022年03月
2022年02月
2022年01月
2021年12月
2021年11月
2021年10月
2021年09月
2021年08月
2021年07月
2021年06月
2021年05月
2021年04月
2021年03月
2021年02月
2021年01月
2020年12月
2020年11月
2020年10月
2020年09月
2020年08月
2020年07月
2020年06月
2020年05月
2020年04月
2020年03月
2020年02月
2020年01月
2019年12月
2019年11月
2019年10月
2019年09月
2019年08月
2019年07月
2019年06月
2019年05月
2019年04月
2019年03月
2019年02月
2019年01月
2018年12月
2018年11月
2018年10月
2018年09月
2018年08月
2018年07月
2018年06月
2018年05月
2018年04月
2018年03月
2018年02月
2018年01月
2017年12月
2017年11月
2017年10月
2017年09月
2017年08月
2017年07月
2017年06月
2017年05月
2017年04月
2017年03月
2017年02月
2017年01月
2016年12月
2016年11月
2016年10月
2016年09月
2016年08月
2016年07月
2016年06月
2016年05月
2016年04月
2016年03月
2016年02月
2016年01月
2015年12月
2015年11月
2015年10月
2015年09月
2015年08月
2015年07月
2015年06月
2015年05月
2015年04月
2015年03月
2015年02月
2015年01月
2014年12月
2014年11月
2014年10月
2014年09月
2014年08月
2014年07月
2014年06月
2014年05月
2014年04月
2014年03月
2014年02月
2014年01月
2013年12月
2013年11月
2013年10月
2013年09月
2013年08月
2013年07月
2013年06月
2013年05月
2013年04月
2013年03月
2013年02月
2013年01月
2012年12月
2012年11月
2012年10月
2012年09月
2012年08月
2012年07月
2012年06月
2012年05月
2012年04月
2012年03月
2012年02月
2012年01月
2011年12月
2011年11月
2011年10月
2011年09月
2011年08月
2011年07月
2011年06月
2011年05月
2011年04月
2011年03月
2011年02月
2011年01月
2010年12月
2010年11月
2010年10月
2010年09月
2010年08月
2010年07月
2010年06月
2010年05月
2010年04月
2010年03月
2010年02月
2010年01月
2009年12月
2009年11月
2009年10月
2009年09月
2009年08月
2009年07月
2009年06月
2009年05月
2009年04月
2009年03月
2009年02月
2009年01月
2008年12月
2008年11月
2008年10月
2008年09月
2008年08月
2008年07月
2008年06月
2008年05月
2008年04月
2008年03月
2008年02月
2008年01月
2007年12月
2007年11月
Recent Entry
こないだのロボット
ロボット行ってきた
こないだのくれじークライマー全国大会2024予選
マウス修理した
訃報
ミカド行ってきた
LANケーブル交換した
MFT2024行ってきた
こないだのロボット
ロボット行ってきた
Recent Comment
nekosan/
JYRUSSやってきたメモ
フルタニアン/
JYRUSSやってきたメモ
nekosan/
JYRUSSやってきたメモ
フルタニアン/
JYRUSSやってきたメモ
nekosan/
こないだのロボット
フルタニアン/
こないだのロボット
nekosan/
こないだのロボット
フルタニアン/
こないだのロボット
nekosan0/
レジ袋ホルダーを考える
フルタニアン/
レジ袋ホルダーを考える
Category
ノンジャンル
(2850)
PIC
(47)
AVR
(341)
Arduino
(446)
Raspberry Pi
(193)
mbed
(41)
ARM
(30)
ESP32
(15)
Android
(10)
OPアンプ
(125)
VHDL
(57)
PSoC
(4)
アナログ回路
(110)
クルマ
(127)
rails
(51)
本
(42)
導電塗料
(3)
Fritzing
(41)
Edison
(2)
FFT
(34)
写真
(158)
MIDI
(24)
その他日記
(11)
Python
(57)
3Dプリンタ
(124)
Bookmark
最初はgoo
goo blogトップ
スタッフブログ
My Profile
ブログID
nekosan0
自己紹介
Search
このブログ内で
ウェブ全て
やっぱり速度出てた
Python
/
2019年01月25日
あいかわらずのPython3、Pillow、tkinterで画像処理の
プログラムの実験。結果的には、やっぱりロジック自体
は一瞬で処理が終わる内容になってたことが確認できた。
長かった…
どこで時間が掛かってるのかを突き止めるのに、使ってた
Python3実行環境の絡みなんかもあって、いろいろ惑わ
されていたんだな。ようやくクリアになった。
で、最終的な解決に至るまでの実験結果を纏めておく。
まず、そもそもPythonのリスト形式の処理が、一般的に
遅いのかどうかを、リストの初期化やコピー処理なんかを
通して(実メモリへの読み書き)、どのくらい掛かるのか
を眺めてみる。テストのコードは、まずこんな。
Pythonの2次配列のリスト「a」を初期化する処理と、
その初期化に使う関数「f」の定義。
動かすと、ちゃんとリストに値が設定されている。
で、この関数「f」を流用して、でかいリストに値を
設定してみる。
「a」や「b」の初期化に、VirtualBox上のLubuntuで
10秒くらい。大体16Mピクセルくらいの画像に相当。
これを行ってから、「b」に「a」の値を1個1個コピー
していくループを実行してみると、実測で16秒くらい。
ってことは、例のオレオレロジックでは30万画素相当で
10秒くらいかかってしまっていたのに対して、この単純
にリストを1600万画素相当で読み書きするのに10秒くらい
で終わってるんだから、リストの読み書き処理自体は
やっぱりそれなりに速いことが判る。遅い原因は、
どうやらリストの読み書きそのものではない。
でも、VirtualBox環境でも、実機のWindows7(IDLE3環境)
でも、あれこれ骨格以外の処理を削り取って実行してみても、
数秒単位で時間が掛かっちゃう。…なぜだと。
実験用の画像処理プログラムの中で時間が掛かっている
のかなぁ、ホントかなぁ、と、ぼんやり考えてみて、
ふと思い出す。
確か、IDLEって、テキスト文字の表示処理、結構遅いんだ
よなと。
CLIのLinux環境だと、printで標準出力に吐き出しても、
スクロール処理含めて一瞬で大量に表示できるけど、
ILDE上のコンソール画面だと、目で追える位の遅さだった
記憶が。
なので、そもそもループでprint文の表示を行ったら
どのくらい時間掛かるのかをやってみた。
…480行分表示するだけで、数秒掛かってる…。
お前か!!犯人は!!
というわけで、このprint文で処理中の行を表示する所
をコメントアウトして実行してみると、一瞬で処理が
終わる。
まぁ、そうだよね。Arduinoより遅いって、考えにくい
もんねぇ。うちのポンコツWindows7機(Core2 Quad)
が、Arduinoより速いってことがわかって一安心。
纏めると、
(1)VirtualBox環境で遅かった理由
→仮想環境でのオーバーヘッドによるもの
(2)Windows7実機環境で遅かった理由
→IDLE環境のコンソール表示の遅さによるもの
ということだったらしい。この点はとりあえずクリア。
ただ、もうひとつ遅くなってた原因の、平方和の平方根
の方は、別途なんか考えないといけないんだよな。
画像上の4つの代表点から、対象ピクセルまでの距離
(ユークリッド距離)を計算して、その近さに応じて
バックグラウンドの影響を加味しているんだけど、
そのユークリッド距離を求めるには、単純には平方和
の平方根が必要。
それを近時するなり、計算を単純化するなりできれば
いいんだけどなぁ。
C言語なら、有効桁とか考えて、整数型で適当に
丸め上げるとか、色々出来ると思うんだけど、Python
の型って、いまいち自由自在にはならないしなぁ。
うーーーーん。
https://page.auctions.yahoo.co.jp/jp/auction/p664647751
PC-8001 8801マシン語入門が出てた。ベーマガと一緒に。
ベーマガの方は、創刊号の翌々月のやつだな。
ちなみにこのマシン語の本。オイラがZ80のお勉強する
ために買った本だな。バイブルだな。
Z80は、98(というかEpson PC-CLUB)を使うようになって
からは、まったくというほど弄らなくなってしまって、
もう勘所がなくなってしまったんだよな。
レジスタの直交性の低さは、慣れてないとなかなか
プログラム組みにくい。AVR万歳。
https://twitter.com/IPAjp/status/1088270110744207360
こうなると、今後なにか事故が起きたら、
ニュースキャスター「この会社では、COBOLという
特殊なプログラミング言語を使って開発しており、
普通の人では理解が難しく、それが原因でトラブル
が発生したものと考えられています」
なんて話になったりするんだな。
https://twitter.com/koutyan6595/status/1087874031498358785
よくできたコントだな。
https://trafficnews.jp/post/82695
この、音声波形公開しちゃったっていう件。自衛隊の
哨戒能力云々がある程度推し量れちゃうのもあれだ
けど、それ以上に、全世界にレーダーの信号波形を
公開されちゃったっていうのって、潜水艦や戦艦が
キャビテーションノイズをサンプリングされちゃう
のと同じくらいアレなことなのかなぁ、って気がする。
事実上の敵国である北朝鮮にも当然その情報は拾われて
いるだろうから、この波形が来たら、”あの船から
火器管制レーダー来た!”ってバレバレになるという。
まぁ、ある種この戦艦は丸裸にされたようなものと
いっていいんだろうな。
https://twitter.com/HacksterPro/status/1087833294685814785
4輪車だと思ったら、四足で歩き回る。
https://twitter.com/Hacksterio/status/1088185528204386312
リアクションホイールを使うドローン。
ドローンみたいに、空気中で、重力も働いているような
状況なら、振り子みたいに重いものが自然と下に行く
だろうから、こういうリアクションホイールでも
大丈夫なのは判るんだけど、KSPみたいな宇宙開発シーン
だと、微妙にバランスが崩れたままの状態を、
リアクションホイールでバランス取り直し続けるって
用途に使うと、ホイールの回転速度が無限大に発散
してしまうんじゃないかなぁ?って、素朴な疑問が
あるんだよな…。
例の「フロムザレイス」では、作った飛行機の姿勢を
制御するのに、リアクションホイール使って飛ばして
いたんだけど、あれ、水平飛行ですら、常に機首上げ
し続ける必要があるだろうから、リアクション
ホイールが無限大の角速度で回らないといけないん
では?と心配してた。
コメント (
0
)
goo ブログ
ブログの作成・編集
gooおすすめリンク
おすすめブログ
【コメント募集中】スタッフの気になったニュース
@goo_blog
【お知らせ】
ブログを読むだけ。毎月の訪問日数に応じてポイント進呈
【コメント募集中】goo blogスタッフの気になったニュース
gooブロガーの今日のひとこと
訪問者数に応じてdポイント最大1,000pt当たる!