<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
		<id>https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/index.php?action=history&amp;feed=atom&amp;title=%E5%9F%BA%E6%9C%AC%EF%BC%95%E3%81%AE%E8%A3%9C%E8%B6%B3%EF%BC%88%E4%B8%A6%E5%88%97%E5%87%A6%E7%90%86%E3%81%A7%E3%81%AE%E9%80%9F%E5%BA%A6%E5%90%91%E4%B8%8A%E4%BE%8B%EF%BC%89</id>
		<title>基本５の補足（並列処理での速度向上例） - 変更履歴</title>
		<link rel="self" type="application/atom+xml" href="https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/index.php?action=history&amp;feed=atom&amp;title=%E5%9F%BA%E6%9C%AC%EF%BC%95%E3%81%AE%E8%A3%9C%E8%B6%B3%EF%BC%88%E4%B8%A6%E5%88%97%E5%87%A6%E7%90%86%E3%81%A7%E3%81%AE%E9%80%9F%E5%BA%A6%E5%90%91%E4%B8%8A%E4%BE%8B%EF%BC%89"/>
		<link rel="alternate" type="text/html" href="https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/index.php?title=%E5%9F%BA%E6%9C%AC%EF%BC%95%E3%81%AE%E8%A3%9C%E8%B6%B3%EF%BC%88%E4%B8%A6%E5%88%97%E5%87%A6%E7%90%86%E3%81%A7%E3%81%AE%E9%80%9F%E5%BA%A6%E5%90%91%E4%B8%8A%E4%BE%8B%EF%BC%89&amp;action=history"/>
		<updated>2026-04-17T09:13:09Z</updated>
		<subtitle>このウィキのこのページに関する変更履歴</subtitle>
		<generator>MediaWiki 1.23.6</generator>

	<entry>
		<id>https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/index.php?title=%E5%9F%BA%E6%9C%AC%EF%BC%95%E3%81%AE%E8%A3%9C%E8%B6%B3%EF%BC%88%E4%B8%A6%E5%88%97%E5%87%A6%E7%90%86%E3%81%A7%E3%81%AE%E9%80%9F%E5%BA%A6%E5%90%91%E4%B8%8A%E4%BE%8B%EF%BC%89&amp;diff=14844&amp;oldid=prev</id>
		<title>2016年4月14日 (木) 03:10にTakahiroによる</title>
		<link rel="alternate" type="text/html" href="https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/index.php?title=%E5%9F%BA%E6%9C%AC%EF%BC%95%E3%81%AE%E8%A3%9C%E8%B6%B3%EF%BC%88%E4%B8%A6%E5%88%97%E5%87%A6%E7%90%86%E3%81%A7%E3%81%AE%E9%80%9F%E5%BA%A6%E5%90%91%E4%B8%8A%E4%BE%8B%EF%BC%89&amp;diff=14844&amp;oldid=prev"/>
				<updated>2016-04-14T03:10:54Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;←前の版&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;2016年4月14日 (木) 03:10時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;行1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;行1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;　ルールを組み合わせ方次第で並列処理できるところ増やして速度アップをはかることができます。しかし、ルール間ではファイルのやり取りが行われるので、処理の短いルールを何度も呼んでしまうとこの部分の割合が多くなってしまいます。そこで１ファイルについて並列処理できない部分のルールはまとめて長く処理されるようにすると、そのルールを各ファイル毎で並列処理すればよいので速度を改善できます。&lt;/del&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;　ルールを組み合わせ方次第で並列処理できるところ増やして速度アップをはかることができます。&lt;/ins&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;しかし、ルール間ではファイルのやり取りが行われるので、処理の短いルールを何度も呼んでしまうとこの部分の割合が多くなってしまいます。&lt;/ins&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;そこで１ファイルについて並列処理できない部分のルールはまとめて長く処理されるようにすると、そのルールを各ファイル毎で並列処理すればよいので速度を改善できます。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;行62:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;行63:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;(1)のコードでは最初の入力ファイルを.inとして、Firstで.routeを作り、Secondで出力ファイル.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;outを作っています。Second実行するためには&lt;/del&gt;.routeファイルを入力としているので、１ファイルについてFirst, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Secondを並列で処理することはできません。また、Firstの処理後は.routeファイルをMainに渡し、そこからSecondに渡しているので、その分の時間が掛かっています。そこで、(2)のように１ファイルについて並列処理ができないルールはまとめてしまった方がファイルのやり取りなどの時間が削減できます。&lt;/del&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;(1)のコードでは最初の入力ファイルを.inとして、Firstで.routeを作り、Secondで出力ファイル.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;outを作っています。&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Second実行するためには&lt;/ins&gt;.routeファイルを入力としているので、１ファイルについてFirst, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Secondを並列で処理することはできません。&lt;/ins&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;また、Firstの処理後は.routeファイルをMainに渡し、そこからSecondに渡しているので、その分の時間が掛かっています。&lt;/ins&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;そこで、(2)のように１ファイルについて並列処理ができないルールはまとめてしまった方がファイルのやり取りなどの時間が削減できます。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Takahiro</name></author>	</entry>

	<entry>
		<id>https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/index.php?title=%E5%9F%BA%E6%9C%AC%EF%BC%95%E3%81%AE%E8%A3%9C%E8%B6%B3%EF%BC%88%E4%B8%A6%E5%88%97%E5%87%A6%E7%90%86%E3%81%A7%E3%81%AE%E9%80%9F%E5%BA%A6%E5%90%91%E4%B8%8A%E4%BE%8B%EF%BC%89&amp;diff=14843&amp;oldid=prev</id>
		<title>Takahiro: ページの作成:「　ルールを組み合わせ方次第で並列処理できるところ増やして速度アップをはかることができます。しかし、ルール間ではフ...」</title>
		<link rel="alternate" type="text/html" href="https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/index.php?title=%E5%9F%BA%E6%9C%AC%EF%BC%95%E3%81%AE%E8%A3%9C%E8%B6%B3%EF%BC%88%E4%B8%A6%E5%88%97%E5%87%A6%E7%90%86%E3%81%A7%E3%81%AE%E9%80%9F%E5%BA%A6%E5%90%91%E4%B8%8A%E4%BE%8B%EF%BC%89&amp;diff=14843&amp;oldid=prev"/>
				<updated>2016-04-14T03:07:18Z</updated>
		
		<summary type="html">&lt;p&gt;ページの作成:「　ルールを組み合わせ方次第で並列処理できるところ増やして速度アップをはかることができます。しかし、ルール間ではフ...」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;　ルールを組み合わせ方次第で並列処理できるところ増やして速度アップをはかることができます。しかし、ルール間ではファイルのやり取りが行われるので、処理の短いルールを何度も呼んでしまうとこの部分の割合が多くなってしまいます。そこで１ファイルについて並列処理できない部分のルールはまとめて長く処理されるようにすると、そのルールを各ファイル毎で並列処理すればよいので速度を改善できます。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;th&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
		&amp;lt;th&amp;gt;コード&amp;lt;/th&amp;gt;&lt;br /&gt;
		&amp;lt;th&amp;gt;処理結果（[[ProM]]）&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td&amp;gt;(1)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Rule Main&lt;br /&gt;
	input   '*.in'.all&lt;br /&gt;
	output  '*.out'.all&lt;br /&gt;
Flow&lt;br /&gt;
	rule First&lt;br /&gt;
	rule Second&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Rule First&lt;br /&gt;
	input   '*.in'&lt;br /&gt;
	output  '{$I[1][1]}.route'&lt;br /&gt;
Action&lt;br /&gt;
	awk '{ print $1*2 }' {$I[1]} &amp;gt; {$O[1]}	&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Rule Second&lt;br /&gt;
	input   '*.route'&lt;br /&gt;
	output  '{$I[1][1]}.out'&lt;br /&gt;
Action&lt;br /&gt;
	awk '{ print $1+1 }' {$I[1]} &amp;gt; {$O[1]}	&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td&amp;gt;[[画像:Outdata-PIONE-Basic5-1.png]]&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td&amp;gt;(2)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Rule Main&lt;br /&gt;
	input   '*.in'.all&lt;br /&gt;
	output  '*.out'.all&lt;br /&gt;
Flow&lt;br /&gt;
	rule FirstSecond&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Rule FirstSecond&lt;br /&gt;
	input   '*.in'&lt;br /&gt;
	output  '{$I[1][1]}.out'&lt;br /&gt;
Action&lt;br /&gt;
	awk '{ print $1*2 }' {$I[1]} &amp;gt; {$I[1][1]}.route	&lt;br /&gt;
	awk '{ print $1+1 }' {$I[1][1]}.route	 &amp;gt; {$O[1]}	&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td&amp;gt;[[画像:Outdata-PIONE-Basic5-2.png|580px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(1)のコードでは最初の入力ファイルを.inとして、Firstで.routeを作り、Secondで出力ファイル.outを作っています。Second実行するためには.routeファイルを入力としているので、１ファイルについてFirst, Secondを並列で処理することはできません。また、Firstの処理後は.routeファイルをMainに渡し、そこからSecondに渡しているので、その分の時間が掛かっています。そこで、(2)のように１ファイルについて並列処理ができないルールはまとめてしまった方がファイルのやり取りなどの時間が削減できます。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Takahiro</name></author>	</entry>

	</feed>