『调错』大半夜调试TCP延迟问题
摘要:背景 公司有个项目,需要一个高可用缓存服务。 之前通讯技术选型时,测试过 UDP TCP HTTP QUIC gRPC 性能。 初步结论: 1、UDP 很快,CPU 很低,但无法超过 64K (大于12K 甚至都开始内网丢包) 2、HTTP 传统的 WebApi (中规中矩的技术选型,延迟都还好,但
阅读全文
posted @
2024-03-30 01:20
InkFx
阅读(37)
推荐(0) 编辑
『卧槽』意外发现了 Hashtable 的 foreach 用法 BUG
摘要:Hashtable 不要 foreach KeyValuePair
阅读全文
posted @
2019-06-10 17:12
InkFx
阅读(376)
推荐(0) 编辑
『性能』List 和 HashSet 查找性能比较 (任何数据量的检索 从此只用 HashSet )
摘要:结论: 总数 50000 (5万): List 检索 5W次 耗时 23秒, HashSet 检索 5W次 耗时 0.01秒。 总数 5000 (5千): List 检索 5K次 耗时 0.16秒, HashSet 检索 5K次 耗时 0.001秒。 总数 500 (5百): List 检索 500
阅读全文
posted @
2019-03-30 15:40
InkFx
阅读(3256)
推荐(1) 编辑
『备注』GDI+ 绘制文本有锯齿,透明背景文本绘制
摘要:背景: GDI+ 绘制文本 时,如果 背景是透明的 —— 则会出现 锯齿。 解法: 结果:
阅读全文
posted @
2019-03-27 11:04
InkFx
阅读(810)
推荐(0) 编辑
『动态』动态JSON万能转换函数 + .Net40 dynamic动态数据绑定
摘要:不废话,调用代码: 运行截图: 完整Demo代码: 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 string json = File.ReadAllText("2.txt", Encoding.Default); 6 7 o
阅读全文
posted @
2019-02-18 10:22
InkFx
阅读(507)
推荐(0) 编辑
『随笔』.Net 底层 数组[] 的 基本设计探秘 512 子数组
摘要:测试代码 比较简单。 32位程序,启动时 8M, 开辟 object[] 数组,全部赋值 NULL,内存飙到 173M object 在 数组中的指针 占 8 字节 通过跳跃赋值, 得出结论: 数组内部 包含 若干个 子数组, 子数组 固定长度 512(左右)
阅读全文
posted @
2018-12-03 20:03
InkFx
阅读(296)
推荐(0) 编辑
『片段』Win32 模式窗体 消息路由
摘要:需求背景 近来,有个需求: 和一个外部程序对接。 具体是,我这边 主程序用 Process 启动外部程序。外部程序启动后,我这边调用的窗体不允许再进行任何操作。 当外部程序关闭时,外部程序会向我这边的主程序 返回结果。 传统做法 1 Process process = Process.Start("
阅读全文
posted @
2018-08-02 16:27
InkFx
阅读(466)
推荐(0) 编辑
『性能』测试一下 MSSqlHelper 的性能
摘要:本文没啥技术含量,就是测试一下 MSSqlHelper 在 使用反射、不使用反射 的性能对比。 之后,不要问为什么不用 ORM 这类的东西 —— 会有另外的文章 介绍 自己这些年 自己的ORM 升级历史。 背景: 我自己有一个 MSSqlHelper, 这个 辅助类 是最基本的一个 数据库操作类。
阅读全文
posted @
2018-07-22 01:47
InkFx
阅读(1068)
推荐(0) 编辑
『性能』ServiceStack.Redis 和 StackExchange.Redis 性能比较
摘要:近来,需要用到 Redis 这类缓存技术 —— MongoDB 和 Redis 没有进行过比较。
我也懒得在这些细节上 纠结那么多 —— 按照网友给出的文章,听从网友建议,选择 Redis。
本文重点比较一下 ServiceStack.Redis 和 StackExchange.Redis 这两种客户端调用的性能比较。
阅读全文
posted @
2018-07-13 11:09
InkFx
阅读(9763)
推荐(5) 编辑
『神坑』DotNetty 内存泄漏 解决办法
摘要:近来在用 DotNetty 实现一个文件上传下载的同步服务。
其中:客户端下载服务端的文件,客户端多次请求,从服务端将文件分片下载下来,追加到本地磁盘。
—— 非常简单的代码,都写了几十次了,驾轻就熟。
可是:在进行压力测试时,我这边下载一个 Win10 的 ISO 镜像,4个G。
我发现:客户端内存不停增长,直到内存溢出 —— 我擦。
阅读全文
posted @
2018-07-10 19:58
InkFx
阅读(4890)
推荐(5) 编辑
『OGG 03』Win7 配置 Oracle GoldenGate 一次性成功(包括Adapter Java)
摘要:Win 配置 OGG 数据同步,并且通过 Java插件获取到 数据差异。【有一个场景:有些业务你不清楚数据库变化,以前,你会傻傻的拦截数据库SQL脚本,OGG Adapter 能够直接将数据变化展示在你眼前】
OGG 可以实现多种数据库之间 的 秒级数据同步,在容灾备份 方面 据说很有权威性。
本文重点讲述 OGG的配置(还有 额外两篇文章 讲述各种 诡异的BUG、助你脱坑)
阅读全文
posted @
2018-06-30 14:03
InkFx
阅读(2746)
推荐(2) 编辑
『调错』OGG Error opening module ggjava_ue.dll
摘要:OGG Error opening module ggjava_ue.dll
阅读全文
posted @
2018-06-08 10:00
InkFx
阅读(499)
推荐(0) 编辑
『练手』通过注册表 获取 VS 和 SQLServer 文件路径
摘要:获取任意 VS 和 SQLServer 的 磁盘安装目录。 背景需求:如果磁盘电脑安装了 VS 或者 SQLServer 则 认定这台计算机 的使用者 是一名 软件研发人员,则让程序 以最高权限运行。 代码如下:(基于注册表读取、exe版权信息校验) static void Main(string[
阅读全文
posted @
2017-12-03 20:21
InkFx
阅读(765)
推荐(0) 编辑
『练手』手写一个独立Json算法 JsonHelper
摘要:背景: > 一直使用 Newtonsoft.Json.dll 也算挺稳定的。 > 但这个框架也挺闹心的: > 1、影响编译失败:https://www.cnblogs.com/zihuxinyu/archive/2013/05/06/3063181.html (我也经常遇到) > 2、WinCE版本
阅读全文
posted @
2017-11-24 23:46
InkFx
阅读(1777)
推荐(4) 编辑
『尝试』随手绘制几张点阵图片
摘要:本文仅属 个人尝试,最终目的是实现 点阵图片 存储离线数据。 本文只包括 生成 点阵图片的代码,不包括 读取点阵图片。 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 6 int xp = 200; 7 int yp = 55;
阅读全文
posted @
2017-11-22 12:22
InkFx
阅读(1915)
推荐(0) 编辑
『实用』过滤字符串中的幽灵字符
摘要:背景: 一段明显的字符串,可能潜伏着看不见 的 幽灵字符。 某些字符 比较常见、常用,比如: \r \n \t 但是,有些 幽灵字符(保守估计 >200~1000个),不仅不常见,而且基本没价值。 这些幽灵字符,潜伏在 正常字符串中,有的伪装成空格符,有的直接隐形。 当你要 处理字符串时,这些幽灵字
阅读全文
posted @
2017-11-17 23:47
InkFx
阅读(3789)
推荐(3) 编辑