スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 結局は、微変更になりそう | トップページ | 復旧は終わったが »

ソースコードが消滅

今は、Mac用AGMPlayerの開発フェーズで、AGMtoMP4変換では、AGMデコーダーの処理性能がボトルネックだったので、その性能を向上させ、最終確認をしていたのだが、その時に、操作ミスでソースコードが全消滅してしまった。なので、ブログは1週間休む。

開発中のAGMtoMP4変換ツールは、Mac用AGMPlayerを開発するにあたっての実験ツールという意味合いが強かったので、作者的な扱いは宜しくなかった。

つまり、そもそも、バックアップをとっておらず、開発環境も、デスクトップ上に、「agmtomp4」という名前のフォルダーを作成してそこに置いていた。

問題は、バイナリ名も、全く同じ「agmtomp4」だった事なのだが、これが何故、問題だったのかというと、まず、このバイナリは、Xcodeのフォルダー内に作られるので、ターミナルで実行するのが面倒だった、という事だ。

そして、最終確認時には、ターミナルで実行する為に、このバイナリをデスクトップにコピーしたのだが、ファインダーでのコピー時には、上書き確認のダイアログは表示されたものの、作者的には、同様の確認を前にも行ったのかなあ、と、上書きを選択した。

その結果、ソースコードが入ったフォルダーは消滅した訳だ。

Windowsだと、フォルダーにファイルを上書きする事は出来ないのだが、OS Xだと、普通に出来てしまうみたいで、前述の様に、開発環境が入ったフォルダーはバイナリで上書きされたので、完全に消滅してしまった訳だ。

と、いう事で、約2週間分の労力が詰まった開発環境は消滅してしまったので、作者的には、どっと疲れが出てきている状況だ。

この2週間の作業の多くは実験みたいなモノだったので、最終コードの再作成に必要なコード入力量は、それほどでもないのだが、内容を忘れてしまうと、再構築には、また、同じだけの時間が必要になる筈だ。

なので、明日から、開発環境の再構築を行うつもりなのだが、再構築作業はブログネタにはならないので、また、ブログは1週間休む事にする。

もっとも、再構築作業には、長くても2,3日くらいしかかからない筈だ。

しかし、タイミング的に、次は、AGMPlayer本体の開発に入り、この開発では、まず、UI環境を作ろうとしている訳だ。

このUI作成作業は、OS Xの場合、Windowsとは色々と異なるので、不慣れなこともあり、時間がかかる事が予想される。

と、いう事なので、作者的には、ブログネタにはなりそうもない作業を1週間程度は続ける事になる筈なので、ブログは、また、一週間休む事にする訳だ。

ちなみに、この2週間の実験で判った事で、まだ、このブログには書いていなかった事があるのだが、それは、OS Xでは、スレッドの作成がWindowsよりも、ずっと重い、という事だ。

Windowsでは、マルチスレッド動作が必要になる処理関数内で、必要時にスレッドを作成して動作させても、マルチスレッド動作による高速化が可能なのだが、同じ事をOS Xで行うと、スレッド作成に時間がかかり、スレッドの動作期間が短いと、シングルスレッド動作時よりも何倍も遅くなる。

なので、OS Xでは、マルチスレッド動作を行おうとする場合には、予め、スレッドを作成しておき、処理が必要になった時点で、そのスレッドに設ける事になるコマンド受付キューに、コマンドを投げる等の形態にしておく必要がある。

もっとも、OS Xでは、Mutexによる競合が発生した場合にも、性能低下が著しい。

つまり、予め、コマンド実行スレッドを4つ作り、Mutexでブロックして共通のコマンド受付キューを使うと、Windowsでは問題ない速度で動作するのだが、OS Xでは、Mutexが取れなかったスレッドが待機状態になるのか、それぞれに独立したコマンド受付キューを持たせた場合よりも、ずっと、コマンド実行は遅くなる。

上記は、Ubuntuと同様のコードが使える様に、スレッド系では、Unixライクな処理コードを使用しているからかもしれないのだが、少なくとも作者的には、上記の通りなので、OS Xでのマルチスレッドプログラミングは、Windowsよりも自由度が低い。

まあ、大昔のUNIXでは、マルチプロセスが普通で、マルチスレッドが注目されだしたのはWindowsNTからだった様に記憶しているので、UNIX系についても、大昔よりは、ずっと使いやすくはなっているのだが。

« 結局は、微変更になりそう | トップページ | 復旧は終わったが »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/64473864

この記事へのトラックバック一覧です: ソースコードが消滅:

« 結局は、微変更になりそう | トップページ | 復旧は終わったが »

2017年7月
            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          

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google