Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

feature request: lazy string #100

Closed
urain39 opened this issue Nov 9, 2021 · 2 comments
Closed

feature request: lazy string #100

urain39 opened this issue Nov 9, 2021 · 2 comments

Comments

@urain39
Copy link

urain39 commented Nov 9, 2021

buffer = '';

for (let i = 0; i < 0xffff; i++) {
  buffer += "test it";
}

Currently quickjs run above code is too slow, and it may be fix with a little change in String to make it like a StringBuilder, but more automatic (via something like setter and getter).

@fstirlitz
Copy link
Contributor

Duplicate of #67.

@urain39
Copy link
Author

urain39 commented Nov 11, 2021

Duplicate of #67.

Ok, i see.

@urain39 urain39 closed this as completed Nov 11, 2021
GerHobbelt pushed a commit to GerHobbelt/quickjs that referenced this issue Oct 17, 2023
* upgrade typescript

* attempt to use nodenext tsc

* revert enabling noUnused{Locals,Parameters}

* fix imports to use real extensions

* update mocha for ESM

* awkward async import issue

* npm run build

* examples/website: update for newer NPM, typescript

* fix behavior for webpack build

* bump emsdk to 3.1.31

* fix function signature

* cache another item

* use EMSDK 3.1.32 native, 3.1.31 in Docker

* add some extra default timeout

* Fix breakage caused by upgrade

* rebuild

* More precise/strict compilation (drop support for node<16)

* rebuild

* add note about MINIMAL_RUNTIME

* tested website

* ?

* pretty
GerHobbelt pushed a commit to GerHobbelt/quickjs that referenced this issue Oct 17, 2023
* 0.23.0

* update changelog for 0.21.1

* Bump qs from 6.5.2 to 6.5.3 (bellard#89)

Bumps [qs](https://github.com/ljharb/qs) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/ljharb/qs/releases)
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](ljharb/qs@v6.5.2...v6.5.3)

---
updated-dependencies:
- dependency-name: qs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump decode-uri-component from 0.2.0 to 0.2.2 (bellard#83)

Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](SamVerschueren/decode-uri-component@v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix for func_id rollover (bellard#94)

* 32767 functions good, 32768 functions BAD

* change `magic` to uin16_t (avoids signed intereger overflow)

* type magic as uint32_t, add simple test

* re-enable all tests

* remove missed test code

* address PR issues

* switch to a map of maps for fnMap

* update fnId to start at min value

* skip max funcID tests for debug mode

* missed a flag

* run prettier

* Bump http-cache-semantics from 4.1.0 to 4.1.1 (bellard#97)

Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/kornelski/http-cache-semantics/releases)
- [Commits](kornelski/http-cache-semantics@v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: http-cache-semantics
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 0.21.2

* scripts/emcc.sh: cache lto .a files in build/emsdk-cache

* unknown change to .map file

* Emit async imports for variants (bellard#100)

* upgrade typescript

* attempt to use nodenext tsc

* revert enabling noUnused{Locals,Parameters}

* fix imports to use real extensions

* update mocha for ESM

* awkward async import issue

* npm run build

* examples/website: update for newer NPM, typescript

* fix behavior for webpack build

* bump emsdk to 3.1.31

* fix function signature

* cache another item

* use EMSDK 3.1.32 native, 3.1.31 in Docker

* add some extra default timeout

* Fix breakage caused by upgrade

* rebuild

* More precise/strict compilation (drop support for node<16)

* rebuild

* add note about MINIMAL_RUNTIME

* tested website

* ?

* pretty

* BigInt (-DCONFIG_BIGNUM) support (bellard#104)

* enable CONFIG_BIGNUM

* recompile for bignum

* bigint basics

* vm.dump for bigint

* fix bigint call

* update changelog

* dump

* Extended Symbol support (bellard#105)

* Symbol utilities

* rebuild

* update CHANGLOG.md

* rebuild docs

* update changelog

* 0.22.0

* Increase ASYNCIFY_STACK_SIZE (bellard#114)

* Increase ASYNCIFY_STACK_SIZE

* Add dynamic asyncify stack size

* update docs & changelog

* rebuild docs

* 0.23.0

* Makefile: use emscripten/emsdk:3.1.35 from docker

* rebuild

* update smoketest

* feat: BigNum (bellard#3)

* Add vim swapfiles to gitignore

* Use local emcc binary

* Build for emscripten web target

* Enable QuickJS bignum extensions

* Update generated files

* Update README.md

* test

* build

* build

* new package name

Co-authored-by: Ben Sidhom <bsidhom@gmail.com>
Co-authored-by: menduz <github@menduz.com>

* feat: add opcode instructions counter (bellard#1)

* add opcode counter

* remove static

* update generated

* fix

* fix prettier

* remove prepack

* feat: move opcode counters to uint64 (bellard#4)

* feat: move the counter to 64bit

* fix test

* increase mocha timeout

* fix prettier

* rebuild

* fix lock

* fix package.json

* prettier

* ignore emsdk-cache in prettier

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Jake Teton-Landis <just.1.jake@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam Yost <swimmadude66@users.noreply.github.com>
Co-authored-by: yar2001 <yar2001@163.com>
Co-authored-by: Lean Mendoza <leandro@decentraland.org>
Co-authored-by: Ben Sidhom <bsidhom@gmail.com>
TooTallNate pushed a commit to TooTallNate/quickjs that referenced this issue Dec 18, 2023
GerHobbelt pushed a commit to GerHobbelt/quickjs that referenced this issue Jan 26, 2024
* upgrade typescript

* attempt to use nodenext tsc

* revert enabling noUnused{Locals,Parameters}

* fix imports to use real extensions

* update mocha for ESM

* awkward async import issue

* npm run build

* examples/website: update for newer NPM, typescript

* fix behavior for webpack build

* bump emsdk to 3.1.31

* fix function signature

* cache another item

* use EMSDK 3.1.32 native, 3.1.31 in Docker

* add some extra default timeout

* Fix breakage caused by upgrade

* rebuild

* More precise/strict compilation (drop support for node<16)

* rebuild

* add note about MINIMAL_RUNTIME

* tested website

* ?

* pretty
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants