質問編集履歴
5
パフォーマンスの意味について「性能」という意味になるように明記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
とある技術系ブログっぽいところで、とある人の意見で「パフォーマンスが遅くなることをわかっていてその技術を採用することはプロとして失格」というのを見たことがあります。でも、実際はパフォーマンスと生産性はトレードオフの関係になっていて、必ずしも実行速度最速を選ぶことが最適とは限らないと思っています。
|
1
|
+
とある技術系ブログっぽいところで、とある人の意見で「パフォーマンス(性能)が遅くなることをわかっていてその技術を採用することはプロとして失格」というのを見たことがあります。でも、実際はパフォーマンス(性能)と生産性はトレードオフの関係になっていて、必ずしも実行速度最速を選ぶことが最適とは限らないと思っています。
|
2
2
|
|
3
3
|
例えば、言語の速さで言えば、(コンパイラの最適化以上に凄いことができる人が書く)アセンブリ > C > C++ > Java ≒ C# >> JavaScritp > Perl ≒ Python ≒ PHP ≒ Ruby という感じでしょう。
|
4
4
|
参考: [fast? (64-bit Ubuntu quad core) | Computer Language Benchmarks Game](http://benchmarksgame.alioth.debian.org/u64q/which-programs-are-fastest.html)
|
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
他にもライブラリやフレームワークの選択なども、遅いけど使いやすい、速いけど使いにくいというのはあり得ます。このように、言語やコーディングの仕方、使用するライブラリの選択において、パフォーマンスと生産性のどちらを取るのかはトレードオフになっていると思います。
|
11
11
|
|
12
|
-
そこで、質問です。実際に作るときに、どこまでパフォーマンスを求めるべきなのでしょうか?たとえば、とある新サービスのWebシステムを作るにあたって、
|
12
|
+
そこで、質問です。実際に作るときに、どこまでパフォーマンス(性能)を求めるべきなのでしょうか?たとえば、とある新サービスのWebシステムを作るにあたって、
|
13
13
|
|
14
14
|
* 想定平均応答時間: 1.0秒以内
|
15
15
|
* 想定工数: 6人月以下
|
4
技術系担当者の立場について明確にした
title
CHANGED
File without changes
|
body
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
* Cプラン(Ruby / Ruby on Rails)
|
26
26
|
応答時間: 2秒、工数2人月
|
27
27
|
|
28
|
-
予算を超えてでもSにすべきか、予算内でなるべく最高にすべくAにすべきか、仕様さえ満たすのだから、経費削減のためにBをすべきか、実際流行るかどうかわからないため、とりあえず作ってから考えるためにCでやっちゃうかです。なお、ただのプログラマーの立場では無く、プランを選ぶ顧客や経営者の立場、または、そのような人に意見を述べる技術系担当者の立場であるという想定でお答えください。また、見積もりはあくまで想定であり、実際に作ったら想定以上になることもあり得ます。そういった、リスクも込みでお考えください。
|
28
|
+
予算を超えてでもSにすべきか、予算内でなるべく最高にすべくAにすべきか、仕様さえ満たすのだから、経費削減のためにBをすべきか、実際流行るかどうかわからないため、とりあえず作ってから考えるためにCでやっちゃうかです。なお、ただのプログラマーの立場では無く、プランを選ぶ顧客や経営者の立場、または、そのような人への意思決定に影響を与える形で意見を述べるまたは決定権を与えられた技術系担当者の立場(CIOまたは実質的なCIOである立場、外部からの場合はコンサルやSIerのような立場)であるという想定でお答えください。また、見積もりはあくまで想定であり、実際に作ったら想定以上になることもあり得ます。そういった、リスクも込みでお考えください。
|
29
29
|
|
30
30
|
---
|
31
31
|
【補足】
|
3
比較としては意味があるが、数値自体には意味が無いと言うこと
title
CHANGED
File without changes
|
body
CHANGED
@@ -37,4 +37,4 @@
|
|
37
37
|
状況としては「○○はパフォーマンスが悪い、パフォーマンスが悪い技術を使うのはレベルが低い素人、なので、○○を使うのは素人」という感じの発言です。記事全体としては、[コレ](http://qiita.com/raccy/items/5358a94da7913717008d)に相当するような内容なので、皆さんにお教えするような価値はありません。
|
38
38
|
ただ、ここ2〜3ヶ月ほどパフォーマンスの良さ/悪さについて考えさせられたきっかけであり、そこからこの質問に繋がった事でもあるので、最初に記述させていただきました。
|
39
39
|
* 想定や見積もりについて
|
40
|
-
あくまで例だと思ってください。工数や秒数とかは適当ですので深い意味はありません。状況としては、これから企画として立ち上げ予算取りや仕様決めをする段階だと思ってください。想定平均応答時間と想定工数も確定した物では無く、最初にこれぐらいだといいなーと思ったぐらいの値です。Sプランの工数もCプランの平均応答時間も戦略的には許容できる範囲内という感じです。実際はサーバの台数やスペックだとか、保守・運用やソフトウェア(OSやDB等)の料金とかそういうのも総合的に判断する必要がありますが、話を簡単にするために、そういった物を省いています。
|
40
|
+
あくまで例だと思ってください。工数や秒数とかは適当ですので、大きさの比較以外に深い意味はありません。状況としては、これから企画として立ち上げ予算取りや仕様決めをする段階だと思ってください。想定平均応答時間と想定工数も確定した物では無く、最初にこれぐらいだといいなーと思ったぐらいの値です。Sプランの工数もCプランの平均応答時間も戦略的には許容できる範囲内という感じです。実際はサーバの台数やスペックだとか、保守・運用やソフトウェア(OSやDB等)の料金とかそういうのも総合的に判断する必要がありますが、話を簡単にするために、そういった物を省いています。
|
2
数ヶ月も前じゃ無かった・・・あんまり言うと特定されるから控えよう
title
CHANGED
File without changes
|
body
CHANGED
@@ -35,6 +35,6 @@
|
|
35
35
|
* 「プロ失格」について
|
36
36
|
荒れている記事がさらに荒れる事になりますので、出典は明記しません。また、一字一句同じというわけでは無く、そのようなニュアンスだったと言うことです。ですので、ググっても引っかかりません。
|
37
37
|
状況としては「○○はパフォーマンスが悪い、パフォーマンスが悪い技術を使うのはレベルが低い素人、なので、○○を使うのは素人」という感じの発言です。記事全体としては、[コレ](http://qiita.com/raccy/items/5358a94da7913717008d)に相当するような内容なので、皆さんにお教えするような価値はありません。
|
38
|
-
ただ、ここ
|
38
|
+
ただ、ここ2〜3ヶ月ほどパフォーマンスの良さ/悪さについて考えさせられたきっかけであり、そこからこの質問に繋がった事でもあるので、最初に記述させていただきました。
|
39
39
|
* 想定や見積もりについて
|
40
40
|
あくまで例だと思ってください。工数や秒数とかは適当ですので深い意味はありません。状況としては、これから企画として立ち上げ予算取りや仕様決めをする段階だと思ってください。想定平均応答時間と想定工数も確定した物では無く、最初にこれぐらいだといいなーと思ったぐらいの値です。Sプランの工数もCプランの平均応答時間も戦略的には許容できる範囲内という感じです。実際はサーバの台数やスペックだとか、保守・運用やソフトウェア(OSやDB等)の料金とかそういうのも総合的に判断する必要がありますが、話を簡単にするために、そういった物を省いています。
|
1
補足を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -25,4 +25,16 @@
|
|
25
25
|
* Cプラン(Ruby / Ruby on Rails)
|
26
26
|
応答時間: 2秒、工数2人月
|
27
27
|
|
28
|
-
予算を超えてでもSにすべきか、予算内でなるべく最高にすべくAにすべきか、仕様さえ満たすのだから、経費削減のためにBをすべきか、実際流行るかどうかわからないため、とりあえず作ってから考えるためにCでやっちゃうかです。なお、ただのプログラマーの立場では無く、プランを選ぶ顧客や経営者の立場、または、そのような人に意見を述べる技術系担当者の立場であるという想定でお答えください。また、見積もりはあくまで想定であり、実際に作ったら想定以上になることもあり得ます。そういった、リスクも込みでお考えください。
|
28
|
+
予算を超えてでもSにすべきか、予算内でなるべく最高にすべくAにすべきか、仕様さえ満たすのだから、経費削減のためにBをすべきか、実際流行るかどうかわからないため、とりあえず作ってから考えるためにCでやっちゃうかです。なお、ただのプログラマーの立場では無く、プランを選ぶ顧客や経営者の立場、または、そのような人に意見を述べる技術系担当者の立場であるという想定でお答えください。また、見積もりはあくまで想定であり、実際に作ったら想定以上になることもあり得ます。そういった、リスクも込みでお考えください。
|
29
|
+
|
30
|
+
---
|
31
|
+
【補足】
|
32
|
+
|
33
|
+
皆さん共通の疑問点などを補足します。
|
34
|
+
|
35
|
+
* 「プロ失格」について
|
36
|
+
荒れている記事がさらに荒れる事になりますので、出典は明記しません。また、一字一句同じというわけでは無く、そのようなニュアンスだったと言うことです。ですので、ググっても引っかかりません。
|
37
|
+
状況としては「○○はパフォーマンスが悪い、パフォーマンスが悪い技術を使うのはレベルが低い素人、なので、○○を使うのは素人」という感じの発言です。記事全体としては、[コレ](http://qiita.com/raccy/items/5358a94da7913717008d)に相当するような内容なので、皆さんにお教えするような価値はありません。
|
38
|
+
ただ、ここ数ヶ月ほどパフォーマンスの良さ/悪さについて考えさせられたきっかけであり、そこからこの質問に繋がった事でもあるので、最初に記述させていただきました。
|
39
|
+
* 想定や見積もりについて
|
40
|
+
あくまで例だと思ってください。工数や秒数とかは適当ですので深い意味はありません。状況としては、これから企画として立ち上げ予算取りや仕様決めをする段階だと思ってください。想定平均応答時間と想定工数も確定した物では無く、最初にこれぐらいだといいなーと思ったぐらいの値です。Sプランの工数もCプランの平均応答時間も戦略的には許容できる範囲内という感じです。実際はサーバの台数やスペックだとか、保守・運用やソフトウェア(OSやDB等)の料金とかそういうのも総合的に判断する必要がありますが、話を簡単にするために、そういった物を省いています。
|