C# / .NET における、パフォーマンス改善の Tips をお届けします。 これを見れば、効率良く 80 点を取ることができるようになるはずです!
今回の記事はasync/awaitについて。 C#に限らず、現在では多くのプログラミング言語が非同期処理を扱う言語機能としてasync/awaitを採用しています。現在の.NETでも至る所にasync/awaitが使われており、避けて通ることはできない重要な機能となっています。 そこで今回は、C#における非同期処理とasync/await、またC#8.0で導入された非同期ストリームとIAsyncEnumerable<T>について、基本的な使い方を解説していきます。 また、記事の後半では実際にasync/awaitがどのように動作しているかをコンパイル結果を通して説明していきます。この辺りはやや高度なトピックになるため読み飛ばしていただいても構いませんが、async/awaitをより深く理解したい方は是非そちらも読んでみてください。 同期処理 / 非同期処理 async/awaitに関する話
調査内容 C#かつWindowsで1msのタイマーを使いたい。Threading.TimerやTask.Delay(1)では最短でも15msになるっぽいので他の方法を調べた。 環境 Intel Core i5-8265U CPU @ 1.60GHz 1.80 GHz Windows 10 Pro 22H2 C#, .NET Framework 4.6.2, Debug build Visual Studio Community 2022 (64-bit) Version 17.8.5 調査日:2024年5月6日 2024年5月12日、追加調査。WaitableTimer, WaitableTimerExについて。 テストコード 1ms間隔の繰り返しタイマーを30回実行、毎回経過時間を取得してバッファリングする。最後に時間を出力する。 ※私自身が作成中のライブラリのテストコードの一部として実
We are excited to introduce the AI Toolkit for Visual Studio Code, a powerful VS Code extension available today in the Visual Studio Marketplace. AI Toolkit enables developers to explore, try, fine-tune, and integrate state-of-the-art models from Azure AI Studio and HuggingFace into applications. The AI Toolkit is an evolution of the Windows AI Studio extension that was released in November 2023.
はじめに 仕事で作成しているBlazorのアプリケーションで、Handsontableを使用して一覧表を表示しています。 検証作業を実施している同僚から、2台のPCで同じ画面を表示した際に一覧表を表示する処理を実施すると、後から起動したPC側に一覧表が表示され、本来表示されるPC側には何も表示されないとの報告を受けました。 土日の休日を使って解決策を見つけることが出来たので、備忘録として記事に残しておきます。 問題1 現象 会社では複数PCが使用できますが、自宅ではPC1台です。 そこで、違うブラウザChromeとEdgeで同じ現象が出るか試してみました。Visual Studio上で Chromeを起動しておき、後からEdgeを起動して、一覧表を表示する処理を実施するとEdge側に一覧表が表示されました。 これなら Visual Studio上から デバッグ も可能で調査が進みます。 調
今回の話 以前、Visitorパターンで型によるswitchやif判定を消すという記事を書きました。前回のやり方に従えばVisitorパターンを使えばswitch文を消せて型安全にすることができました。 ただ、「じゃあ実際使いやすいのか?」というと正直なところ微妙でした。 そういうわけで今回は「妥協をしてできるだけ安全にしながら使い勝手を保つ」方法を紹介します。 前回のおさらい 問題としたコード Visitorパターンで型によるswitchやif判定を消すで紹介したコードのおさらいです。 何を重視していたかというと「型の網羅性を保証したい」でした。あるデータ構造群を他のデータ構造に変換するときなど、switchを使ったパータンマッチングで記述することができます。 using System; namespace Visitors.Samples { public static class C
R3のコードから見るC#パフォーマンス最適化技法実例とTimeProviderについて 2024-05-01 4/27に大阪で開催されたC#パフォーマンス勉強会で「R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例」という題でセッションしてきました! タイトル的にあまりLINQでもコンカレントでもなかったかな、とは思いますが、R3を題材に、具体的なコードをもとにした最適化技法の紹介という点では面白みはあったのではないかと思います。 Rxの定義 R3は、やや挑発的な内容を掲げていることもあり、R3は「Rxではない」みたいなことを言われることもあります。なるほど!では、そもそも何をもってRxと呼ぶのか、呼べるのか。私は「Push型でLINQ風のオペレーターが適用できればRx」というぐらいの温度感で考えています。もちろん、R3はそれを満たしています。 mutable st
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く