13 dépôts
Techniques for analyzing and improving time and space complexity of algorithms.
Explore 13 awesome GitHub repositories matching software engineering & architecture · Algorithmic Performance Optimizations. Refine with filters or upvote what's useful.
This repository is a comprehensive collection of data structures and algorithms implemented in JavaScript, designed primarily as an educational resource for computer science study and technical interview preparation. It provides modular implementations of fundamental programming concepts, allowing developers to explore algorithmic logic and data organization through self-contained, verifiable code examples. The library distinguishes itself by pairing every implementation with formal Big O notation, providing predictable insights into time and space scaling requirements. Each algorithm is stru
Analyzes time and space complexity to ensure efficient data processing and predictable scaling.
LeetCode-Go is a competitive programming repository and Go algorithm library. It provides a collection of optimized solutions for LeetCode challenges, focusing on time and space complexity. The project serves as a reference for data structures and algorithms implemented in Go. It covers algorithm problem solving and performance optimization to meet strict memory and runtime constraints. The repository includes capabilities for technical interview preparation and the application of Go language idioms to complex computing problems. Each solution is paired with a test suite to verify correctnes
Optimizes algorithm runtime and memory usage for computationally intensive programming tasks.
Ciphey is an automated decryption and data obfuscation tool designed to identify and reverse complex, multi-layered encoding schemes. By utilizing statistical analysis and probability scoring, the system automatically detects unknown data formats and recovers human-readable plaintext from obfuscated input strings without requiring manual algorithm specification. The tool distinguishes itself through a recursive pipeline that processes nested data structures and strips formatting anomalies or invisible characters to ensure consistent input. It employs a heuristic search and multithreaded execu
Optimizes decryption speed by combining multithreading with heuristic search algorithms.
This project is a comprehensive container framework for Go that provides a suite of fundamental data structures and algorithms. It offers a standardized set of tools for managing, sorting, and traversing complex data collections, enabling developers to implement efficient storage and retrieval logic within their applications. The library distinguishes itself through an interface-driven design that allows for interchangeable use of different storage implementations. It supports custom ordering and sorting behavior through external comparison functions, which decouple the data structures from s
Provides optimized algorithmic implementations for search, sort, and traversal to ensure high performance.
This project is a collection of educational resources and technical guides focused on Go performance optimization. It provides instruction on improving execution speed and reducing memory usage through code and architectural refinements. The guides cover advanced strategies for low-level programming, including the use of assembly for SIMD instructions and unsafe pointers for direct memory manipulation. It also details concurrency optimization techniques such as lock sharding and cache-line padding to reduce contention and improve hardware utilization. The material encompasses broad capabilit
Offers techniques for analyzing and improving the time and space complexity of algorithms to prevent degradation.
EASTL is a C++ Standard Template Library implementation consisting of containers, iterators, and algorithms. It provides cross-platform data structures and a template-based algorithm library designed for use in resource-constrained game engine environments. The library focuses on game engine memory management, providing specialized utilities that ensure predictable memory allocation and high-performance access for real-time applications. These containers maintain consistent behavior across different operating systems and hardware platforms. The project covers high-performance C++ development
Implements optimized routines for performing complex computations and transformations on data collections.
This project is a comprehensive knowledge base and study resource designed for mastering technical interviews. It provides structured guides, roadmaps, and curricula focused on data structures, algorithms, system design, and frontend engineering to help candidates prepare for software engineering screenings. The repository distinguishes itself by offering a holistic approach to professional advancement. Beyond technical drills, it includes a career development handbook covering resume optimization, salary benchmarking, and strategic negotiation coaching. It also provides detailed methodologie
Guides the use of dynamic programming and optimal data structures to improve time and space complexity.
kafka-python is a pure-Python client library for Apache Kafka that implements the Kafka wire protocol directly, without any native bindings or JVM dependencies. It provides the core capabilities of a Kafka client: producing messages to topics, consuming records from topics, and administering cluster resources such as topics and partitions, all through a Pythonic API or command-line tools. The library distinguishes itself through its comprehensive support for advanced Kafka features. It includes an asynchronous producer with background batching for throughput, a consumer group rebalance protoc
Offloads CRC32C checksum calculation to an optimized C library to reduce CPU overhead.
rsync is a file synchronization and transfer tool that copies data between local and remote systems by sending only the differences between source and destination files. It computes matching blocks using checksums, so only the unmatched portions of files are transmitted, making repeated synchronizations much faster than full copies. The tool preserves file metadata such as ownership, permissions, and modification times during transfers. rsync supports multiple transfer methods, including direct connections through a dedicated daemon mode or via remote shells like SSH. It can mirror directory
Identifies matching blocks between source and destination using checksums, so only unmatched parts are transmitted.
oneDNN is a library for deep learning acceleration that provides optimized building blocks for neural network training and inference. It manages tensor computation across CPU and GPU hardware, enabling the execution of high-performance primitives for model training and neural network inference optimization. The project distinguishes itself through hardware-specific kernel optimization and the use of just-in-time compilation to target specific processor instruction sets. It supports quantized neural network execution using both static and dynamic quantization to reduce memory usage and increas
Selects between direct, Winograd, or implicit GEMM implementations to balance performance, memory, and numerical accuracy.
Ce dépôt sert de ressource éducative pour les concepts d'informatique, fournissant une collection de structures de données fondamentales et de modèles algorithmiques implémentés en Python. Il fonctionne comme une référence de programmation pour les développeurs cherchant à comprendre les modèles d'ingénierie logicielle standard et les stratégies de manipulation de données. Le projet se concentre sur la construction de formats de stockage essentiels, y compris les tableaux, les graphes, les tables de hachage, les listes chaînées, les piles et les files d'attente. Il fournit également des implémentations pour des techniques algorithmiques standard telles que la programmation dynamique, la récursion, le tri et les parcours de graphes. En organisant les informations dans des conteneurs logiques et en appliquant une cartographie mathématique, la bibliothèque démontre comment gérer les données efficacement tout en évaluant l'efficacité de la logique computationnelle par l'analyse de complexité. Au-delà de l'implémentation de base, le dépôt prend en charge l'optimisation des performances logicielles en aidant les utilisateurs à sélectionner des structures et des algorithmes appropriés pour des tâches spécifiques. Il est structuré pour aider à la préparation aux entretiens techniques en offrant un ensemble complet d'exemples qui traitent des défis de codage courants et des concepts computationnels fondamentaux.
Teaches techniques for analyzing and improving the time and space complexity of algorithms.
Ce projet est une ressource éducative fournissant un programme structuré pour maîtriser les concepts fondamentaux de l'informatique, la logique algorithmique et l'implémentation de structures de données en utilisant Python. Il sert de tutoriel complet pour comprendre comment organiser efficacement l'information et résoudre des défis computationnels complexes via des techniques de programmation systématiques. Le dépôt se concentre sur l'application pratique des structures de données de base, notamment les tableaux, les listes chaînées, les tables de hachage, les piles, les files d'attente et les arbres. Il met l'accent sur le développement de compétences en résolution de problèmes algorithmiques en couvrant les méthodes standard pour trier les collections et rechercher des éléments spécifiques, ainsi que des techniques pour analyser la complexité temporelle et spatiale du code. Au-delà de l'implémentation de base, le matériel aborde des concepts computationnels fondamentaux tels que la logique récursive, le parcours itératif et la gestion de la mémoire. Ces ressources sont conçues pour soutenir la préparation technique aux entretiens d'ingénierie logicielle en fournissant des exercices qui démontrent comment construire des systèmes de données efficaces et optimiser les performances pour des applications évolutives. Le contenu est délivré via une série de Jupyter Notebooks qui combinent des explications théoriques avec des exemples de codage pratiques.
Teaches techniques for analyzing and improving the time and space complexity of code.
Ce projet est un guide de référence complet pour les fondamentaux de l'informatique, fournissant des résumés structurés des structures de données essentielles et des principes algorithmiques. Il sert de ressource technique pour les développeurs afin de réviser les concepts de programmation de base, les dispositions mémoire et les caractéristiques opérationnelles requises pour le développement logiciel et les évaluations techniques. La collection se distingue en offrant une documentation concise et axée sur l'implémentation pour un large éventail de techniques standard. Elle couvre la mécanique de divers algorithmes de tri et de recherche, les stratégies de parcours de graphes et d'arbres, ainsi que la gestion des structures de données fondamentales comme les tables de hachage, les listes chaînées et les tas. Chaque entrée inclut une analyse de la complexité computationnelle pour aider les développeurs à évaluer les performances et l'évolutivité des différentes approches. Le dépôt organise ces informations dans des fichiers markdown statiques, facilitant la navigation rapide et la révision des sujets techniques. Il englobe une vaste surface de connaissances, allant des modèles de conception récursifs de base et des paradigmes algorithmiques à la logique opérationnelle spécifique requise pour maintenir et manipuler des hiérarchies de données complexes.
Provides analysis of time and memory requirements to evaluate algorithm scalability.