Comments (6)
Correction.. only supports 63 keys given signed int64 the way bitwiseFlags is populated.
from jsonparser.
Yes it is, I have few ideas how to fix it without sacrificing performance.
On Wednesday, 20 July 2016, Niek Sanders [email protected] wrote:
Correction.. only supports 63 keys given signed int64 the way bitwiseFlags
is populated.—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#56 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAA2uZbxpBvOxfZp3-ahA6iCyfMDhHoFks5qXar-gaJpZM4JQTF9
.
Sincerely yours Leonid Bugaev
http://gortool.com - test your system with real data
from jsonparser.
First off, thank you for writing and sharing this library! It's been incredibly helpful for a little project I'm working on.
A wishlist item that relates to the many key lookup issue...
I wish there was a way to iterate over a map and just have a callback invoked for each key/value pair:
func(key []byte, value []byte, dataType ValueType, err error)
For a many-key scenario like mine, I can just lookup the key in a Go map to see if it's interesting to me.
Similarly, if you just want to chomp through all the keys in the map, this avoids having to determine/specify the keys you care about up front.
from jsonparser.
I did a super-trashy hack implementation of my wishlist item above.
Before I invoked EachKey ~3 times per json payload to pull my data. (63 keys per call).
Now I use "WalkMap" once.
Overall performance of my app, which includes many things unrelated to json, went from 20K msgs/sec to 30k msgs/sec.
Before I was cpu-bound on json processing. Now I have free cpu and am bottlenecked elsewhere in my app.
Like I mentioned, the code is hacked garbage hence no PR.
But if you are curious it sits here: https://github.com/nieksand/jsonparser/blob/master/parser.go#L334
The actual change is here:
https://github.com/nieksand/jsonparser/blob/master/parser.go#L365
from jsonparser.
I've been thinking of prototyping this feature, as well. If I get some free
time over the next couple days I may look at your code and spin something
off of it for an actual PR.
On Jul 21, 2016 01:08, "Niek Sanders" [email protected] wrote:
I did a super-trashy hack implementation of my wishlist item above.
Before I invoked EachKey ~3 times per json payload to pull my data. (63
keys per call).Now I use "WalkMap" once.
Overall performance of my app, which includes many things unrelated to
json, went from 20K msgs/sec to 30k msgs/sec.Before I was cpu-bound on json processing. Now I have free cpu and am
bottlenecked elsewhere in my app.Like I mentioned, the code is hacked garbage hence no PR. But if you are
curious it sits here:
https://github.com/nieksand/jsonparser/blob/master/parser.go#L334—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#56 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADvi_inTy6fvq0eF6D2AKhQ1xZb8G2BBks5qXv7qgaJpZM4JQTF9
.
from jsonparser.
Very cool.
I'm thinking it might be possible to rewrite EachKey to run on top of WalkMap. That would avoid the code duplication issue.
from jsonparser.
Related Issues (20)
- How to break in ArrayEach ?
- Continuing iteration in ArrayEach() HOT 1
- The set function does not work
- package github.com/buger/jsonparser is not a main package HOT 3
- Get call panics on empty json array or invalid json with an empty path - expecting an error to be returned
- [Proposal] New function based on EachKey
- Iterator support for Arrays & Objects
- Dead / Faulty code in ArrayEach? HOT 2
- The maximum number of byte files that ArrayEach supports
- Security - CVE-2020-10675 HOT 5
- Are there plans to release a new version?
- I don`t why it is not work
- how can i get length of array attribute
- ArrayEach correct behaviour
- Delete func data cannot has blank character
- Why were the patch versions for CVE-2020-10675 released so late?
- How to get key by index? HOT 3
- Set with index overrides always first position of the array
- Set() doesnt return a normal json data
- Add Native Support for Retrieving uint64
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 jsonparser.