I recently switched over to developing my software for Java 8, and I've been slowly improving my use of Java 8 and becoming comfortable with Java 8, and in doing so I've started implementing more and more functional interfaces, and recently NetBeans has started to suggest that I swap some of my for loops over to functional interfaces, but from the way the program is running it seems much slower than simply using a for loop (1.9 sec runtime vs. .9 sec respectively). So my question is-- is it worth using functional interfaces in the place of for loops? When in general should one use functional interfaces? Are functional interfaces more efficient in some other ways? Thanks in advance.
When to use functional interface? (Java 8)
3k Views Asked by erzr2 At
1
There are 1 best solutions below
Related Questions in PERFORMANCE
- How to sort these using Javascript or Jquery Most effectively
- Ajax jQuery firing multiple time display event for the same result
- .hover() seems to overwrite .click()
- Check for numeric value with optional commas javascript
- Extending Highmaps Side Effect
- Array appending after each onclick and loop in javascript
- how can i append part of a table based on how many tr it has?
- Play multiple audio files in a slider
- Remove added set of rows
- Access property of an object of type [Model] in JQuery
Related Questions in JAVA-8
- How to sort these using Javascript or Jquery Most effectively
- Ajax jQuery firing multiple time display event for the same result
- .hover() seems to overwrite .click()
- Check for numeric value with optional commas javascript
- Extending Highmaps Side Effect
- Array appending after each onclick and loop in javascript
- how can i append part of a table based on how many tr it has?
- Play multiple audio files in a slider
- Remove added set of rows
- Access property of an object of type [Model] in JQuery
Related Questions in FUNCTIONAL-INTERFACE
- How to sort these using Javascript or Jquery Most effectively
- Ajax jQuery firing multiple time display event for the same result
- .hover() seems to overwrite .click()
- Check for numeric value with optional commas javascript
- Extending Highmaps Side Effect
- Array appending after each onclick and loop in javascript
- how can i append part of a table based on how many tr it has?
- Play multiple audio files in a slider
- Remove added set of rows
- Access property of an object of type [Model] in JQuery
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
if your lambdas do not use many capturing variables, then i believe that the performance will be more comparable to a standard for loop. the the advantages of using lambdas are easier parallelization (although for ordered streams this could potentially result in slower performance), and an easier to read syntax. also be aware that the hotspot compiler will change the results over time (your first loop execution will most likely be slower than your last).
i do not know the specifics, but in the worst case situation, you lambda may be implemented as an anonymous class. in the best case, it will just be a MethodHandle.
a quick test:
the results:
for a parallel stream the results where actually slower (around 2x on my machine) because the stream was ordered and each thread has a lot of synchronization overhead, compared to the work being done (just
result = i
)