函数对象字节码信息结构体是 JSFunctionBytecode,js 函数在运行时的数据结构是 JSFunctionBytecode,创建函数就是初始化 JSFunctionBytecode 结构体,并设置里面所需的字段,这个过程就是将扫描代码生成的临时 JSFunctionDef 对应到 JSFunctionBytecode 中,由 js_create_function 函数负责处理。JSFu
使用方法按照官方安装说明使用makefile安装后,命令行工具会被安装到/usr/local/bin目录下,此目录下会有JS解释器qjs,有编译器qjsc(QuickJS compiler,将js文件编译为可执行文件,具体实现是将QuickJS引擎+JS文件打包,使用qjs解释执行目标JS文件),还有一个可以对任意长度数字计算的qjscalc。编译的库会放到/usr/local/lib/quick
转载 2024-03-19 21:07:20
1006阅读
对比JavaScript 和lua性能
原创 10月前
538阅读
摘要本文从 QuickJS 源码的角度分析 JavaScript 语言中的闭包的实现原理,首先介绍闭包的概念,然后从相关 C 语言代码,一步步解析闭包以及相关的垃圾回收机制的底层实现,最后总结闭包的定义和相关原理。QuickJS 是一个用 C 语言编写的小型 JavaScript 引擎,支持 ES2019 规范,之所以选择 QuickJS 作为本文的解析对象,是因为它的源代码源码是由 C 语言编写
提升用户体验(UE) 到目前为止,这篇文章完全集中于使用JavaScript框架的好处,以及如何更容易的构建交互式应用程序。但是,另一方面,各个框架都有各自诱人的前景,包括用户界面(UI)组件和用户体验(UE)增强,这需要花大量的精力。这章将分别探讨下面框架的用户体验:Prototype、 jQuery、YUI、ExtJS和MooTools。 Prototype Prototype是少数几个不包括
转载 2024-07-11 19:57:12
278阅读
QuickNode是一个仿ThinkPHP的后端框架,基于Nodejs,让php程序员可以更顺手的转向Node开发,其接口风格符合restful,创建控制器和API都很容易。 QuickNodeNode.js从QuickNode开始,让restful接口开发更简单!PHP的MVC作为一名曾经的PHP开发者,我也有过三年多的thinkphp使用经验,那是我
转载 2023-11-14 07:22:09
159阅读
1. QuickJS 快速入门 (QuickJS QuickStart)1. QuickJS 快速入门 (QuickJS QuickStart)1.1. 简介1.2. 安装1.3. 简单使用1.3.1. 控制台执行1.3.2. js脚本执行1.3.3. 编译二进制文件1.4. 全局对象1.5. std 模块1.6. os 模块1.7. 自定义C模块1.7.1. js数据类型在C中的定义1.7.2.
要解决的问题在探索前端构建速度的时候,构建工具的诉求大致包含这样几个部分:构建配置、构建速度、产出文件大小(加载速度)以及产出文件的可读性。构建工具的痛点在于很难平衡这些特性,追求极致的构建速度,往往需要因业务场景进行复杂的配置,产出文件过大或者代码可读性很低,或者追求文件大小或者代码可读性,往往会增加更加构建的速度和文件产出。webpack没有做到面面俱到,需要探索别的构建工具的特
转载 2024-04-19 16:11:08
318阅读
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它
原创 2023-05-08 14:00:45
2886阅读
QuickJS是一个小型的可嵌入Javascript引擎。它支持ES2020规范,包括模块
原创 2022-12-04 00:13:05
287阅读
# QuickJS JavaScript 引擎:一个轻量级的 JavaScript 解决方案 JavaScript 是现代网页开发的一种核心语言,但它的执行环境通常是网页浏览器。然而,如果我们能够将 JavaScript 的执行引擎嵌入到其他应用程序中,这对于许多开发者来说会是一个非常有用的功能。QuickJS 是这样的一个轻量级 JavaScript 引擎,它支持较新的 ECMAScript
原创 10月前
445阅读
1 简介QuickJS是一个小型并且可嵌入的Javascript引擎,它支持ES2020规范,包括模块,异步生成器和代理器。它可选支持数学扩展,例如大整数 (BigInt),大浮点数 (BigFloat) 以及运算符重载。1.1 主要功能轻量而且易于嵌入:只需几个C文件,没有外部依赖,一个x86下的简单的“hello world”程序只要180 KiB
原创 2021-04-15 09:13:06
1631阅读
​1 简介​QuickJS是一个小型并且可嵌入的Javascript引擎,它支持ES2020规范,包括模块,异步生成器和代理器。它可选支持数学扩展,例如大整数 (BigInt),大浮点数 (BigFloat) 以及运算符重载。​1.1 主要功能​轻量而且易于嵌入:只需几个C文件,没有外部依赖,一个x86下的简单的“hello world”程序只要180 KiB。具有极低启动时间的快速解释器: 在一
原创 2022-03-29 16:31:54
1411阅读
AD: 对于Web高性能服务器上的选择,这个是很多人头痛的问题。对于Apache、lighttpd、Nginx都用他们优点,在什么情况下我们如何去选择适合自己的Web高性能服务器,如何去搭建一个适合自己的架构环境,这个是一个很麻烦的事情。接下来,在ADC 2012(Alibaba Developer Conference 2012)大会上,51CTO记者有幸采访到
转载 2024-05-16 09:58:30
57阅读
# QuickJS 编译 Android 版本指南 ## 简介 QuickJS 是一个小型且高效的 JavaScript 引擎,适用于嵌入各种应用程序中。在移动开发中,将 QuickJS 编译为 Android 版本是个相对简单的任务。以下是实现这一过程的详细步骤。 ## 流程概述 | 步骤 | 目的 | |--------|--
原创 10月前
219阅读
这个Github项目提供了Lua、Luajit、Python、Node.js和Java等动态语言的性能测试,具体语言版本包括: Lua 5.3.3 Luajit 2.0.4 Python 3.5.1 Pypy 2.4.0 HipHop VM 3.13.2 NodeJS v6.2.1 OpenJDK 1.8.0_92 (reference)主要测试下面算法的性能: 二叉树
转载 2023-07-10 18:31:41
654阅读
注:本文例子使用的是luajit2.0.5版本,原生lua版本可能有差异,但差异不大。写在前面:lua性能分析PepperfishProfiler挺好用的,主要灵活,分析的数据也清晰,有嵌套调用的耗时信息。其他lua分析工具也可见。本脚本的基于PepperfishProfiler做修改的。为什么需要修改:复杂的lua逻辑导致PepperfishProfiler分析结果不准确,原因:lua的debu
转载 2024-04-30 03:47:39
236阅读
===============================================================服务器,main.lua===============================================================local socket = require ( "socket" ) local tcpServer = nil --
转载 2023-06-23 23:15:43
132阅读
Cocos2d-x-Lua示例项目HelloLua 本篇博客介绍Cocos2d-x中Lua的实例项目,就是使用Cocos2d-x创建的初始项目运行所呈现的农场,这里笔者取名为HelloLua。本篇博客会详细在代码中解析Cocos2d-x 3.1.1创建的Lua项目中实例,一些API的使用。 注:本示例项目在Mac系统下创建 首先我们来创建一个Cocos2d-x Lua项目,在命令敲入类似以下命令
转载 2024-04-25 17:36:51
96阅读
quickjs-emscripten是基于emscripten将quickjs c 版本,编译为了webassembly 方便通过npm 使用 包含的特性 支持node以及web 使用 安全的执行js
原创 2024-02-04 10:01:15
142阅读
  • 1
  • 2
  • 3
  • 4
  • 5