Stream

Peter Lawrey
moderator

Unrelated but interesting  - 
 
A little performance tuning related exercise.  

Write a program to generate Haiku with a String.hashCode() of 0. The Haiku can be non-sense.

For example,
charted avenging ithaca spotty zipping corked jim rajah

sadden evensong palmer database fairy spain andrew nestor

rotates radial legislator done mccullough maori what citrus

supposable plunders registrar stacks thunderbolt's casts bagels gymnasts
1
Vladimir Dolzhenko's profile photoPeter Lawrey's profile photo
4 comments
 
Wow, that is very similar. I had said to others you should get hundreds in tens of seconds as well although finding haiku makes it harder. Haiku are 5 syllables, 7 syllables, 5 syllables. Not surprisingly he covers the maths very well.
Add a comment...

Ashkrit Sharma

Expert Programming  - 
2
Add a comment...

Jean-Philippe BEMPEL

Expert Programming  - 
 
 
Notify... oh, wait! I have a signal.
Introduction When you want to pipeline, delegate some task in asynchronously or simply synchronize 2 threads, you usually end up using wait / notify couple (or even await/signal, depending on your taste). But what is the cost or the overhead for this kind o...
Introduction When you want to pipeline, delegate some task in asynchronously or simply synchronize 2 threads, you usually end up using wait/notify couple (or even await/signal, depending on your taste). But what is the cost o...
6
2
Anton Arhipov's profile photoAndy Huang's profile photo
Add a comment...

William Louth

Presentation Videos  - 
 
Blinking is Seeing - Apache Spark Visualized
A video demonstrating a visualization of Apache Spark software execution at the microsecond level across multiple threads revealing interesting repeating patterns of hotspot call invocations that represent the essence of the software behavior.
https://vimeo.com/131290133
1
1
Andy Huang's profile photo
Add a comment...

William Louth

Expert Programming  - 
 
Microbenchmarking Big Data Solutions on the JVM – Part 2
http://www.autoletics.com/posts/microbenchmarking-big-data-solutions-on-the-jvm-part-2
In part 1 the process used to microbenchmark a particular service interaction with a big data solution was introduced along with an initial performance hotspot listing. In that first part we eliminated a large amount of measurement overhead via the online and offline adaptive profiling ...
1
Add a comment...

Ashkrit Sharma

Presentation Videos  - 
5
1
Andy Huang's profile photo
Add a comment...

William Louth

Expert Programming  - 
 
Microbenchmarking Big Data Solutions on the JVM – Part 1
Though most developers view a microbenchmark as a targeted performance measurement of a very small block of code, with limited if not none outbound calls to other codebases, this article will focus on the far more productive, meaningful and challenging task of performance analyzing the execution behavior of a very specific and narrow system interaction resulting in the execution of many underlying activities (prescribed), actions (planned) and operations (provisional), many of which have a typical inherent (self) execution cost in microseconds. The micro classification is attributed to the many short timed method invocations that need to be identified (or eliminated) to truly understand what is being benchmarked – the essence of the execution behavior.

http://www.autoletics.com/posts/microbenchmarking-big-data-solutions-on-the-jvm-part-1
Though most developers view a microbenchmark as a targeted performance measurement of a very small block of code, with limited if not none outbound calls to other codebases, this article will focus on the far more productive, meaningful and challenging task of performance analyzing the execution ...
1
Add a comment...

Javin Paul

Related Links  - 
 
 
What is difference between synchronized and lock interface in Java?
Prior to Java 1.5, synchronized and volatile keyword were only way to coordinate access to shared variable, but Java 5 provides another alternative in terms of ReentrantLock. ReentrantLock offers features, which synchronized keyword lacks and which are essential to building non blocking algorithm, such as trying for lock without getting blocked, trying for lock interruptibly and trying lock with timeout. Though ReentrantLock offer same ordering and visibility guarantee, it comes with a danger, programmer need to take care of acquisition and release of lock, which if not difficult but can lead to subtle bugs if programmer forget to release lock in finally block.
http://javarevisited.blogspot.com/2013/03/reentrantlock-example-in-java-synchronized-difference-vs-lock.html
#Java   #Programming  
1
Add a comment...

Ashkrit Sharma

Presentation Videos  - 
 
Everything You Know (About Parallel Programming) Is Wrong!: A Wild Screed About the Future 

https://cmusv.adobeconnect.com/_a829716469/p1vdztyrp8e/?launcher=false&fcsContent=true&pbMode=normal
1
Add a comment...

Eric DeFazio

Presentation Videos  - 
 
Gil Tene  of Azul on org.ObjectLayout - a new Java package designed specifically to enable JVMs to optimize memory layout for arrays and objects in a way that closely matches the performance behaviors of arrays of structs and struct-in-struct in C.
6
1
Thomas Junk's profile photo
Add a comment...

wahaj ali

General Notices  - 
 
 
The Top 8 Coursera Courses for Java and Scala Developers
The most interesting Coursera courses for Java and Scala developers: Functional Programming Principles in Scala, Principles of Reactive Programming and more
3
1
Nitsan Wakart's profile photowahaj ali's profile photoSuminda Dharmasena's profile photo
2 comments
 
+Nitsan Wakart not Exactly But May be it can be helpful for someone 
Add a comment...

About this community

This community is about learning Java beyond the basics and advanced material. It about thinking about which Java is doing in milli-seconds and at the micro-second level. It is not a general Java programming help line for questions which can be easily answered using google search. You must subscribe under your name, not as a company or group account.

Nitsan Wakart
moderator

Expert Programming  - 
 
 
New post on JMH instruction level profiler: perfasm
How it works, what I find it useful for and sexual healing
1
Markus TET Schulz's profile photo
 
thx
Add a comment...

Jean-Philippe BEMPEL

Expert Programming  - 
 
 
WhiteBox API from OpenJDK to get access to hidden features of the HotSpot JVM
I have already seen this in JCStress but this is in a post from Rémi Forax on mechanical sympathy forum that it brings attention to me when I saw what is possible to do with it. Here is a summary: This API is usable since JD...
3
Add a comment...

Ashkrit Sharma

Expert Programming  - 
7
1
Andy Huang's profile photo
Add a comment...

Eric DeFazio

Presentation Videos  - 
2
2
Eric DeFazio's profile photoMario Fernando Guerrero Díaz's profile photoAndy Huang's profile photo
 
Somehow this one slipped by my radar, but a really great presentation... (lots of "red meat") some specific interesting stuff about CPU pipe-lining / branch prediction... overall, worth a watch  
Add a comment...

Dominik Obermaier

Expert Programming  - 
 
I wonder if there is a Java Queue implementation which offers non-blocking writes but blocking reads? Essentially I'm locking for a MPSC queue similar to JCTools but with a blocking read behaviour if the queue is empty. 

Does anyone know of such an implementation?
1
Nitsan Wakart's profile photoDominik Obermaier's profile photo
6 comments
 
Thanks Nitsan, that's good to hear. Can't wait to try it out!

Richard: This suggestion makes sense, this is also what I do at the moment. I personally don't like that approach too much if I want blocking behaviour, since this burns many unnecessary CPU cycles. :( If latency is important, I absolutely love this approach (Locksupport.parkNanos(1) works very well for me when using in an endless loop). Perhaps I need to experiment with different sleep-values to get the optimal blocking behaviour without burning too much CPU cycles ;-)
Add a comment...

William Louth

Expert Programming  - 
There are a few interpretations of “static tracing” but at this point I can only assume that the above tweet is referring to the more common case of traces (probes) being explicitly coded or compiled into software at build time. The reason for the different possible interpretations of static, ...
1
Add a comment...
 
Data-Oriented Design (From Mike Acton (Engine Director at Insomniac Games)

Awesome presentation from CPPCON 2014 (I realize it might seem like heresy to post this on the performance JAVA users group, but almost all the things he talks about apply to Java as well as C++

check out the presentation:
https://youtu.be/rX0ItVEVjHc?t=12m10s
4
2
wahaj ali's profile photoFrancesco Nigro's profile photoankit bhavsar's profile photo
 
thats really a big name Mike Acton 
Add a comment...

Daniel Shaya

Expert Programming  - 
 
Post demonstrating interference between unrelated threads and the importance of understanding the consequences of not reaching safepoint in a timely manner.
http://www.rationaljava.com/2015/05/safepoints-strange-and-dangerous.html
3
Add a comment...