{"id":19270370,"url":"https://github.com/netdata/libjudy","last_synced_at":"2025-04-21T20:33:40.946Z","repository":{"id":56616704,"uuid":"278532702","full_name":"netdata/libjudy","owner":"netdata","description":"Fork of the Judy C library for dynamic array originally imported from the SF project https://sourceforge.net/projects/judy/ with patches applied for build and bug fixes.","archived":false,"fork":false,"pushed_at":"2020-10-28T15:47:11.000Z","size":62566,"stargazers_count":29,"open_issues_count":6,"forks_count":14,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-01T16:07:20.322Z","etag":null,"topics":["arrays","c","dynamic","judy","judy-arrays"],"latest_commit_sha":null,"homepage":"https://sourceforge.net/projects/judy/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netdata.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-10T03:52:26.000Z","updated_at":"2025-01-19T09:38:03.000Z","dependencies_parsed_at":"2022-08-15T22:00:53.641Z","dependency_job_id":null,"html_url":"https://github.com/netdata/libjudy","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netdata%2Flibjudy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netdata%2Flibjudy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netdata%2Flibjudy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netdata%2Flibjudy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netdata","download_url":"https://codeload.github.com/netdata/libjudy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250128496,"owners_count":21379523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arrays","c","dynamic","judy","judy-arrays"],"created_at":"2024-11-09T20:24:34.148Z","updated_at":"2025-04-21T20:33:40.461Z","avatar_url":"https://github.com/netdata.png","language":"C","readme":"\n\t     Judy - C library creating and accessing dynamic arrays\n\t ==============================================================\n\nContent\n---------\n\n 1. Introduction\n 2. Directory Contents\n 3. How to install\n 4. License\n 5. Change History\n 6. Reporting Bugs\n 7. Known Issues\n\n\n1. INTRODUCTION\n-----------------\n\nThis tree contains sources, documents, tests, and tools for the Judy package.\nThis file is in a form that can be validated using the tool/readme script.\n\nNOTE:  The README files here describe some files that are not included in\nevery Judy source package.\n\nWHAT IS JUDY?  (see below for list of top-level directories and files)\n\nJudy is a C library that implements a dynamic array.  Empty Judy arrays are\ndeclared with null pointers.  A Judy array consumes memory only when\npopulated yet can grow to take advantage of all available memory.  Judy's key\nbenefits are:  scalability, performance, memory efficiency, and ease of use.\nJudy arrays are designed to grow without tuning into the peta-element range,\nscaling near O(log-base-256) -- 1 more RAM access at 256 X population.\n\nJudy arrays are accessed with insert, retrieve, and delete calls for number\nor string indexes.  Configuration and tuning are not required -- in fact not\npossible.  Judy offers sorting, counting, and neighbor/empty searching.\nIndexes can be sequential, clustered, periodic, or random -- it doesn't\nmatter to the algorithm.  Judy arrays can be arranged hierarchically to\nhandle any bit patterns -- large indexes, sets of keys, etc.\n\nJudy is often an improvement over common data structures such as:  arrays,\nsparse arrays, hash tables, B-trees, binary trees, linear lists, skiplists,\nother sort and search algorithms, and counting functions.\n\n\n2. JUDY TOP DIRECTORY CONTENTS:\n--------------------------------\n\nAUTHORS\t\tJudy authors and contributors\nREADME\t\tThis file.\nINSTALL\t\tSummary  instructions to build, check and install Judy.\nCOPYING\t\tJudy deliverable license notice (the LGPL).\nChangeLog\tList of changes per version of Judy.\n\nconfigure\tAutoconf configure script to allow a portable build e\n                environment. \n\t\t\nsrc/\t\tHeader and source files used to build the package.\ndoc/\t\tDocuments, both external (to the package) and internal.\ntest/\t\tTest support and some timing programs.\ntool/\t\tPrimitive tool (jhton) to convert *.html files to \"man\" pages.\n                and build tables used by Judy to malloc() sizes of memory.\n\n3. HOW TO INSTALL\n-----------------\n\nFor a quick description see the INSTALL file. \n\nJudy is now based on the GNU Auto tools. This means that you can do the standard\nconfigure, make, make check and make install and everything should work, with\none minor difference and a little caveat. \n\nJudy is capable of being built as a 32-bit or a 64-bit library. Configure\nwill test to detect the native environment and default to that. Therefor if you\nexplicitly want to to compile for the non-native environment you need to tell\nJudy what you want. You can run ./configure with one of the following flags:\n          \n\t  --enable-32-bit \n          --enable-64-bit \n\nThe caveat comes in on machines that support both at 32-bit and 64-bit runtime\nenvironments such as RISC platforms and x86-64. In this case your compiler will\neither use 32-bit or 64-bit as default. If you plan to use the default you can\nfollow the above instructions and be finished. \n\nHowever, if you wish to compile for the non-default target type. YOU ARE\nRESPONSIBLE FOR SETTING THE CORRECT FLAGS! Such as CFLAGS to make your compiler\nswitch modes LDFLAGS to make your linker behave, etc. \n\nFor example: On HP-UX PA-RISC the compiler generates 32-bit code by default. If\nI wish to stick with the defaults I can simply build Judy by: \n   ./configure\n   make\n   make check\n   make install \n\nIf I want to build Judy as a 64-bit library on HP-UX PA-RISC I have to do:\n   CFLAGS=+DD64 ./configure --enable-64-bit \n   make \n   make check \n   make install \n\nIf I want to build Judy native (64-bit) on Linux AMD64 I have to do:\n   ./configure\n   make\n   make check\n   make install \n\nIf I want to build Judy 32-bit on Linux AMD64 I have to do:\n   ./configure --enable-32-bit \n   make \n   make check \n   make install \n\n4. LICENSE\n----------\n\nThe user library is licensed under the GNU Lesser Public License (LGPL)\nVersion 2.1, February 1999.  The full text of the LGPL is located at:\n\nCOPYING\n\n\n5. CHAGE HISTORY\n----------------\n\nSee the ChangeLog file.\n\n6. REPORTING BUGS\n-----------------\n\nIf you encounter a bug, please submit it to the project bug list, \nlocated on the project page:\n\n    https://sourceforge.net/projects/judy/\n\n7. KNOWN ISSUES\n---------------\n\nWhen compiling on HP-UX, you may get a message like: \n error 1000: Unexpected symbol: \n\nThis is a problem with the HP's compiler in that it doesn't like a typedef'ed\ntype following a static inline.\n\nYou can work around it by running this command from the Judy directory. \n\nfind ./ -name \\*.[ch] | xargs perl -i.BAK -pe 's/static inline/static/g'\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetdata%2Flibjudy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetdata%2Flibjudy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetdata%2Flibjudy/lists"}