dotnet 禁用 SQLite 的 SQLiteFunction 扫描程序集提升启动性能

在 SQLiteFunction 模块里面,将会扫描全部程序集,用来找到 SQLiteFunctionAttribute 实现类型收集。刚好我的应用不需要这样的功能,这就意味着在 SQLiteFunction 模块里面扫描全部程序集的逻辑是白跑的,禁用此逻辑可提升启动性能

禁用方法可以是在 Main 方法里面设置环境变量的方式实现禁用 SQLiteFunction 模块扫描全部程序集。以下代码需要放在应用程序运行足够早的时间,至少需要比首个 SQLite 相关模块早,由于以下代码仅仅只是设置环境变量,性能损耗上很小,可以比较放心的在 Main 方法里面设置

       // 在 SQLite 的 SQLiteFunction 类的静态构造函数会反射扫一遍所有程序集,找 SQLiteFunctionAttribute 特性
       // 我们不需要这个功能,通过配置这个环境变量,避免扫描,优化启动时 CPU 占用
       Environment.SetEnvironmentVariable("No_SQLiteFunctions", "1");

特别感谢 lsj 提供的方法,我只是代为记录

以上环境变量请参阅 SQLite Environment Variables 官方文档

posted @   lindexi  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2020-09-12 WPF 点击按钮时更改按钮样式界面效果的 XAML 实现方法
2020-09-12 WPF 解决 Skia 因为找不到字体而绘制不出中文字符
2020-09-12 WPF 创建空白图片
2020-09-12 WPF 获取本机所有字体拿到每个字符的宽度和高度
2020-09-12 WPF 自己封装 Skia 差量绘制控件
2017-09-12 调试 ms 源代码
点击右上角即可分享
微信分享提示