Comments (7)
Please do.
I was thinking along the same lines initially, with a call to a Compile
method that would return a cacheable expression. I'm interested in working with you on this.
from jmespath.net.
Cool, Then will work on that and provide a PR.
Maybe a dumb question, But do we have a compilable expression?
from jmespath.net.
We do not, unfortunately.
I was looking at the code more since you expressed your concern. Please, note that the override using a JToken is deprecated, so should not be relied upon going forward.
I see that we return the parsed expression that can live in memory. You could keep that and use it for each iteration. Isn't that sufficient for your needs ?
from jmespath.net.
If you do performance work, please include reproducible benchmarks. Have you heard of
BenchmarkDotNet ?
from jmespath.net.
@springcomp Yes, I am using BenchMarkDotNet. With expression and token, I am seeing a good improvement
Will add Benchmark project and provide results
from jmespath.net.
Awsome. Thank you!
from jmespath.net.
The parser already supports parsing once and evaluating many times.
Closing this issue.
from jmespath.net.
Related Issues (20)
- Target netstandard 2.1 HOT 6
- Doesn't properly parse for max_by HOT 1
- Nuget package should have addtional metadata HOT 2
- Add Net standard 2.1 as TFM HOT 1
- Consider implementing a dependency injection mechanism to simplify code.
- System.Text.Json support HOT 11
- Convert Expression to JMESPath string HOT 5
- netstandard1.3 HOT 3
- Bug in .NET with a number comparison HOT 3
- Array parsing does not work as expected HOT 2
- JMESPath.Net does not handle Unicode surrogate pair characters correctly.
- Behaviour issue when using `null` on the lhs of a `pipe-expression`
- Add extension point to register custom function implementation HOT 4
- lower() function uses ToLowerInvariant incorrectly
- String Slice fails with 'Index was outside the bounds of the array.' error HOT 3
- Hash is calculated each time even for comparison with Null token
- JmesPath class might not be thread-safe HOT 3
- Trim() function (and trim_left/trim_right) has state that affects next invocations
- C# Using JmesPath (1.0.308) Transform(string json, string expression) does not filter on integers when using `tick` delimiter. HOT 2
- Add async support for custom functions HOT 1
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 jmespath.net.