C#, C♯, C#相談室 Part95
■ このスレッドは過去ログ倉庫に格納されています
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part94
http://mevius.2ch.net/test/read.cgi/tech/1492843013/
■次スレは>>970が建てる事
建てられない場合は他を指定する事。 >>490
内部のメモリ構造てw
お前c++使えんやろ何の勘違いしとるんやw >>478
自分はC++の仮想関数も関数ポインタも難なく使ってる。そして、C#は自分では使った
事が無い。でも、他人が作った.Net製のアプリを見て余りの遅さに.Netが普及しては
困ると思った。Vectorに登録されてるアマチュアのC/C++のプログラムでも見たことがない
ような遅さの.Netのプログラムをハードウェアメーカーが付属品として付けて来る。プロ
なのに。 そりゃ単に作った奴の所為じゃないか…プロなんて生業というだけで
プログラマーと呼べない連中など腐るほど居るし、門戸が広ければ蔓延るであろう
JITコンパイルとか境界チェックとかコードセキュリティとかオーバーヘッドは有るけどさ XNAでゲーム作ってキャラクター10万個くらい出してもほとんど処理落ちしなかったのに
まともにコード書いた普通のソフトでそうそう遅くなるとは思えん .Netは間に色々入るのでCPUキャッシュの効きが悪くなり、キャッシュの多いCPUでは
C++のNative Binaryの2.5倍程度の遅さで済んでもキャッシュの少ないCPUでは急激に
遅くなる可能性があるかも。キャッシュミスがあると、数千クロックのオーバーヘッドが
生じるので、C++の1000倍くらい遅くなる可能性がある。 ロクに使ったこともない人がドヤ顔で解説とかシビレル [間違い(または嘘つき)記事発見]
以下のリンク先の速度比較で、C# では言語Nativeな配列を使っているのに、
C++では、std::unique_ptr<> を使ってしまっている。そもそも、C/C++は、
高級アセンブラみたいなものだから、書き方を間違わない限りは、C#より遅くなる
はずがない。
「C#がC++より高速になった?」:
https://qiita.com/Chironian/items/e8c9f0147669f941936a
C#
static void setLargeArrayManaged1()
{
var aArray = new byte[kCountLai];
・・・
C++
void setLargeArray()
{
std::unique_ptr<byte[]> aArray(new byte[kCountLai]);
・・・
公平に比較したいなら、以下のようにすれば良いだけ。こっちの方がC#と
ソースレベルでも似ている。この著者は馬鹿としか言いようがない:
C++
void setLargeArray()
{
byte *aArray = new byte[kCountLai];
・・・
delete [] aArray; LINQは便利だけど落とし穴も多い
でも便利過ぎて手放せない Linqは裏側の動作までイメージ出来ないと簡単ゴミ作れちゃうのよねん LINQだけでググるとこれが出てきてしまう。
LinQ(リンク)は日本の福岡県福岡市を拠点に活動しているローカルアイドルグループ。
この項目では、女性アイドルのローカルグループ LinQについて説明しています。
統合言語クエリ LINQについては「統合言語クエリ」を、その他のLINQについては「リンク」をご覧ください。 C#が遅くないとか言ってる奴に限ってアセンブラ経験がない。C#信者はVB厨とJava厨と同じレベル。 設計思想が異なる対象まで遅いだの速いだの言語価値はそれだけかよ
ソースが同じなら処理も同じなんて考えるのが居たらdでもない事だ
C#やILのコンパイラに瑕疵があるのなら然るべき所へ報告すれば良い >>505
AWS Lambda使ったことないと誤解を生みそうな記事だなこれ
Lambdaのランタイムのオーバーヘッドを測ってるだけで、実質的なコードの実行時間はほとんど関係ないよこれ プログラムを書いていてちょっと迷ってると、VisualStudioがメソッド等について説明の吹き出しみたいなのを出してくれるけどさあ
あそこに出てくる説明の文章部分ってどうやって作るの? さすがにアセンブラ経験なしでここで相談に答える馬鹿はいないだろ。ILだってまともに読めないだろうし。 どうしたの?一昨日のことでまだ言いたいことあった?ガイジ >>509
メソッドの1つ手前の行でスラッシュ三回打ってワンと言え >>509
シフト押しながら7を三回押したらでてくるやつの話? >>509に対する回答が>>510と>>515以外全く意味が分からない
>>515が正解だと思うけど、どっちにしてもスレ違いだし 1レスに3個以上安価入れるのは行儀が悪いってママに叱られなかった? キチガイが安価多用するからキチガイっぼく見えるよというお話 タグが増えると容量が増えてgzip圧縮に対応してへんブラウザやとしんどいねん
VBコンポーネント使ってるやつとかな >>523の説明を聞いて納得。
>>520は頭と性格が悪そうだと思った。 規模が大きくなるとただでさえVS重くなるのにReSharper有効にしてると耐えられないレベルになる
VSCodeのC#サポートがもうちょっと賢くなれば移行したい >>526
2017で軽くなるかもと期待したが、うpデートする度に重くなっていくような。
Sharp >>527
大きなソリューションの読み込みはUpdateごとに確実に速くなってるけどね forループとEnumerable.Rangeでループするのどっちが速いの? 理屈的にはmovenextとget_Currentの呼び出しコスト分遅いんだっけか? >>530
この理由で頑なにfor使っている人居るけど、100万回でms単位の差で選ぶとか阿呆としか思えない 業務系c#開発でgitって使えるもん?
開発規模が社内だけなら面倒なだけな気がするんだけど、シェア考えると今からsvnは無い気もして GitHubなら賛否あるけど、Gitなら迷わず使えばよくね ギョーミーは50万年くらい遅れてそうでいいよな
まだ旧人類やってても優秀な方にランキングされるようだぜ 業務系は下請けに出さないとgitサーバーも立てられないからな
世界的に有名な大企業でもまじでそんな感じ いまの若い子はSVNの使い方知らないからやめといたほうがいいよ
Gitにしか出来ないと思い込んでるから何も努力しなくなってるしな
Git一択だわ 若い人は○○系の話って大抵若い人がそれを必要とする時点で絶滅しかかってるんだから知らなくて当たり前なんだよね
だからむしろ知ってた時に驚くのが普通なのになぜか知らないことに驚くというのが意味不明 中小業務系とか素人スタートが数年居ればベテラン扱い
gitどころかバージョン管理?なにそれおいしいの?状態 ソルーションZIP固め
正直、個人プレーならこれが一番わかりやすくて安心 >>533
ゆとり馬鹿はほんと数学ができないんだな。 >>548
>、100万回でms単位の差で選ぶとか阿呆としか思えない
おまえも仕事したことない無職なんだろうけど、リアルな話、
こんな馬鹿が一人でも混じってたら糞コードを大量コミットしてデスマーチになってしまう。
年金システムにはこういう馬鹿が大量にいたんだよな。 >>550
算数を数学とか言っているからバカにしたのに恥の上塗り >、100万回でms単位の差で選ぶとか阿呆としか思えない
日本のスマホゲームはポチポチゲームばかりらしい。
こういう馬鹿な考えのヤツばかりでリアルタイムの仕様を理解できるやつがほとんどいないんだろうな。
そんな馬鹿がasync/awaitで知った気になってテスト不能のアホコードを大量に書く。
昔から、馬鹿の尻拭い=同期のバグなんだよな。 ID:2N4AiZYB ←低脳煽りばかりで技術的なレスは一切しない馬鹿。技術的なレスすると馬鹿がバレるからな。
> 100万回でms単位の差で選ぶとか阿呆としか思えない アホみたいなスマホゲーム作ってる会社こそ、優秀な人材が集まってるんだぞ
アホみたいに儲かるからな ループの中身よりガワ気にするプログラマいたらアホかと思うわ ループの中身もガワも大事
ガワが簡素ということは保守のしやすさに繋がるんだから、それなりのスペックのマシンで動かせる前提なら高速化のための最適化をガチガチにするより
オーバーヘッド大きいけど簡単に書ける方法を採るべき
その判断をせずいかなる場合も高速なのが正義というのは技術に酔ってるだけ 速度だけならC#よりVB6のほうが早いわけで、C#には速度以外のものが求められていると思うんだわ
勿論早いに越したことはないが 何ふらっとみたいな話題やってんだよ
スレ間違えたかと思ったわ >>565
UWPはツールチェインに.NET Nativeが組み込まれているだけの話じゃね >>562
>>563
VB6はネイティブコンパイラだよ あんな質の悪いコードをネイティブなんて(蝶々蜻蛉も鳥の内) Console.WrteLine("{0}です", number);と
Console.WriteLine(number+"です");だとどっちがいい?
最初の方をよく使うんだけど 「どっちがいい」の基準が分からん
string.Formatでも同じだが可変要素が多いときは上の方が分かりやすいとしか言えない Console.WrteLine($"{number}です"); 某プログラミング言語勉強サイトで後者で打ってる模範があって見にくくてつい質問をしてしまった >>571
{0}派だったけど今はこれしか使わないな >>573
同じ変数を何箇所も使いたい場合は{数字}の方が便利 国内のドカタワールドはC#2.0で早くも息切れしてきて3.0で脱落者が出始めて4.0以降はほとんど追従できてない酷い有様
string interpolationなんて抜群にドカタ向きだから、dobonあたりが取り上げて宣伝したら流行ると思うけどね string.formatって1.0の頃から存在した気がする EFの文脈で$@"select * from Foos where {p}"って書くとちゃんとプレースホルダーに置き換えてくれるってので感心した ほんとコロコロと書き方が変わってほんと糞言語になったな。 C#7.0-7.1は6までちゃんとキャッチアップできてる現場なら自然に受け入れられるものだけど、C#7.2はヤバい
C++厨こじらせた奴がチームにいたらカオスになりそう
そして8.0ではついにnull非許容参照型が導入され、年内には現在ある全ての既存C#コードに対して膨大な数の警告が出るようになる 最高じゃねえか
ついてこれないレガシー人材も放置されてるレガシーシステムも要らん そもそもプログラミングは低脳がやっていい仕事じゃねーからな
この期に日本式の文系マと専門学校マは全員処分したらいい >>583
文系かどうか、専門学校出かどうかは、本質とは関係ないのではないか?
馬鹿なやつを特定して排除するならまだしも、経歴 **だけ** で判断するのはいかがなものか? レッテル貼りして思考停止して片付けるのは楽だよな
>>581
現状でもVSで推奨されないことに「メッセージ」は出るけど「警告」は出ないぞ
下位互換無くすのなら別の問題になるけどな >>581
ヌルポ許容しない理由はなんでしょうか? そもそも納品物がヌルポでよく落ちるのは単体テストをしない、手抜きだからであって、
新機能を好んで使う馬鹿は、null非許容参照型を導入しようとテストをしないのは変わらないわけで、
むしろバグが隠蔽される。VBのOn Error Resume Nextのバグ隠蔽機能の再来。
varと同様、コード品質を落とすアホ機能である。 単体テスト
それは企業によって意味が全く異なるワードである ■ このスレッドは過去ログ倉庫に格納されています