的console.log /警告/错误 - 天然香草的JavaScript性能更高的替代?

问题描述 投票:1回答:1

我已经做了一些调查,大部分的东西,我觉得是一个很好几年的历史。我是新来的JS,我逐步建立我的知识。

CONSOLE.LOG()是一个非常有用的工具,但是我极其警惕其普遍表现不佳(https://jsperf.com/console-log1337/16https://jsperf.com/console-log1337/33作为一个基本的例子),以及不好的名声。

在我需要在生产应用程序/网站留下的console.log()风格的错误消息的情况下,有没有更高性能的替代方案,是原产于香草JS(没有框架/库)?

我最初的想法是,而不是推动所有日志物品进入以后可收集(如果需要),但似乎并没有结合Promise.all()很好地工作的阵列 - 在,而不是让说,10个项目阵列,代替我回来或者与最后一个值的单个阵列,或10个单独的阵列。

是否有一个天然的或最值得推荐的选择(明白这是开放的“意见” - 我不知道怎么回事字呢!)?

诗篇 - 道歉缺乏格式...移动!

javascript performance console firebug console.log
1个回答
2
投票

... 表现不佳

其中一个测试用例进行比较调用一个空函数调用console.log。一个空的功能可能会由JIT编译器内联,那么你实际上是比较没有任何代码在所有console.log。为了确保完全没有代码的方式更快。

我从来没有经历过任何(明显)滞后由于伐木,除非你是一个渲染循环内登录或任何执行非常,非常频繁。

... 坏名声

真的吗?在我眼里JS有伟大的方式相对于其他语言(可能是因为JS得到了最好的错误:)),你可以查看嵌套结构“活”的,可以暂停在断点处执行,您可以用debugger;调试准备代码进行调试声明中,你可以转储整个存储,可视化GC行为,热功能等等。是的,所有这些功能较低的性能,但是控制台执行得非常好。

是否有更好的性能的替代方案,是原产于香草JS(没有框架/库)?

该日志被直接写入引擎执行JavaScript,这意味着它可以访问很多的,你无法通过JS访问的东西,也原生代码总是会比编译JavaScript的速度(或同样快,但没有人能保证这一点)。

在事件中,我需要在生产中的应用/网站留下的console.log()风格的错误消息...

又是谁应该阅读本日志?你要问你的客户寻找到一个错误的情况下,控制台?

在生产测井应该让您登录调试通过使用一切,只是不够,你可以跟踪误差,所以一些面包屑,找出错误发生(例如“菜单中打开”),以及错误本身。

如果你不想自己写的生产测井,看看sentry for JS

© www.soinside.com 2019 - 2024. All rights reserved.