Fratura

fratura é uma biblioteca de utilização multi-core java.
Baixe Agora

Fratura Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • GPL
  • Preço:
  • FREE
  • Nome do editor:
  • Cameron Shelton
  • Site do editor:
  • http://kccoder.com/fracture/

Fratura Tag


Fratura Descrição

A fratura é uma biblioteca de utilização multi-core java. A fratura é uma biblioteca de utilização multi-core java. É uma biblioteca Java que simplifica o desenvolvimento multi-core. Atualmente, esta biblioteca é muito simples, fornecendo uma única classe pública (com.kccoder.fracture.fracture) que contém os métodos estáticos necessários para transformar suas loops de núcleo único em loops multi-core com esforço mínimo. Lançamentos futuros fornecerão soluções para situações mais complexas, além de revelar os objetos presentes 'sub-the-hood' para permitir que as soluções personalizadas.UsageTo use fratura simplesmente substitua um loop intensivo da CPU com a chamada apropriada do método de fratura. Por exemplo: para (DiferenciaisElequation DEQ: equações) {resolver (DEQ); } tornam-sefracture.Forach (equações, novo iprocessor () {Public Void Processelement (DiferenciaisElequation DEQ) {resolva (DEQ);}}); Deve-se notar que há sobrecarga associada ao uso de fratura (sincronização e coordenação). Portanto, se resolver () executa a execução de loop muito rapidamente ou total é muito rápido, você experimentará muito pouco ganho no desempenho (você pode até mesmo experimentar uma degradação). No entanto, para tarefas suficientemente longas, você deve experimentar um aumento considerável no desempenho. Outros exemplos estão incluídos na distribuição (pacote com.kccoder.fracture.example). Medição de DesempenhoA classe de utilitário com.kccoder.fracture.util.methodtimer é fornecido para ajudá-lo a quantificar ganhos de desempenho (ou perdas) exibido com o uso da fratura. Por exemplo: Público Static Void Main (String [] Args) {metodtimer.comparemethod (MandelbrodtExample.class, "Normalway", "Fractureway"); } Público Estático Void Normal () {para (int X = 0; x <1280; x ++) {mandelbrot (x); }} Público Static Void Fractureway () {fracture.foreach (0, 1280, 1, novo iProcessor () {Public Void Processelement (INTEGER X) {Mandelbrot (x);}}); } produz (no My Core2Duo MacBook) levou milis para completar levou millis para completefractureway executado vezes mais rápido do que o Normalway Core MedoBy Fratura padrão usa todos os núcleos disponíveis; No entanto, você pode configurar fratura para usar menos núcleos definindo o coremode via fratura.setcoreMode (). Os modos disponíveis são bastante auto-explicativos. Lançamentos futuros fornecerão opções de configuração mais sofisticadas (e granulares). O Thread Safety deve ser observado que os objetos referenciados pelo seu iProcessor devem ser seguros de thread. Portanto, se você estiver colocando / obtendo coisas em / para fora - de um mapa, você precisa sincronizar esse mapa ou usar uma versão segura de thread (checkout dos métodos Sycnrhonizedx em java.util.collections). ITERAÇÃO LOOP Independencein Adição ao segmento Saftey, você também precisará ter certeza de que o processamento bem-sucedido de iteração de loop x não depende do X-1. Por exemplo, o abaixo não pode ser simplesmente migrado para fratura, pois cada iteração de loop depende de iterações anteriores: int fibonacci = 0; int t = 1; para (int n = 0; n <10; n ++) {fibonacci = fibonacci + t; t = fibonacci - t; } O que é novo nesta versão: · Esta versão concentra-se na redução da sobrecarga de sincronização para conjuntos de dados que permitem acesso aleatório, a adição de casos de teste rudimentares da junit e algumas refatorações.


Fratura Software Relacionado

Yaja!

yaja! é uma biblioteca de comunicações Java XMPP para Jabber. ...

176

Download

Axilo

Axilo é uma biblioteca / estrutura PHP para o desenvolvimento de sites. ...

142

Download