2009年10月 2日 (金)

プログラミング言語と速度

「プログラミング言語の速度比較」というページをみつけました。
http://www.geekpage.jp/blog/?id=2006/11/30
を見たところ、言語を速度で比較した結果は以下のようになります。

C > C++ > Java > C#
(速い <---> 遅い)

CとC++は微妙な差のようです。
JavaとC#ではC#が省メモリであるとのことです。

数年前、Javaが流行ったころ、
「Javaで作ってみたが、遅いのでCで書き直す」
という話をあちらこちらで聞きました。
インターネットで調べたところ、
「遅いのは書き方のせいで、Javaの問題では無い」
という意見が多かったのですが、知っている限り、
「Cで書き直しても効果が無かった」
という話は聞いたことがありません。実際、どの案件も効果があったのでしょう。

ところで、VC++でWindowsアプリを作る場合、C++/CLIで.net環境で作るか、MFCで作るか、迷うところですが、インターネットの記述では、比較するとMFCの方が若干速いようです。その差は「2~3割」と言ったり90%と言ったりまちまちです。おそらく試したプログラムで違うのでしょう。
そりゃやっぱり、スクリプト言語のライブラリを使うC++/CLIが速いわけは無いでしょう。本来のC++から見ればダウンジャケットにデータをくるんで受渡ししているように見えます。
なんで.netなんて作るんですかね?昔、BorlandCと比べてMFCは真のオブジェクト指向では無いと言われた反動で.netを作ったものの、VBなどのスクリプト言語と共通化するためにインターフェースを合わせてしまったということでしょうか?

| | コメント (0)

2009年10月 1日 (木)

Windowsでたくさんのスレッドを使用したい

数百、数千個の対象を同時に制御したい..という場合、マルチスレッドでなんとかしたいと思いますよね。
Windowsで1プロセスあたりのスレッド数の限界は2028だそうです。これは1プロセスの最大メモリサイズを、スレッドのデフォルトスタックサイズで割った数字だそうです。実際にはデータなどでメモリを使用するので2028は出来ないでしょう。
ちなみに、Solalisの32bit版でもスレッドの最大数は2000程度なのですが、64ビットだと8兆個出来るようです。
Windowsの64ビット版がどれくらいのスレッドを保持できるかは記述が見当たらないのですが、32bit->64bitでプロセスあたりのメモリが2G->8Tとなっているので、4096倍。028*4096で8306688個のスレッドが出来るのでしょうか?
ソラリスに負けているのは、1プロセスあたりのメモリがSolalis64bit版のが1E(エクサ)バイトと大きいからでしょう。

ところで、実際にプログラムを組んでスレッドを監視しようとすると他にも落とし穴があって、WaitForMultipleObjectsでスレッドハンドルを監視できるのが64までだそうです。これを複数使って2倍3倍することもできますが、64ごとに1つのスレッドで監視してWaitForMultipleObjectsで待つということで、これにもスレッドが必要です。

ちなみに、プロセスの数の最大はWindows2003Serverでは
32bit:22000
64bit:550000
という記述を見つけたのですが、普通のWindowsNT,2000で
「90程度しかプロセスを起動できなかった」
と記述しているページもありました。
http://okwave.jp/qa249926.html

ところで、.netのスレッドはちょっと違うようです。
http://www.atmarkit.co.jp/fdotnet/mthread/mthread02/mthread02_01.html
によると、
スレッドの最大数は、1つのプロセス当たり「プロセッサ数×25」...
ということは安いパソコンは最大25しかスレッドを作れない。ちょっと夢の無い話です。高いパソコンと安いパソコンで別のプログラムを作るのもイヤですよね。
Threadクラスというのを使うと、この制限の外のようですが、スレッドにパラメータを渡せません。Threadクラスで数百の対象を制御しようとすると数百の関数を作らないといけません。.netはこういう用途では使っていないんでしょうか?どうしてるんでしょうね?

| | コメント (2)

2009年9月11日 (金)

ウイルスセキュリティZEROで音が乱れるのを(お金で)解決!

数ヶ月前から、Windows Vistaのノートパソコンで動画再生を行うと音が乱れるという現象が発生していました。
メディアプレーヤー、インターネットの動画、パソコンのテレビ録画ソフトのどれも、音がブツブツと切れて、何を言っているのかわからない状態になります。
いろいろ調べたところ、ウイルスセキュリティZEROの「全ての機能を無効にする」を行うと、正常に再生されることがわかりました。
問い合わせたところ、ウイルスセキュリティZEROをアンインストールして、再インストールしてほしいと回答がありました。再インストールするとき、ネットから最新版をダウンロードしてインストールします。試してみましたが、改善しませんでした。
その後、問い合わせしましたが、調査中のまま。返金の案内も受け取りましたが、他のウイルス対策ソフトを買うお金がもったいないので、ソフトのアップデートで改善するのを待ちました。頻繁にアップデート、ウインドウズアップデートを繰り返しましたが全く改善しません。その間、動画を見るたび、「全ての機能を無効にする」を行っていました。これではウイルスセキュリティ、ゼロでは?と思うようになりました。
仕事でいろいろな新参対策ソフトを使用した問題点を聞いていましたので、「やはり老舗のウイルス対策ソフトが良いのか」と思い、以前使用していたノートンアンチウイルスを購入。
ウイルスセキュリティZEROをアンインストールしてノートンアンチウィルスをインストールしました。そして動画再生。当たり前のように普通に音が出ました。今までのイライラや苦労がウソのようです。お金で解決するのを渋っていましたが、やはりお金を出すのも必要かと思いました。

| | コメント (0)

2009年8月25日 (火)

ウイルス対策ソフトで なんだかなぁ

以前はノートンアンチウイルスばかり使っていましたが、以下のことにうんざりしていました。

・毎年パソコン1台あたり高額な金額を支払い続ける
・期限切れが近づくと更新の催促がうるさい

そうした時に無料ウイルス対策ソフトの話を聞き、AVGとAvast!を使用してみました。AVGはメッセージが出るたびOKをクリックするのが面倒でアンインストールしました。Avast!はそのまま使用していましたが1年ぐらい経過すると更新が面倒でした。
そこへウイルスセキュリティZEROの話を聞き、更新料がかからないのが気に入り購入しました。ところが、市販ソフトにウイルスが入っていると誤検出したり、音声がブチブチ切れたり、計算が恐ろしく遅くなったり。

軽いウイルス対策ソフトは無いものかと思っていたところに逆の情報が入りました。あるプログラムを2GHzオーバーの2台のパソコンで動かすと1分30秒かかる。ところが500MHzのパソコンでは1.5秒。いろいろ調べたところESETというウイルス対策ソフトを有効にしている状態で、iniファイルを連続で書き込みをすると、恐ろしく遅くなるということがわかりました。ちなみに1.5秒で動いた500MHzパソコンはAvast!でした。

しかしインターネットで調べるとESETは「軽い」とあります。何故かインターネットでウイルス対策ソフトのランキングを検索するとESETはどこも上位に顔を出しています。
「人気ランキング」となっていますが、売れているのはなんなんだろ?
"シェア"をからめて検索すると別のランキングが現れました。
そのランキングでは古くからあるウイルスバスターとかノートンとかが上位にならんでいました。やっぱり老舗が売れているのか?ということは「人気ランキング」というのは誰かが操作しているのでしょうか?

| | コメント (0)

2009年8月19日 (水)

VisualStudio2005の復旧

VisualStudio2005で仕事をしていますが、たびたび調子がわるくなります。
前にはVSSが使えなくなりました。
先日は、プロジェクトを読み込むと異常終了するようになって全く使えなくなりました。
そのたびにやっているのは、サービスパックのあてなおし。
先日も、VisualStudio2005SP1を実行すると復旧しました。たちどころになおります。

| | コメント (0)

2009年6月16日 (火)

ウイルス対策ソフト遅すぎ!

あるソフトで、別の会社のチームから
「設定の保存に1分ぐらいかかる。何かおかしいのでは?」
と問い合わせがありました。
設定ファイルはiniファイル形式で1500行ぐらい。
手元のパソコン(3GHzCPU)で行うと1秒かかりません。
1分かかるパソコンのCPUは2.4GHzそんなに遅い方ではありません。
試しに500MHzのパソコンで行うと4秒でした。
500MHzで4秒なのに、なんで2.4GHzで1分?
もしかしたらHDDの暗号化しているのでは?
暗号化対象外の領域で実行したら速くなりませんか?
とメールで問い合わせてみたところ、
ESETというウイルス対策ソフトのパーソナルファイアウォールが原因だっとという返事がありました。
他のウイルス対策ソフト2種の環境では、このような現象はありませんでした。
しかし問題のこの対策ソフトは、世の中では「軽い」方だという評価のようです。
得意な分野と不得意な分野があるのでしょう。
しかし、何も生産しない仕事で1分も固まっているというのはやりすぎですね。
ウイルス対策とか暗号化とかの名前で、凄い時間と電力が消費されているのではないかと思いました。

| | コメント (0)

2009年4月 3日 (金)

裸族のお立ち台

P1050698_640 単身赴任先のノートパソコンのバックアップに、eSATA接続の外付けHDDを買いました。店頭で、いろいろな製品を見ながら選んだのがこの「裸族のお立ち台」という製品です。USBで接続することもできますので、他のパソコンに接続してデータを移動させるのにも使えます。
この製品は、写真のようにHDDを突っ込んだ状態で使用します。HDDは別売りです。合わせて購入してもeSATA外付けHDDとだいたい同じか安いくらい。
心配していたのは、HDDをむきだしにして使用すると音が大きいのではないか?ということですが、意外と静かです。これは使用するHDDにもよると思います。たまたま選んだHITACHIの1TBのHDDが静かだったのかもしれません。
NTFSでフォーマットしてみたところ10時間ぐらいかかるようです。夜に始めて朝までに終わっていなかったので、そのまま出勤しました。朝、確認するとかなり熱くなっていました。
夜に帰ってみるとフォーマットも終わり、HDDは冷たくなっていました。
冷却用にファン付きのモデルもあるようですが、ファンなしでも大丈夫ですかね。

| | コメント (0)

2009年4月 2日 (木)

eSATA接続で右往左往

ノートパソコンにeSATA接続のHDDを接続したい!
と思い、eSATA接続の外付けHDDを購入しました。
ノートパソコンに接続しようとしたところ、コネクタがうまく入らない。
おかしいなと思ってよく見ると「HDMI」と書いてありました。
え?これってディスプレイのコネクタ?
親戚から安く譲ってもらったノートパソコンなので、よくわかっていませんでした。
しかたなくPCMCIAのeSATAカードを買いに行きました。インターネットで調べた安い製品がなく、少し高い写真の製品を買いました。
P1050699_640 購入して箱を開けたところ、異様に細い。これはPCMCIAカードでは無い?えー!なんやそれー!と驚き。Expresscardと書いてありました。これってカードの規格なんですか。最近パソコン雑誌を買わないので、世の中のことがわからないのでした。しかし箱の写真、縦横比がPCMCIAぽく写って、絶対PCMCIAに間違いそうです。高かったのに使えないとは残念。
中古で売却か?店員さんにお願いしたら聞いてくれるかなぁ...
どうしようかと迷っていたところ、パソコンのPCMCIAスロットのところに"EC"と書いてあるのに気が付きました。ECってExpresscardじゃないですよねぇ。どう見てもカードの幅が違うし。カードを押し込んでみるとカードがレールに沿って移動し、サクッとささったような感覚が...そしてOSが何か認識。つなぐことが出来ました。なんとPCMCIAの場所にExpresscardがつくのでした。めでたしめでたし。

| | コメント (0)

2009年2月23日 (月)

ISDN機器 壊れる

家内の実家から電話がつながらないという相談がありました。聞けば使用していたISDNのTA内蔵ルーターのランプが全部消えたままになっているとのこと。
昔からパソコンを使っている人ならISDN時代があったはず。もしかしたら今でも持っている人がいるかも?と何人かに電話しましたが、誰ももっていませんでした。やっぱり使うあてがなかったら捨てますよねぇ。
とりあえず、故障した現場に行ってみました。ルーターは電源が入っていません。電源を入れなおしてもコンセントを変えてみても反応がありません。
ルーターを開いてみると、焦げた匂いがもわっとしました。基板をはずしてみると基板にススのようなものがついていました。激しく煙を出していたようです。最近のマザーボードでは不良品コンデンサの話題が多いのですが、コンデンサはみんなきれいなものでした。
煙の元は、コンデンサのような形のものですが、真っ黒で何かわかりません。基板のシルクには端子を囲って温度が書いてあるので温度ヒューズでしょうか?電源基盤なら、ACアダプタでなんとかならないかと思っていましたが、ISDNの電源は5V±78V-48Vなどと多彩で、簡単に手に入りそうにありませんでした。
というわけでISDNはやめにしてアナログ回線の切り替え工事を申し込みました。インターネットは調べてから申し込んでもらうということで、役に立たなかった娘の旦那になってしまったのでした。

| | コメント (0)

2009年2月20日 (金)

ソフトのカスタマイズは、ほどほどに..

パソコンのソフトは昔から山のようにカスタマイズ機能があります。新しいソフトを使用するとき、使い慣れたソフトと同じようにカスタマイズするということをやるひとは多いのですが、問題点もあります。
新人プログラマのとき、先輩プログラマの一人が
「カスタマイズしないで使っているやつはバカだ」
と言っていました。この人は自分の仕事用パソコンのソフトを他の人には使用できないぐらいにカスタマイズして使用していました。ある日、この先輩があるとき上司に
「○○の設定をしてあげて」
と言われて私のパソコンの場所に来ました。私はその先輩に端末を渡そうとしたところ、
「指示どおりに入力して」
と言われました。
その先輩は私の所に来てパソコンの操作をあれこれと指示するのですが、
「何もそこまで言葉で指示しなくても自分で入力したらどうでしょう...」
と言ったところ、少しエディタ(当時はMIFESを使っていました)を操作して
「ダメだ使いにくい」
と投げ出してしまいました。
その人も同じエディタを使用していたのですが、かなりカスタマイズしているようで、カスタマイズ無しでの使い方がわからないようでした。
それ以来、私はほとんど標準の設定で使用しています。

| | コメント (0)

より以前の記事一覧