v7.3.2018.0614   重构高性能资源池,减少GC压力,增加线程池,让异步任务得到平等竞争CPU的机会
大石头 authored at 2018-06-14 17:56:44
3.05 KiB
X
2018-04-28
ApiServer的100万次完整完成消息处理中各步骤耗时,解包3.77%,Json解码13%,反射执行3.65%,Json编码12%,封包6.2%,发送响应48.73%

2015-02-10
1,可以借助论坛实现软件的自动更新
2,搜索指定帖子的附件链接,若符合一定规则,自动下载更新。
3,要求帖子按照一定规则发表附件,并且必须是zip格式

2014-01-01
1,序列化框架,放弃对象引用、多维数组、复杂列表、复杂字典等功能,核心保留基本类型、自定义对象、基本列表、基本字典,其它一律自定义

2013-12-24
1,考虑重新使用程序集构造函数,一些功能要求程序集构造函数支持
2,不能使用Cecil,因为它修改过的程序集由于pdb的原因不好调试,可以考虑替换的方式
3,也试试新版本Cecil,同时修改dll和pdb

2013-01-17
1,实现文件脚本引擎,可以直接书写cs文件脚本,替代vbs/js/bat/Python/Perl等,用于处理日常工作,脚本语言C#。
2,文件脚本头部通过注释决定一些工作参数
3,可以不写常用using,自动添加;可以不写命名空间和类名,自动添加;可以不写main,自动添加;
4,开始着手准备代码助手,用自动机分析C#语法,用于格式化源代码,以及对编码规范进行限定,这样大项目才能走得更远。

2012-09-17
1,考虑简化消息模型,不采用复杂的消息头,而设立一种独立的消息来进行二次包装

2012-04-12
1,消息模型,可以考虑合并小包,一块发过去,反正接收方可以连续解析消息

2012-04-12
1,消息类型,会话SessionID至少得用4个字节
2,请求应答式数据流模型,QA=>QuestionAnswer

2012-04-06
1,消息基类,第一个字节,第一位表示是否扩展,如果未扩展,则只能用127种消息
2,如果扩展,第二位表示消息类型下一字节是否地址,第三位标识下一字节是否响应,第四位标识下一字节是否会话,第五位标识是否最后带有CRC校验
3,如果扩展,第二个字节必须是消息类型。

2012-03-30
1,vs中把多行注释替换为单行注释正则:///:b\<summary\>:b*\n:b*///:b*{[^\n]@}:b*\n:b*///:b\</summary> => /// <summary>\1</summary>

2012-03-14
1,发现.Net自身一个很棒的对象池OverlappedDataCacheLine,外部采用链表,内部采用数组,加上CAS,既做到了线程安全,又保证了高效,没有GC压力。

2011-11-25
1,考虑设计一个HttpModuleLoader的IHttpModule,用于加载子目录web.config中配置的IHttpModule

2011-10-01
1,反射库应该提供一个动态执行代码的封装,ScriptEngine,ScriptSession

2011-09-26
1,二进制反序列化,某个字段或属性是接口,无法识别真实类型,此时可以考虑动态创建实现了该接口的类,以供反序列化使用。

2011-09-08
1,鉴于序列化框架过于复杂,相当难用,可以考虑拆分,强化获取实体可序列化成员等子功能,供外部单独调用。