I un proceso de ETL Estoy recuperando muchas entidades de un Repositorio de datos de spring. Entonces estoy usando un flujo paralelo para mapear las entidades a diferentes. Puedo usar un consumidor para almacenar esas entidades nuevas en otro repository, una por una, o recostackrlas en una lista y almacenarlas en una única operación masiva. […]
No puedo lograr una buena paralelización del procesamiento de flujo cuando la fuente de flujo es un Reader . Al ejecutar el siguiente código en una CPU de cuatro núcleos, observo 3 núcleos que se usan al principio, luego una caída repentina a solo dos, luego un núcleo. La utilización general de la CPU ronda […]
Estoy ejecutando un código .cpp (i) en estilo secuencial y (ii) usando declaraciones OpenMP. Estoy tratando de ver la diferencia de tiempo. Para calcular el tiempo, uso esto: #include ….. main() { clock_t start, finish; start = clock(); . . . finish = clock(); processing time = (double(finish-start)/CLOCKS_PER_SEC); } El tiempo es bastante preciso en […]
¿Qué tan grande es el grupo de hilos de Scala para futuros? Mi aplicación Scala genera muchos millones de future {} s future {} y me pregunto si hay algo que pueda hacer para optimizarlos configurando un grupo de subprocesos. Gracias.
¿Cuál es el estado de la progtwigción multinúcleo en Haskell? ¿Qué proyectos, herramientas y bibliotecas están disponibles ahora? ¿Qué informes de experiencia ha habido?
Fondo: Estoy trabajando en un progtwig que debe ser capaz de capturar los valores stdout , stderr y return de un progtwig. Idealmente, me gustaría capturarlos en una cadena que almaceno dentro de mi objeto que contiene detalles del proceso. Actualmente tengo un código que funciona guardando la salida en un archivo usando algunos (en […]
¿Por qué forEach imprime números en orden aleatorio, mientras que la collect siempre recoge los elementos en el orden original, incluso de la secuencia paralela? Integer[] intArray = {1, 2, 3, 4, 5, 6, 7, 8}; List listOfIntegers = new ArrayList(Arrays.asList(intArray)); System.out.println(“Parallel Stream: “); listOfIntegers .stream() .parallel() .forEach(e -> System.out.print(e + ” “)); System.out.println(); // […]
Ya he leído esto y estas preguntas, pero sigo dudando si el comportamiento observado de Stream.skip fue pensado por los autores de JDK. Tengamos una entrada simple de los números 1..20: List input = IntStream.rangeClosed(1, 20).boxed().collect(Collectors.toList()); Ahora, creemos una secuencia paralela, combine unordered() con skip() de diferentes maneras y recopile el resultado: System.out.println(“skip-skip-unordered-toList: ” + […]
Estoy tratando de crear una versión tonta de un locking de giro. Al navegar por la web, encontré una instrucción de ensamble llamada “PAUSE” en x86 que se usa para dar pistas a un procesador de que un spin-lock se está ejecutando actualmente en esta CPU. El manual de Intel y otra información disponible indican […]
Sé que ahora que la mayoría de los procesadores tienen dos o más núcleos, la progtwigción multinúcleo es furor. ¿Hay alguna funcionalidad para utilizar esto en Java? Sé que Java tiene una clase Thread, pero también sé que esto fue por mucho tiempo antes de que las multicores se hicieran populares. Si puedo hacer uso […]