{"id":29127933,"url":"https://github.com/ds-amarachi/speed_up_modular_expo","last_synced_at":"2026-04-12T07:36:43.079Z","repository":{"id":289283186,"uuid":"970738696","full_name":"DS-Amarachi/Speed_Up_Modular_Expo","owner":"DS-Amarachi","description":"Speeding Up an algorithm using Julia","archived":false,"fork":false,"pushed_at":"2025-05-17T16:20:44.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-17T17:28:42.327Z","etag":null,"topics":["julia","python3","threads"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DS-Amarachi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-22T13:14:02.000Z","updated_at":"2025-05-17T16:54:47.000Z","dependencies_parsed_at":"2025-05-17T17:38:59.402Z","dependency_job_id":null,"html_url":"https://github.com/DS-Amarachi/Speed_Up_Modular_Expo","commit_stats":null,"previous_names":["ds-amarachi/julia","ds-amarachi/speed_up_modular_expo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DS-Amarachi/Speed_Up_Modular_Expo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DS-Amarachi%2FSpeed_Up_Modular_Expo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DS-Amarachi%2FSpeed_Up_Modular_Expo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DS-Amarachi%2FSpeed_Up_Modular_Expo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DS-Amarachi%2FSpeed_Up_Modular_Expo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DS-Amarachi","download_url":"https://codeload.github.com/DS-Amarachi/Speed_Up_Modular_Expo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DS-Amarachi%2FSpeed_Up_Modular_Expo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262690486,"owners_count":23349168,"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":["julia","python3","threads"],"created_at":"2025-06-30T01:02:07.919Z","updated_at":"2026-04-12T07:36:43.004Z","avatar_url":"https://github.com/DS-Amarachi.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Brief Introduction\nThis notebook explores modular exponentiation, a fundamental operation in cryptography. It demonstrates and compares different approaches to compute base^exp mod mod.\n\nThe notebook covers the following:\n\n#### Python Implementations:\nIt presents both the built-in pow() function and a custom implementation of the repeated squaring algorithm for modular exponentiation. It then benchmarks these methods to compare their performance.\n#### Julia Implementation: \nIt sets up a Julia runtime in Colab and implements the repeated squaring algorithm in Julia. It uses the BenchmarkTools package to measure the execution time of the custom Julia function and the built-in powermod function.\n#### Further Optimization:\nIt demonstrates how to parallelize the modular exponentiation computation for multiple bases in Julia using multi-threading to reduce execution time.\n\n### Result\nThese allows one to observe the performance difference between the Python and Julia implementations for modular exponentiation. By comparing the reported times, you would observe that for both the optimized built-in functions were highly efficient than the custom implementations. The bulit-in functions had fewer lines of code which makes it easier to write.\nGenerally, the Julia algorithm speed up faster than the Python, even better with multiple bases.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fds-amarachi%2Fspeed_up_modular_expo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fds-amarachi%2Fspeed_up_modular_expo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fds-amarachi%2Fspeed_up_modular_expo/lists"}