efficoding
v1.0.0
Published
Uma coleção de utilitários e algoritmos para otimização de desempenho, controle de execução assíncrona e manipulação eficiente de dados em JavaScript/TypeScript.
Downloads
74
Readme
optimize-it
optimize-it
é uma coleção de utilitários e algoritmos para otimização de desempenho, controle de execução assíncrona e manipulação eficiente de dados. Desenvolvido em JavaScript/TypeScript, este pacote contém funções úteis para aprimorar o desempenho do seu código e otimizar a experiência do usuário.
Funcionalidades
Algoritmos
- Busca Binária (
binarySearch
): Encontre um valor em uma lista ordenada com eficiência. - Ordenação Merge Sort (
mergeSort
): Algoritmo eficiente para ordenar arrays. - Ordenação Quick Sort (
quickSort
): Outro algoritmo popular de ordenação eficiente.
Performance
- Cache na Memória (
createMemoryCache
): Armazena dados em cache para evitar reprocessamentos. - Marcadores de Performance (
createPerformanceMarkers
): Cria pontos de marcação para medir a performance. - Medição de Tempo de Execução (
measureExecutionTime
): Meça o tempo de execução de funções. - Pré-Carregamento de Imagens (
preloadImages
): Carrega imagens de forma assíncrona para melhorar a performance da interface.
Utilitários
- Debounce (
debounce
): Previne a execução de funções em rápida sequência. - Deep Compare (
deepCompare
): Compara profundamente dois objetos ou arrays. - Lazy Execution (Execução Preguiçosa) (
lazyExecutionOnce
): Executa uma função apenas uma vez. - Execução após Ociosidade (Idle Callback) (
lazyExecutionOnce
): Executa uma função quando o navegador está ocioso. - Carregamento de Arquivos com Cache (
loadFileWithCache
): Carrega arquivos de forma eficiente utilizando cache. - Fila (Queue) (
queue
): Implementação de fila para gerenciamento de tarefas assíncronas. - Pilha (Stack) (
stack
): Implementação de pilha para gerenciamento de tarefas. - Throttle (
throttle
): Limita a frequência com que uma função pode ser executada.
Instalação
Para instalar o pacote, use o seguinte comando no seu terminal:
npm install optimize-it
Como Usar
Aqui está um exemplo básico de como usar algumas das funcionalidades do pacote:
import { debounce, binarySearch, throttle, measureExecutionTime } from 'optimize-it';
// Exemplo de debounce
const debouncedFunction = debounce(() => console.log('Função executada!'), 300);
debouncedFunction();
debouncedFunction(); // Só será executada uma vez após 300ms
// Exemplo de busca binária
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const index = binarySearch(arr, 5);
console.log(`Índice de 5: ${index}`);
// Exemplo de throttle
const throttledFunction = throttle(() => console.log('Função executada!'), 1000);
setInterval(throttledFunction, 500); // A função será executada uma vez a cada 1000ms
// Exemplo de medição de tempo
measureExecutionTime(() => {
for (let i = 0; i < 1000; i++) { /* Alguma operação */ }
});
Funções Disponíveis
debounce
Prevenção de execução excessiva de funções, aguardando um intervalo específico.
Parâmetros:
fn
A função a ser executada.delay
O tempo de espera (em milissegundos) entre as execuções.
binarySearch
Busca eficiente em um array ordenado, retornando o índice de um valor.
Parâmetros:
arr
O array ordenado.value
O valor a ser buscado.
throttle
Limita a frequência de execução de uma função.
Parâmetros:
fn
A função a ser executada.delay
O intervalo de tempo entre as execuções (em milissegundos).
measureExecutionTime
Mede o tempo de execução de uma função.
Parâmetros:
fn
A função que você deseja medir o tempo de execução.
E mais algumas outras funcionalidades prontas para você usufruir. instale agora o pacote e desfrute do optimize-it
.
Contribuição
Sinta-se à vontade para abrir problemas (issues) e enviar pull requests para contribuir com o projeto. Se você tiver melhorias ou correções de bugs, elas são bem-vindas!
Licença
Este projeto está licenciado sob a MIT License.