-->

2015年04月

別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。

リンク: OpenCLでノイズ除去作ってみたが・・・: ときどき日記4.0.

のプログラムをちょっと整理したのを公開しときます。(C#の分は省いてる)
前のやつはRGBを合計した値でソートしてたけど
輝度値でするように変更している。そのせいでちょっと、遅くなっている。

MedianTest.zip

ということで再測定。ついでにAtom Z3740(1.33GHz)、HD Graphicsと
Core i7 2620M(2.7GHz)でも測定してみた。

Core2 Quad Q9400 Atom Z3740 Core i7 2620M
OpenCL OpenMP OpenCL OpenMP OpenMP
001.jpg 0.3068 0.503 7.99577952 0.88127284 0.48360084
002.jpg 0.1804 0.3168 7.34302774 0.75004404 0.32448058
003.jpg 4.6952 0.5056 2.90403514 0.82185144 0.43056076
004.jpg 0.3222 0.5096 7.57648828 0.85317542 0.45864082
005.jpg 0.3282 0.519 7.55618022 0.85627354 0.46800082
006.jpg 0.3292 0.5238 7.6182202 0.86250938 0.46488082
007.jpg 0.3242 0.5176 7.46120562 0.85002122 0.45864082
008.jpg 0.329 0.5164 7.47796678 0.87192582 0.48360086
009.jpg 0.365 0.5202 7.5596978 0.84685846 0.47736084
010.jpg 2.2004 0.514 2.7020981 0.8594254 0.48360084

Atom遅い(^_^;)

おもしろいことに、Geforceでなぜか遅い003.jpg、010.jpgがHD Graphicsでは
速いという逆の結果になっている。





このエントリーをはてなブックマークに追加

別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。

OpenCLでノイズ除去(メディアン法)を作ってみたんだが
CPUより遅い結果に(^_^;)

とりあえず、こんな結果に

時間(秒)
OpenCL 12.693
C言語(OpenMP使用) 10.145
C# 11.682

約2350x3520のJPEG画像10枚分を読み込んで処理して保存するのにかかった時間。
ハードウェアはCPUがCore2 Quad Q9400 2.66GHz、GPUがGeforce GTS 250でちと古が・・・

ノイズ除去の処理をしているところを詳しく測ってみると

OpenCL C言語(OpenMP使用) C#
001.jpg 0.3854 0.4928 0.827
002.jpg 0.302 0.338 0.7846
003.jpg 3.5322 0.49 0.7492
004.jpg 0.3528 0.4908 0.6914
005.jpg 0.3762 0.5196 0.684
006.jpg 0.3808 0.521 0.6946
007.jpg 0.3528 0.5258 0.681
008.jpg 0.3734 0.5378 0.6848
009.jpg 0.3624 0.537 0.6928
010.jpg 1.6578 0.5728 0.681

003.jpgと010.jpgが極端に遅く、それ以外はC言語に勝っていることがわかる。
念のため003.jpg単独で何度か測ってみたが、だいたい3.5秒という結果になった。
つまり、データ依存してるってことだ。

メディアン法でデータの内容で時間が変わりそうなのが最後にソートしているところになる。
ソートしなければどうなるか測ってみた(メディアン法でもなんでもなくなるんだがw)

0.25
0.237
1.134
0.229
0.229
0.233
0.229
0.23
0.227
0.473

003.jpg,010.jpgが極端に速くなったが、
それでも他と比べると遅い。

ふむ、これだとよくわからないという結論に・・・

このエントリーをはてなブックマークに追加

Linqとラムダ式使って、指定ディレクトリ以下のファイル一覧を取得してみた。
プログラム中の(1)のようにFileListUpを宣言してnullを代入しておかないと自分自身を再帰呼び出しするようなブログラムはFileListUpのところでエラーになる。

Func<DirectoryInfo, List<string>> FileListUp = null;    // (1)こうしておかないとエラーになる
FileListUp = (dirInfo) =>
{
    var q = (from d in dirInfo.GetDirectories()
              from f in FileListUp(d)
              select f)
              .Concat(from f in dirInfo.GetFiles()
                               select f.FullName);

    return q.ToList();
};

var di = new DirectoryInfo(".");

var list = FileListUp(di);

// 表示する
Array.ForEach(list.ToArray(), s => Console.WriteLine(s));

このエントリーをはてなブックマークに追加

別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。

リンク: TypeScript 1.4 for Visual Studio 2013 拡張機能.

こっから、ダウンロードしたのをインストールすれば
TypeScript 1.4になるんだな。

(追記)
変更内容は↓に書いてくれていますw
TypeScript 1.4.1 変更点
TypeScript 1.3.0 変更点
TypeScript 1.1.0 変更点



このエントリーをはてなブックマークに追加

別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。

今まで、http://www.typescriptlang.org/Playgroundを使ってごそごそやってたんだが、本格的に使うなら、Visual Studio 2013 Express 2013 with Update 3 for Webをインストールするのが手っ取り早い。プロジェクトの新規作成にTypeScriptを使用したHTMLアプリケーションがあるのでそれを使うことにする。

まず、jQueryを追加する。ソリューションエクスプローラーのプロジェクト上でコンテキストメニューを表示しNuGetパッケージの管理を選ぶ。

右上のオンラインの検索にjqueryと入力して検索する。

20141008_222533

検索結果のjQueryをインストールする。
このままでは、型定義がないからそのままではTypeScriptでは使えない。
つぎにTypeScriptで使えるように型定義ファイルを追加する。
NuGetパッケージ管理画面でjquery DefinitelyTypedで検索してインストールする。

20141008_222848

htmlファイルに

<script src="Scripts/jquery-2.1.1.js"></script>

を追加して
TypeScriptファイルの頭に

/// <reference path="scripts/typings/jquery/jquery.d.ts" />

を追加するとTypeScriptでjQueryを使えるようになる。
この辺は、ソリューションエクスプローラからソースへドラックアンドドロップでも追加できる。


ほかの有名なJavaScriptのライブラリの型情報ファイルが用意されているようなので同様に検索して追加すると使えるようになる。


このエントリーをはてなブックマークに追加

↑このページのトップヘ