-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Next]: Natasha8.0 【轻量化】计划 #210
Comments
1. 尝试从现有 Assembly 中提取 元数据引用.实验与描述内存元数据引用: 第一次优化:
第二次优化:
第三次优化:
问题记录:
2. 减小发布包尺寸使用缓存文件存储预热的一些数据。 综合优化:
|
3. 轻量化编译.新版 Natasha 将编译部分分为 Natasha.CSharp.Compiler 与 Natasha.CSharp.Template.
|
4. C# 12 支持. |
|
6. 脚本 Debug 调试API 设计:public AssemblyCSharpBuilder WithDebugCompile(Action<DebugOutput>? action = null) /// <summary>
/// 采用文件加载方式搜集源代码信息
/// </summary>
/// <returns></returns>
public DebugOutput WriteToFile()
{
_informationFormat = DebugInformationFormat.PortablePdb;
return this;
}
/// <summary>
/// 将 Pdb 输出到程序集中,并直接从程序集加载 Pdb 调试信息
/// </summary>
/// <returns></returns>
public DebugOutput WriteToAssembly()
{
_informationFormat = DebugInformationFormat.Embedded;
return this;
} |
7. 程序集合并(模块加载).API 设计:var assembly1 = builder1.GetAssembly();
var asssembly2 = builder2.GetAssembly(assembly1);
Assert.Equl(assembly1,assembly2); .NET Core 起已经不再支持多模块程序集了。
方案2 热重载:需要长期调研,无开发文档,可参考代码过于复杂。 |
💡 描述一下你理想中的解决方案 (Describe the solution you'd like).
Natasha 8.0 轻量化计划
The text was updated successfully, but these errors were encountered: