摘要:
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/attributes/caller-information C#获取调用方的信息,没找到类相关的信息 public void DoProcessing() { Tra 阅读全文
摘要:
###如果不设置DontFragment udpClient.DontFragment = false; 那么可以发送数据包。接收端随缘收到数据包。使用WireShark可以检测到网卡上对应的数据包。 如果设置DontFragment udpClient.DontFragment = true; 在 阅读全文
摘要:
https://keithbabinec.com/2018/06/12/how-to-capture-and-debug-net-application-crash-dumps-in-windows/ 默认情况下Windows Error Reporting会处理异常,可以用“事件查看器”查看。 可 阅读全文
摘要:
《Pro .NET Memory Management》 Chapter6 P428 中讲道大对象(包括Obj对象头部等,总字节占85000及以上)和有finalizer的对象生成的构造函数(JIT_New)会更为复杂,因此开销会更大。对此做了验证。小对象使用辅助函数JIT_TrialAllocSF 阅读全文
摘要:
《Pro .NET Memory Management》第4章 Sample Program in Depth小节有讲。 先从应用商店下载Windbg 然后设置高级启动变量 • Executable: C:\Program Files\dotnet\dotnet.exe • Arguments: \ 阅读全文
摘要:
不考虑其他因素, 栈上分配的对象带来的性能开销比在堆上分配要小。 但在C#中会做一系列初始化操作,比如一个int数组的值都会被赋值为0。因此在C#中,堆上分配还是栈上分配,性能的差异并不明显。大概是2倍左右。其中很大原因是会有很多push 0操作(数组元素赋值为0)。 如果使用dllimport C 阅读全文
摘要:
如果没改变SystemTimer的resolution,那么会睡眠15.625ms(64HZ)。 但很多程序会通过NtSetTimerResolution等接口申请改变timer的resolution。比如QQ,会将其设置1ms。 那么此时会睡眠1~2ms之间的值。 Say the ActualRe 阅读全文
摘要:
C#类和字段 内存对齐 https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.structlayoutattribute.pack?view=net-6.0 阅读全文
摘要:
下载 https://www.intel.com/content/www/us/en/develop/documentation/get-started-with-vtune/top.html 使用 https://www.intel.com/content/www/us/en/develop/do 阅读全文
摘要:
https://www.ulduzsoft.com/2014/01/practical-difference-between-epoll-and-windows-io-completion-ports-iocp/ Introduction This article compares the diff 阅读全文