René's URL Explorer Experiment


Title: Performance improvements · Issue #220 · JSONPath-Plus/JSONPath · GitHub

Open Graph Title: Performance improvements · Issue #220 · JSONPath-Plus/JSONPath

X Title: Performance improvements · Issue #220 · JSONPath-Plus/JSONPath

Description: Motivation Performance Current behavior Each time I pass a path it needs to be parsed and the queried for all possible matching items Desired behavior Be able to create and object for a path that stores the parsed query and allows me to ...

Open Graph Description: Motivation Performance Current behavior Each time I pass a path it needs to be parsed and the queried for all possible matching items Desired behavior Be able to create and object for a path that s...

X Description: Motivation Performance Current behavior Each time I pass a path it needs to be parsed and the queried for all possible matching items Desired behavior Be able to create and object for a path that s...

Opengraph URL: https://github.com/JSONPath-Plus/JSONPath/issues/220

X: @github

direct link

Domain: patch-diff.githubusercontent.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Performance improvements","articleBody":"\u003c!--\r\nNOTE: THIS PROJECT IS NOT BEING ACTIVELY MAINTAINED.\r\n\r\nYou can file a suggestion in case someone decides to work on it.\r\n\r\nHowever, any proposed syntax changes will most likely be required to\r\nfirst go through standardization for consistency with other jsonpath\r\nimplementatioins.\r\n\r\nSee https://github.com/JSONPath-Plus/JSONPath/issues/124 .\r\n--\u003e\r\n\r\n## Motivation\r\n\r\nPerformance\r\n\r\n## Current behavior\r\n\r\nEach time I pass a path it needs to be parsed and the queried for all possible matching items\r\n\r\n## Desired behavior\r\n\r\nBe able to create and object for a path that stores the parsed query and allows me to execute it many times, skipping the overhead of path parsing. Additionally it would be good to specify the search limit.\r\n\r\nExample:\r\n```ts\r\nconst bookTitlePath = new JSONPath\u003cstring\u003e('$..book[*].title');\r\nconst bookPricePath = new JSONPath\u003cnumber\u003e('$..book[*].price');\r\n\r\nfunction getFirstBook(storeData: object): string {\r\n  return bookTitlePath.value(storeData); // Returns first match\r\n}\r\n\r\n// Consider books are in desc order of sales\r\nfunction getAveragePriceOfBestSellingBooks(storeData: object): number {\r\n  const prices: number[] = bookPricePath.query(storeData, 10); // Get up to 10 elements\r\n\r\n  // The only viable usage of reduce 😬 \r\n  return prices.reduce((total, price) =\u003e total + price, 0) / prices.length;\r\n}\r\n```\r\n\r\n## Alternatives considered\r\n\r\nCould not find any.","author":{"url":"https://github.com/romulof","@type":"Person","name":"romulof"},"datePublished":"2024-10-02T09:00:54.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/220/JSONPath/issues/220"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:76cc5dd5-87c0-be19-2d68-43b61cfaca47
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idED32:CFFA:13B1F6:190C14:696EDCF5
html-safe-nonce928d209d124af840df8cdd07e36be23b1328cc52f888bcecca800d2060f8a972
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFRDMyOkNGRkE6MTNCMUY2OjE5MEMxNDo2OTZFRENGNSIsInZpc2l0b3JfaWQiOiIzMTY5OTU0Njg4MjE5OTI5ODQ1IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmacdee864e658e26e93e2161267ff4038177f85146862f98065e1d637f088afee18
hovercard-subject-tagissue:2561018355
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/JSONPath-Plus/JSONPath/220/issue_layout
twitter:imagehttps://opengraph.githubassets.com/a9d658cf935bcaa835c3810b7995008e4376e5a3e5064a236ea0f00078c5bbb9/JSONPath-Plus/JSONPath/issues/220
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/a9d658cf935bcaa835c3810b7995008e4376e5a3e5064a236ea0f00078c5bbb9/JSONPath-Plus/JSONPath/issues/220
og:image:altMotivation Performance Current behavior Each time I pass a path it needs to be parsed and the queried for all possible matching items Desired behavior Be able to create and object for a path that s...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameromulof
hostnamegithub.com
expected-hostnamegithub.com
Noneb278ad162d35332b6de714dfb005de04386c4d92df6475522bef910f491a35ee
turbo-cache-controlno-preview
go-importgithub.com/JSONPath-Plus/JSONPath git https://github.com/JSONPath-Plus/JSONPath.git
octolytics-dimension-user_id67874603
octolytics-dimension-user_loginJSONPath-Plus
octolytics-dimension-repository_id1716525
octolytics-dimension-repository_nwoJSONPath-Plus/JSONPath
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1716525
octolytics-dimension-repository_network_root_nwoJSONPath-Plus/JSONPath
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release39aed5006635ab6f45e6b77d23e73b08a00272a3
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/issues/220#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2FJSONPath-Plus%2FJSONPath%2Fissues%2F220
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2FJSONPath-Plus%2FJSONPath%2Fissues%2F220
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=JSONPath-Plus%2FJSONPath
Reloadhttps://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/issues/220
Reloadhttps://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/issues/220
Reloadhttps://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/issues/220
JSONPath-Plus https://patch-diff.githubusercontent.com/JSONPath-Plus
JSONPathhttps://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath
Please reload this pagehttps://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/issues/220
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2FJSONPath-Plus%2FJSONPath
Fork 198 https://patch-diff.githubusercontent.com/login?return_to=%2FJSONPath-Plus%2FJSONPath
Star 1.1k https://patch-diff.githubusercontent.com/login?return_to=%2FJSONPath-Plus%2FJSONPath
Code https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath
Issues 49 https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/issues
Pull requests 5 https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/pulls
Actions https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/actions
Projects 0 https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/projects
Wiki https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/wiki
Security Uh oh! There was an error while loading. Please reload this page. https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/security
Please reload this pagehttps://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/issues/220
Insights https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/pulse
Code https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath
Issues https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/issues
Pull requests https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/pulls
Actions https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/actions
Projects https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/projects
Wiki https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/wiki
Security https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/security
Insights https://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/pulse
New issuehttps://patch-diff.githubusercontent.com/login?return_to=https://github.com/JSONPath-Plus/JSONPath/issues/220
New issuehttps://patch-diff.githubusercontent.com/login?return_to=https://github.com/JSONPath-Plus/JSONPath/issues/220
Performance improvementshttps://patch-diff.githubusercontent.com/JSONPath-Plus/JSONPath/issues/220#top
Featurehttps://github.com/JSONPath-Plus/JSONPath/issues?q=state%3Aopen%20label%3A%22Feature%22
https://github.com/romulof
https://github.com/romulof
romulofhttps://github.com/romulof
on Oct 2, 2024https://github.com/JSONPath-Plus/JSONPath/issues/220#issue-2561018355
Featurehttps://github.com/JSONPath-Plus/JSONPath/issues?q=state%3Aopen%20label%3A%22Feature%22
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.