Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何预先预先计算代价高昂的代码片段?

如何预先预先计算代价高昂的代码片段?
EN

Stack Overflow用户
提问于 2020-01-08 20:19:17
回答 1查看 143关注 0票数 0

我们有一个React组件,它使用一些长时间计算提供的数据。提供的数据(长时间计算的结果)总是相同的(对于所有用户)。

我想要做的是确保这个计算只执行一次(在小型化期间),而不是每次用户加载页面时。

Webpack在生产模式下默认使用TerserPlugin进行小型化。

  • TerserPlugin是否聪明到能够计算出长计算总是返回相同的结果并对其进行优化?
  • 如果是的话,是否有一种方法来检查计算是否在运行时执行?console.log肯定会阻止优化。
  • 如果没有,也许另一个插件就能做到这一点?例如,UglifyJS。

简化webpack配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
...

module.exports = {
  mode: 'production',

  entry: {
    app: ['...'],
  },
  output: {
    path: '...',
    filename: "[name].bundle.js",
    publicPath: "/"
  },

  module: {
    rules: [
      {
        test: /\.html$/,
        loader: "file-loader?name=[name].[ext]"
      },
      {
        test: /\.(jsx?|tsx?)$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader",
        }
      },
      ...
    ]
  },
  resolve: {
    extensions: [.ts", ".tsx", ".js", ".jsx"],
    modules: [
      path.join(__dirname, "./src"),
    ]
  },
};

我能想象的唯一方法是创建一个脚本,用所需的数据创建一个json文件。

  • 这是一个很好的解决方案,还是有一个更好、更简单的解决方案?一些缺点,例如:林特可能抱怨进口不存在,更复杂的设置。

下面是一个带有示例用例的演示

EN

回答 1

Stack Overflow用户

发布于 2020-01-08 20:36:45

如果所有用户中的数据是相同的,则如果存在后端,则应将数据缓存在后端。

如果每个客户端的数据都是唯一的,但您希望客户机进行更少的计算,那么请查看react.memo。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59657181

复制
相关文章
[Matlab]Simulink预先加载m文件
原文链接:https://blog.csdn.net/humanking7/article/details/80743978
祥知道
2020/03/10
2.2K0
如何理解EDI文件并避免代价高昂的错误?
EDI(电子数据交换)实现企业间业务数据的自动化传输,如:采购订单、发票和运输通知单等,使企业能够有效地与交易伙伴进行合作。但由于EDI最初是在20世纪60年代为原始的机器设计的,因此对人类而言,EDI的格式几乎是不可理解的。
知行软件EDI
2021/04/19
7210
如何理解EDI文件并避免代价高昂的错误?
使用预先训练的扩散模型进行图像合成
文本到图像的扩散模型在生成符合自然语言描述提示的逼真图像方面取得了惊人的性能。开源预训练模型(例如稳定扩散)的发布有助于这些技术的民主化。预先训练的扩散模型允许任何人创建令人惊叹的图像,而不需要大量的计算能力或长时间的训练过程。
数据科学工厂
2023/08/10
4530
使用预先训练的扩散模型进行图像合成
Angular 使用 Resolve 预先获取组件数据
这几天碰到一个需求,登录后要根据用户信息的不同跳转到不同的页面。 比如默认登录要求跳转到A页面,如果A的页面中表格数据是空则要求登录后要直接跳转到B页面。 如果在pageA的组件中的ngInit中判断,你会先看到pageA然后再跳到pageB,这样用户体验不太好。 这就要求在路由变化发生之前就要拿到后台返回的数据。这个时候我们可以使用Resolve 实现起来也比较简单
mafeifan
2019/05/31
1.6K0
如何预先处理电影评论数据以进行情感分析
对于不同的问题,文本数据的预先处理是不同的。
丰泽
2018/02/23
2.1K0
如何预先处理电影评论数据以进行情感分析
使用预先训练好的单词向量识别影评的正负能量
上一节我们讨论路单词向量化的算法原理。算法的实现需要有大量的数据,一般而言你要收集到单词量在四十亿左右的文本数据才能通过上一节的算法训练处精准的单词向量,问题在于你很难获取如此巨量的数据来训练单词向量,那你该怎么办呢?
望月从良
2018/09/29
7000
使用预先训练好的单词向量识别影评的正负能量
[AI新知] PyTorch Hub发布内建18种预先训练模型工具
PyTorch Hub透过API和工作流程,提供开发者基本的模型,来重现机器学习相关的研究,脸书发布内建18种预先训练模型工具,方便重制AI研究
阿泽
2019/07/11
4840
[AI新知] PyTorch Hub发布内建18种预先训练模型工具
主动发现问题,预先感知故障及用户体验
作者:黄小龙,腾讯云云监控高级工程师 前言  近期,某券商 APP 出现异常,大部分用户出现无法登录,数据显示异常等问题。由于行业的特殊性,股票交易对于时效的敏感性,出现这样的异常会造成无法预估的影响。 在业务发展过程中,通常会过度的关注如何设计高可用、高可靠的架构,往往忽略会了真实的用户体验。业务真正上线后,将面临接踵而来的体验问题。 为什么会有大量用户反馈体验不佳?访问缓慢? 为什么还是有部分地区的用户无法访问? 为什么业务域名访问会被劫持或者被封堵? 为什么业务页面会被篡改,且无法第一时间获悉? 如
腾讯云可观测平台
2021/11/12
2K0
XenDesktop 设置上班高峰期前预先启动虚拟桌面
在部署完XenDesktop虚拟桌面后,为了保证良好的用户使用体验,我们有时候会想要在用户上班之前启动一定比例的虚拟桌面到已注册状态,便于用户在上班高峰期可以立即登陆虚拟桌面减少在高峰期的启动风暴。
SuperDream
2019/02/28
8990
产业互联网,一个预先写就的故事范本
你很难再去用一个平台或者一个中心来定义和诠释现在的互联网玩家,无论是头部的互联网巨头,还是后来的互联网新锐,几乎都是如此。如果对当下互联网玩家们的新发展进行一次总结的话,拥抱产业、投身产业,无疑是一个重要标志。有些互联网玩家们将拥抱的是新技术产业,有些互联网玩家们则是开始拥抱传统的产业。无论是哪一种姿势,有一点可以确认的是,互联网早已不再是那个游离于产业之外的存在,而是成为了一个转向产业,投身产业的存在。
孟永辉
2023/03/16
2000
产业互联网,一个预先写就的故事范本
[Nat. Commun. | 论文简读] 将生物医学数据集成和格式化为 Bioteque 中预先计算的知识图谱嵌入
Integrating and formatting biomedical data as pre-calculated knowledge graph embeddings in the Bioteque
智能生信
2022/12/29
6190
[Nat. Commun. | 论文简读] 将生物医学数据集成和格式化为 Bioteque 中预先计算的知识图谱嵌入
历史上代价最高昂的9次网络钓鱼攻击
网络钓鱼是一种骗局,攻击者通过向人们发送恶意电子邮件、信息或电话,诱骗他们点击有害链接或附件、访问欺诈性网站、共享敏感数据或使他们易受网络攻击。如今,网络钓鱼攻击正在不断激增,攻击者利用了大规模转向远程工作和云存储的最新漏洞和机会。而沦为网络钓鱼攻击的牺牲品经常会给个人和企业带来巨大的经济损失。以下是历史上最具经济破坏性的9起网络钓鱼攻击。
FB客服
2023/08/08
3050
历史上代价最高昂的9次网络钓鱼攻击
[Nature Communication | 论文简读] 将生物医学数据集成和格式化为Bioteque中预先计算的知识图谱嵌入
Integrating and formatting biomedical data as pre-calculated
智能生信
2022/12/29
6550
[Nature Communication | 论文简读] 将生物医学数据集成和格式化为Bioteque中预先计算的知识图谱嵌入
『高级篇』docker之kubernetes环境搭建与预先环境准备(32)
kubernetes的安装有几种方式,不管是kube-admin还是社区贡献的部署方案都离不开这几种方式:
IT架构圈
2018/12/12
7160
『高级篇』docker之kubernetes环境搭建与预先环境准备(32)
预先学习第一天:计算机基础知识+python简介+快速入门,笔记
今日内容: 1.计算机基础知识 2.python简介 3.快速入门 昨日回顾 1.无 内容详细: 一.计算机基础 1. 计算机什么组成的 输入输出设备 cpu 硬盘 内存 中央处理器 处理各种数据 相当于人的大脑 内存 存储数据 硬盘 存储数据的 2. 什么是操作系统 控制计算机工作的流程 软件 什么是应用程序 安装在操作系统之上的软件 就是应用程序 总结: cpu 人的大脑 内存
changxin7
2019/09/10
5300
SAP最佳业务实践:ETO–项目装配(240)-7预先采购
CNMM预先采购 image.png 必须在项目执行的一开始就执行预先采购。ProMan 用于控制活动。 角色项目经理 后勤 ® 项目系统 ® 物料 ® 执行 ® 项目-导向获得 (ProMan) 1
SAP最佳业务实践
2018/03/27
1.6K0
SAP最佳业务实践:ETO–项目装配(240)-7预先采购
SAP最佳业务实践:ETO–报价处理(232)-18预先采购
image.png CJ20N预先采购 有时在确定订单前触发长提前期采购。尽管供应商会尽可能避免预先订购项目特定物料,但此步骤有时是必要的。 在此步骤中,您检查长提前期物料的相关数据,衡量是否能满足其计划需求。 后勤®项目系统®项目®项目构造器 1. 从工作清单中,选择相关项目 (M-OPXXX), 并通过拖放功能将其移到 项目结构:描述 区域。如果它不在工作清单中,请选择 未清, 并将您的项目定义放入字段中。选择 未清并转储到工作清单 确认。 2. 选择 全部展开。 3. 单击网络作业 长提前期采购。 4
SAP最佳业务实践
2018/03/27
1.2K0
SAP最佳业务实践:ETO–报价处理(232)-18预先采购
历史上代价最高昂的9次网络钓鱼攻击
网络钓鱼是一种骗局,攻击者通过向人们发送恶意电子邮件、信息或电话,诱骗他们点击有害链接或附件、访问欺诈性网站、共享敏感数据或使他们易受网络攻击。如今,网络钓鱼攻击正在不断激增,攻击者利用了大规模转向远程工作和云存储的最新漏洞和机会。而沦为网络钓鱼攻击的牺牲品经常会给个人和企业带来巨大的经济损失。以下是历史上最具经济破坏性的9起网络钓鱼攻击。
C语言与CPP编程
2023/08/10
5580
历史上代价最高昂的9次网络钓鱼攻击
使用预先训练网络和特征抽取大力提升图像识别率
神经网络在项目实践中遇到的一大问题是数据不足。任何人工智能项目,在数据不足面前都会巧妇难为无米之炊,算法再精巧,只要数据量不足,最后的效果都不尽如人意,我们目前正在做的图像识别就是如此,要想让网络准确的识别猫狗图片,没有几万张图片以上是做不到的。
望月从良
2018/08/16
8340
使用预先训练网络和特征抽取大力提升图像识别率
货运安全事故频发、代价高昂,智慧物流能做些什么?
一辆大货车在高速行驶途中突然冲过中央隔离防护栏,进入车流密集且高速的对向车道,以很高的相对速度撞向正常行驶的5辆小汽车,最终酿成5人死亡、11人受伤(其中一人重伤)的惨剧。
用户2908108
2021/10/20
2880

相似问题

代价高昂的计算示例

19

Powershell代价高昂的解析

32

代价高昂的计算程序操作数混淆

16

预先计算用户兴趣

11

在scala中代价高昂的代码块导入。

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文