[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 09:54 / Filesize : 120 KB / Number-of Response : 355
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

タスクシステム総合スレ



1 名前:名前は開発中のものです。 [2007/03/12(月) 23:09:48 ID:8bV5Boxt]
どうぞ

331 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 02:06:52 ID:tpNXAe5A]
>>329
なるほど、STLに行くのか。
て事は基本的な方向性(末端でタスク生成)は変わらないんだよね?

ちなみに自分がかかわったプロジェクトでは、STLはメモリの消費量と、
ガベコレを意識できないプログラマがいて、使えなかった。
厳密には使えたんだが、STLの類は、みんな使うとなったら、とことん使うので、
あっという間に使用量が膨れ上がって、パンクしたw。
(搭載メモリは16Mな)
別の件でSTLはおろか、Cの標準ライブラリすらない環境もあったので、
頼らない組み方が基準にはなった。
確かに、つかえりゃ楽なんだけど、
Window以外は、鬼門なことがままあるからなあ>STL

あと、新人に理解させる期間が必要という現実的な問題もあるしなw

ま、タスクの話からは若干それたが、
329の環境が、STLが使えるような環境を基準に出来れば、それはいいことだと思うよ。
こっちは中々難しいんで、小技テクでごまかして進むしかないけどw

332 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 02:37:16 ID:eAiA8cQA]
>>331
関数ポインタと固定ワーク領域(+無理やりキャスト)が仮想関数に
置き換わっただけで、基本的な考え方は同じ。

あと、新人に理解させるって点で言っても、関数ポインタや無理やりな
キャストよりも仮想関数のほうが自然で理解しやすいはず。特にアセンブラを
やらない今の時代では。

生配列と vector の違いについては今の話にはほとんど関係ないけど、
「それ何年前の話?」ってぐらいの時代遅れ感がする。
vector 出しただけで STL 全体の話になってたり、「ガベコレ」とか言ってる
あたりで理解も怪しいし。

333 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 02:54:20 ID:OKOrcl0B]
>ちなみに自分がかかわったプロジェクトでは、STLはメモリの消費量と、
>(ry
もうこの辺って用途によるんじゃないかなぁ
360とかPS3みたいにメモリが贅沢な環境でも切り詰めりしなきゃならない場面もあるから
>>321みたいな実装になることもあるよ

勘違いして欲しくないのは、本来やりたいことってのが
大量の「関数と実行コンテキストのペア」を如何に管理するかって話なんだから
>>321の例にしても>>323の例にしても、所詮はその実現方法の1つに過ぎないことかな

逆に質問してみるけど
9割が128バイトのサイズのタスクと残りが1024バイトのタスクが混在するような状況下で
あなたはどうやって管理するんでしょうか

334 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 02:58:58 ID:sckJXuMq]
まあvectorだと、「削除や挿入などの操作」と「タスクへのポインタの保持」が背反するんだけどな。
321みたいな配列系は、リスト用のポインタ変数すら削りたいほどメモリが逼迫してて、
順番の制御が要らないのならいいんじゃね?

335 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 03:27:47 ID:Ic41WPtX]
>>332

> 関数ポインタと固定ワーク領域(+無理やりキャスト)が仮想関数に
> 置き換わっただけで、基本的な考え方は同じ。

なるほど、ここは了解っす。

> vector 出しただけで STL 全体の話になってたり、「ガベコレ」とか言ってる

いやいやw、実際使用する段になったら、vectorだけ使用してOKって話にはならんでしょ。
これがだめ、あれがOKって細かく指定するならよいんだけど、そこまでして
STL使うプロジェクトには参加したことないなぁ。それに制限するならSTLの意義が薄れてくるし。
(確かに、vector使えるだけでもかなり変わるとは思うけどね)

ガベコレについては、話が飛びすぎの感があったんで細かく触れなかったが、
メモリの断片化による、ガベコレの処理落ち、あと、メモリ確保エラーのコトな。
現在のSTLでこれらが一切起こらないことが保証されてるならいいけど、
そうでないなら、対処を知らない人のために、何らかの対策や方針が必要になる。
件のプロジェクトではそれがなくてヤバいことになった。


> あと、新人に理解させるって点で言っても、関数ポインタや無理やりな
> キャストよりも仮想関数のほうが自然で理解しやすいはず。

あー、ここは同意。
無理やりキャストよりは、言語使用に沿った概念のほうがいいからね。

336 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 03:46:43 ID:Ic41WPtX]
>>333
基本的には1024byteのタスクを先に生成して(起動するまでSLEEP)から、128byteタスクの生成かな。
途中でどうしても、フルに使わなきゃならない場合は、グループでの生成と削除を行う。
この例だと、8タスクを1グループとして、生成と削除を行う。
大体、こんなかんじっす。

337 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 03:48:53 ID:eAiA8cQA]
>>335
ほんと、胡散臭いな。 vector は許可が無いと使えないのが当たり前だと
思ってそうだし。

標準ライブラリに使用制限を付けるほうが異常でしょ?制限を付けるには
理由が要る。コンテナの動的メモリ確保に問題があって禁止するなら、
アルゴリズム系ライブラリまで "STL" とまとめて禁止することは無い。

C++ の言語仕様にも標準ライブラリにもガベコレは無い。 Boehm GC でも
使ってるの?

メモリの断片化がどうのこうの云うなら malloc も new も同じことなんだけど、
それらも使わないことにしてるの?
あー。 new が禁止になってるなら仮想関数を使わないのかな?

338 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 04:13:34 ID:Ic41WPtX]
>>337
いや、なにをうさんくさがってるのか知らないけど、
自分の考えや方針と違う人がいるのがそんなに気に入らないのかな?

> ほんと、胡散臭いな。 vector は許可が無いと使えないのが当たり前だと
> 思ってそうだし。

そんなことは思ってもいないが、STL使用時はメインの人に確認はするよ。
まあ別に、どうでもいいけどね。

> メモリの断片化がどうのこうの云うなら malloc も new も同じことなんだけど、

別にmallocは禁止にしてないけど、ほとんど使わないね。
仮想関数は、c++が使える環境かどうかとメモリ量によるね


339 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 05:14:29 ID:eAiA8cQA]
>>338
気に入らないのは、不確かな理由で複雑なコードを書いてしまうこと。

vector を使えない理由をいろいろと説明しようとしてくれていたけど、その理由の
真偽が胡散臭いってことね。

ただ、これ以上追究する気もなくなった。



340 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 09:21:14 ID:y2Xn2ykc]
>>338
提示したソースが洗練されてるとは言わんが、
ほぼすべてのC環境で動くコードが、
最近の環境に適したコードではないからといって、
胡散臭がられるとは思わなかったw
短くて、美しいソースが正義とか思ってそうだね。

341 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 09:50:46 ID:OKOrcl0B]
>>336
君のやり方って1フレーム中に
毎フレーム256個のタスクがアクティブかどうかチェックするための
オーバーヘッドが発生するんだけど(これ自体がそもそも重大な問題なのに)
そのメモリの割り当て方はそれを上長させますよ

342 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 10:28:10 ID:2Imr3kJv]
>>340
id:O3956k1d = id:y2Xn2ykc なのはいいとして(レス番が一個ずつずれてるぞ)
胡散臭いと言われてるのはSTLとガベコレを混同してるid:tpNXAe5A = id:Ic41WPtXd の存在自体
であって、君のことじゃないだろう?

343 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 11:23:55 ID:VocmouaK]
つか、なんで>>331でガベコレの話がいきなり出てきたわけ?

344 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 11:40:25 ID:ckJtc0Qf]
>>331
>(搭載メモリは16Mな)
ドリーmあqswでfrgtyふじk

胡散臭がってる人とかPCの人には分らんかもしれんがコンシューマだと
プロジェクトによってはSTLはおろかC++も使えないことがあるよ。
C++許可でもnew禁止、とかさ。
古い人(ちょっと偉い人)がプロジェクトに混じるとC主体になったりするし。

>>340
正義がまかり通る職種ではないし、主義主張を煽るような発言は荒れるぜー。
プログラマは性格悪いからなw

345 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 11:44:32 ID:ckJtc0Qf]
>>343
C++かSTLにガベコレなんて実装されてたっけ?
記憶にないんだけど。

346 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 12:25:32 ID:rM0ce6hj]
>>344
ゲームじゃないけど
RAM128バイトでcコンパイラも無いターゲットで仕事したことあるぞ

347 名前:名前は開発中のものです。 [2007/09/03(月) 13:20:45 ID:BR9raoz2]
  /'           !   ━━┓┃┃
-‐'―ニ二二二二ニ>ヽ、    ┃   ━━━━━━━━
ァ   /,,ィ=-;;,,, , ,,_ ト-、 )    ┃               ┃┃┃
'   Y  ー==j 〈,,二,゙ !  )    。                  ┛
ゝ.  {、  - ,. ヾ "^ }  } ゚ 。
   )  ,. ‘-,,'   ≦ 三  
ゞ, ∧ヾ  ゝ'゚       ≦ 三 ゚。 ゚
'=-/ ヽ゚ 。≧         三 ==-
/ |ヽ  \-ァ,          ≧=- 。
  ! \  イレ,、         >三  。゚ ・ ゚
  |   >≦`Vヾ        ヾ ≧
  〉 ,く 。゚ /。・イハ 、、     `ミ 。 ゚ 。 ・

348 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 13:31:16 ID:ckJtc0Qf]
128バイト?キーチェーンとかでももう少しありそうなんだが。

つか、8bit以下のCPUならコンパイラよりもアセンブラだろ。
小さいならバイナリを打ち込んだりとか。

349 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 22:41:28 ID:l9Qlmw/p]
ワークがちょびっとしかなくても
ROMが十分あればどうとでもなる



350 名前:名前は開発中のものです。 mailto:sage [2007/09/04(火) 02:25:05 ID:+Mg349f+]
もちろんアセンブラ
他に選択肢は無いし
ちなみに、CypressのCY7C63101か何かだった

351 名前:名前は開発中のものです。 mailto:sage [2007/09/07(金) 22:50:02 ID:CXdTTUEg]
時代錯誤のロートルはもう死んでくれ。
お前の糞テクニックなんて今はもう害悪にしかならんよ。

352 名前:名前は開発中のものです。 mailto:sage [2007/09/10(月) 00:23:29 ID:QZRbzkCO]
\|/
/⌒ヽ   / ̄ ̄ ̄ ̄ ̄ ̄
| ゜Θ゜)< そうでもないよ。
| ∵ つ \______
| ∵ .|
\_/

353 名前:名前は開発中のものです。 mailto:sage [2007/09/12(水) 13:27:57 ID:ZYdwKK9S]
>>346
それってPICだろ・・・・

354 名前:名前は開発中のものです。 mailto:sage [2007/09/12(水) 15:51:28 ID:+wMsl3iC]
>>353
Cypressの8bitマイコンです






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<120KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef