Comments (1)
I did a complete re-write of the named-entity decoder: https://github.com/dan1wang/node-html-entities/tree/rewrite
Here is bench mark result
XmlEntities.decode: 41ms, 244op/msec
Html4Entities.decode: 59ms, 169op/msec
html5Entities.decode: 57ms, 175op/msec
nodeHtmlEncoder(entities).htmlDecode: 841ms, 12op/msec
nodeHtmlEncoder(numerical).htmlDecode: 830ms, 12op/msec
entities.decodeXML: 30ms, 333op/msec
entities.decodeHTML4: 52ms, 192op/msec
entities.decodeHTML5: 43ms, 233op/msec
newDecoder.decodeHTML4Entities: 47ms, 213op/msec
newDecoder.decodeHTML5Entities: 110ms, 91op/msec
newDecoder.decodeHTML4EntitiesStrict: 26ms, 385op/msec
newDecoder.decodeHTML5EntitiesStrict: 32ms, 313op/msec
For non-strict decoding, the new HTML5 entity decoder is the slowest of all. This is because if you make semi-colon optional, you have to start trying to match the longest named entities first, and there are lots of entities to cover.
For strict decoding, the new decoder is lightning fast :-)
The code is incomplete (doesn't do numerical decoding yet).
The code should be changed to do String.split('&')
first. That will speed things up considerably.
from html-entities.
Related Issues (20)
- Incorrect Performance comparison HOT 2
- Audit vulnerabilities detected in the htmlentities project on Tag: v2.3.2 HOT 2
- Not decoding é HOT 3
- html-entities doesn't decode html breaks '<br />' HOT 4
- encode function encodes 0 to empty string HOT 8
- Unable to encode 𝌆 HOT 1
- How to migrate from v1.x to v2.x HOT 1
- assigning decode(someString) to something that expects a string causes es-lint typescript errors "Unsafe assignment of an any value." and "Unsafe call of an any typed value. HOT 1
- Latest release/tag `2.3.2` is out of sync with npm's listed `2.3.3` HOT 1
- Can't import the named export 'decode' from non EcmaScript module (only default export is available) HOT 2
- JSON.parse may be faster for namedReferences object HOT 4
- The "timesbar" entity is not decoded correctly HOT 1
- Option to prevent double encoding HOT 3
- Decoding entities from a state component - react native HOT 1
- named-references - not available in 2.3.3 npm install? HOT 9
- How to prevent encoding < and > like it was done in v1.4 ? HOT 7
- VirusTotal - 1 security vendor flagged this URL as malicious HOT 1
- Add map file? HOT 14
- Error using html-entities with rollup HOT 1
- safari 12 \ud835 error
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from html-entities.