The measured performance of declarative approaches to finding data in unstructured heaps

The measured performance of declarative approaches to finding data in unstructured heaps

Interested in learning more about this topic? Visit this web site to read a related paper: https://www.gregorykapfhammer.com/research/papers/Jones2011/

4ae30d49c8cc07e42d5a871efb9bcfba?s=128

Gregory Kapfhammer

December 18, 2009
Tweet

Transcript

  1. 1.

    Introduction Query Languages Empirical Evaluation Conclusion The Measured Performance of

    Declarative Approaches to Finding Data in Unstructured Heaps Gregory M. Kapfhammer Department of Computer Science Allegheny College http://www.cs.allegheny.edu/~gkapfham/ Department of Mathematics and Computer Science Westminster College, December 2009 In conjunction with William Jones (Allegheny College) Featuring an image from www.CampusBicycle.com 1 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  2. 2.

    Introduction Query Languages Empirical Evaluation Conclusion Important Contributions Benchmark Benchmark

    Executor Configuration Results Suggestions Performance Evaluation Prioritization Technique Execution Time (ms) 0 20 40 60 80 100 2OPT DGR GRD HGS JD Detailed Empirical Study Overview: Extend and empirically evaluate the efficiency and effectiveness of declarative approaches to finding data in the unstructured heap of a Java virtual machine 2 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  3. 3.

    Introduction Query Languages Empirical Evaluation Conclusion Important Contributions Benchmark Benchmark

    Executor Configuration Results Suggestions Performance Evaluation Prioritization Technique Execution Time (ms) 0 20 40 60 80 100 2OPT DGR GRD HGS JD Detailed Empirical Study Overview: Extend and empirically evaluate the efficiency and effectiveness of declarative approaches to finding data in the unstructured heap of a Java virtual machine 2 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  4. 4.

    Introduction Query Languages Empirical Evaluation Conclusion Important Contributions Benchmark Benchmark

    Executor Configuration Results Suggestions Performance Evaluation Prioritization Technique Execution Time (ms) 0 20 40 60 80 100 2OPT DGR GRD HGS JD Detailed Empirical Study Overview: Extend and empirically evaluate the efficiency and effectiveness of declarative approaches to finding data in the unstructured heap of a Java virtual machine 2 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  5. 5.

    Introduction Query Languages Empirical Evaluation Conclusion Important Contributions Benchmark Benchmark

    Executor Configuration Results Suggestions Performance Evaluation Prioritization Technique Execution Time (ms) 0 20 40 60 80 100 2OPT DGR GRD HGS JD Detailed Empirical Study Overview: Extend and empirically evaluate the efficiency and effectiveness of declarative approaches to finding data in the unstructured heap of a Java virtual machine 2 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  6. 6.

    Introduction Query Languages Empirical Evaluation Conclusion Important Contributions Benchmark Benchmark

    Executor Configuration Results Suggestions Performance Evaluation Prioritization Technique Execution Time (ms) 0 20 40 60 80 100 2OPT DGR GRD HGS JD Detailed Empirical Study Analysis: Develop and use tree and random forest statistical models and data visualizations that help to identify efficiency and effectiveness trade-offs for data location strategies 2 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  7. 7.

    Introduction Query Languages Empirical Evaluation Conclusion The Value of Virtual

    Machines Machine Virtual Machine Virtual Byte Code The virtual machine enables platform independence, handles migration, manages limited resources, provides optimization 3 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  8. 8.

    Introduction Query Languages Empirical Evaluation Conclusion The Value of Virtual

    Machines Machine Virtual Machine Virtual Byte Code The virtual machine enables platform independence, handles migration, manages limited resources, provides optimization 3 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  9. 9.

    Introduction Query Languages Empirical Evaluation Conclusion The Value of Virtual

    Machines Machine Virtual Machine Virtual Byte Code Byte Code The virtual machine enables platform independence, handles migration, manages limited resources, provides optimization 3 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  10. 10.

    Introduction Query Languages Empirical Evaluation Conclusion A Look Inside the

    Java Virtual Machine Program Stack Fast? Interpreter? Machine Virtual JIT? Adaptive? methodA testOne Input Output Byte Code The virtual machine manages resources for the program 4 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  11. 11.

    Introduction Query Languages Empirical Evaluation Conclusion A Look Inside the

    Java Virtual Machine Program Stack Fast? Interpreter? Machine Virtual JIT? Adaptive? Heap methodA testOne Input Output Byte Code The virtual machine manages resources for the program 4 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  12. 12.

    Introduction Query Languages Empirical Evaluation Conclusion A Look Inside the

    Java Virtual Machine Program Stack Fast? Interpreter? Machine Virtual JIT? Adaptive? Native Code Cache Heap methodA testOne Input Output Byte Code The virtual machine manages resources for the program 4 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  13. 13.

    Introduction Query Languages Empirical Evaluation Conclusion The Container Hierarchy in

    the Heap LinkedList Objects (Type R) Objects (Type S) Objects (Type T) B Tree ArrayList Vector Transaction Processor The unstructured heap stores objects that are connected in complex and unpredictable ways (Xu and Rountev, ICSE 2008) 5 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  14. 14.

    Introduction Query Languages Empirical Evaluation Conclusion The Container Hierarchy in

    the Heap LinkedList Objects (Type R) Objects (Type S) Objects (Type T) B Tree ArrayList Vector Transaction Processor A memory leak may occur when a Java program incorrectly maintains object references (Xu and Rountev, ICSE 2008) 5 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  15. 15.

    Introduction Query Languages Empirical Evaluation Conclusion The Container Hierarchy in

    the Heap LinkedList Objects (Type R) Objects (Type S) Objects (Type T) B Tree ArrayList Vector Transaction Processor Why is my program “leaking”? The standard method of iterating through large collections is often challenging and error prone! 5 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  16. 16.

    Introduction Query Languages Empirical Evaluation Conclusion JQL: Declaratively Finding Objects

    Java Query Language (JQL) Features Pre-compilation AOP with AspectJ Method queries Caching Optimizations References Willis et al. ECOOP 2006 Willis et al. OOPSLA 2008 JQL File JQL Compiler Java Source Code Java Compiler Java Bytecodes Query Executor Query Results Collection Cached Query Results 6 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  17. 17.

    Introduction Query Languages Empirical Evaluation Conclusion JQL: Declaratively Finding Objects

    Java Query Language (JQL) Features Pre-compilation AOP with AspectJ Method queries Caching Optimizations References Willis et al. ECOOP 2006 Willis et al. OOPSLA 2008 JQL File JQL Compiler Java Source Code Java Compiler Java Bytecodes Query Executor Query Results Collection Cached Query Results 6 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  18. 18.

    Introduction Query Languages Empirical Evaluation Conclusion JQL: Declaratively Finding Objects

    Java Query Language (JQL) Features Pre-compilation AOP with AspectJ Method queries Caching Optimizations References Willis et al. ECOOP 2006 Willis et al. OOPSLA 2008 JQL File JQL Compiler Java Source Code Java Compiler Java Bytecodes Query Executor Query Results Collection Cached Query Results 6 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  19. 19.

    Introduction Query Languages Empirical Evaluation Conclusion JoSQL: Declaratively Finding Objects

    Java Objects SQL (JoSQL) Features SQL statements String parsing Java reflection Query facilities References http://josql.sf.net/ SQL String Parse SQL Query Object Executable Query Query Executor Query Results Collection 7 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  20. 20.

    Introduction Query Languages Empirical Evaluation Conclusion JoSQL: Declaratively Finding Objects

    Java Objects SQL (JoSQL) Features SQL statements String parsing Java reflection Query facilities References http://josql.sf.net/ SQL String Parse SQL Query Object Executable Query Query Executor Query Results Collection 7 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  21. 21.

    Introduction Query Languages Empirical Evaluation Conclusion JoSQL: Declaratively Finding Objects

    Java Objects SQL (JoSQL) Features SQL statements String parsing Java reflection Query facilities References http://josql.sf.net/ SQL String Parse SQL Query Object Executable Query Query Executor Query Results Collection 7 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  22. 22.

    Introduction Query Languages Empirical Evaluation Conclusion Object Query Languages and

    Bicycles Efficiency: Low wind resistance and time to destination 8 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  23. 23.

    Introduction Query Languages Empirical Evaluation Conclusion Object Query Languages and

    Bicycles Effectiveness: Transports all required materials and no break downs 8 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  24. 24.

    Introduction Query Languages Empirical Evaluation Conclusion Object Query Languages and

    Bicycles Cost: Frame material and components cause price to vary considerably 8 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  25. 25.

    Introduction Query Languages Empirical Evaluation Conclusion Benchmarks for Query Languages

    Features Operations (Query, Join, Sub-Query, Others) Objects (Integers, Strings, Graphs, Complex Objects) Object and Collection Size (Small, Medium, Large) Query Languages JQL 0.3.1 with ANTLR 2.2.7, and AspectJ 1.5 JoSQL 1.8 Enhancements Configuration Random Collection Generator Benchmark Initializer Collection Benchmark Executor Evaluation Report Benchmark 9 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  26. 26.

    Introduction Query Languages Empirical Evaluation Conclusion Benchmarks for Query Languages

    Features Operations (Query, Join, Sub-Query, Others) Objects (Integers, Strings, Graphs, Complex Objects) Object and Collection Size (Small, Medium, Large) Query Languages JQL 0.3.1 with ANTLR 2.2.7, and AspectJ 1.5 JoSQL 1.8 Enhancements Configuration Random Collection Generator Benchmark Initializer Collection Benchmark Executor Evaluation Report Benchmark 9 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  27. 27.

    Introduction Query Languages Empirical Evaluation Conclusion Benchmarks for Query Languages

    Features Operations (Query, Join, Sub-Query, Others) Objects (Integers, Strings, Graphs, Complex Objects) Object and Collection Size (Small, Medium, Large) Query Languages JQL 0.3.1 with ANTLR 2.2.7, and AspectJ 1.5 JoSQL 1.8 Enhancements Configuration Random Collection Generator Benchmark Initializer Collection Benchmark Executor Evaluation Report Benchmark 9 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  28. 28.

    Introduction Query Languages Empirical Evaluation Conclusion Analysis Method: Regression Tree

    Models Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Tree Models: Use recursive partitioning to create hierarchical view of data 10 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  29. 29.

    Introduction Query Languages Empirical Evaluation Conclusion Analysis Method: Regression Tree

    Models Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Explanatory Variable: Configuration of the benchmark (e.g., “Method”) 10 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  30. 30.

    Introduction Query Languages Empirical Evaluation Conclusion Analysis Method: Regression Tree

    Models Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Response Variable: One of the evaluation metrics (e.g., “Response Time”) 10 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  31. 31.

    Introduction Query Languages Empirical Evaluation Conclusion Analysis Method: Random Forests

    Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value 11 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  32. 32.

    Introduction Query Languages Empirical Evaluation Conclusion Analysis Method: Random Forests

    Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value 11 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  33. 33.

    Introduction Query Languages Empirical Evaluation Conclusion Analysis Method: Random Forests

    Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value 11 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  34. 34.

    Introduction Query Languages Empirical Evaluation Conclusion Analysis Method: Random Forests

    Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value 11 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  35. 35.

    Introduction Query Languages Empirical Evaluation Conclusion Analysis Method: Random Forests

    Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Many Trees: Randomly construct a large collection of trees in order to avoid bias and identify the most important explanatory variables 11 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  36. 36.

    Introduction Query Languages Empirical Evaluation Conclusion Query Benchmark with Integers

    | Method: HC,JQL CollectionType: ArrayList,Vector CollectionSize < 55000 ObjectSize < 550 38.65 309.40 408.50 48460.00 86330.00 Query Benchmark with Integers 12 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  37. 37.

    Introduction Query Languages Empirical Evaluation Conclusion Query Benchmark with Integers

    | Method: HC,JQL CollectionType: ArrayList,Vector CollectionSize < 55000 ObjectSize < 550 38.65 309.40 408.50 48460.00 86330.00 Query Benchmark with Integers Reflection’s Impact: HC and JQL exhibit lower time values than JoSQL 12 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  38. 38.

    Introduction Query Languages Empirical Evaluation Conclusion Query Benchmark with Integers

    | Method: HC,JQL CollectionType: ArrayList,Vector CollectionSize < 55000 ObjectSize < 550 38.65 309.40 408.50 48460.00 86330.00 Query Benchmark with Integers Random Forest: Query method and collection type have most impact 12 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  39. 39.

    Introduction Query Languages Empirical Evaluation Conclusion Query Benchmark with Strings

    | Method: HC,JQL CollectionType: ArrayList,Vector CollectionSize < 27500 CollectionSize < 275000 63.75 218.50 189.40 74530.00 120700.00 Query Benchmark with Strings 13 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  40. 40.

    Introduction Query Languages Empirical Evaluation Conclusion Query Benchmark with Strings

    | Method: HC,JQL CollectionType: ArrayList,Vector CollectionSize < 27500 CollectionSize < 275000 63.75 218.50 189.40 74530.00 120700.00 Query Benchmark with Strings Reflection’s Impact: HC and JQL exhibit lower time values than JoSQL 13 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  41. 41.

    Introduction Query Languages Empirical Evaluation Conclusion Query Benchmark with Strings

    | Method: HC,JQL CollectionType: ArrayList,Vector CollectionSize < 27500 CollectionSize < 275000 63.75 218.50 189.40 74530.00 120700.00 Query Benchmark with Strings Reflection’s Impact: Strings further degrade JoSQL’s performance 13 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  42. 42.

    Introduction Query Languages Empirical Evaluation Conclusion Query Benchmark with Strings

    | Method: HC,JQL CollectionType: ArrayList,Vector CollectionSize < 27500 CollectionSize < 275000 63.75 218.50 189.40 74530.00 120700.00 Query Benchmark with Strings Random Forest: Query method and collection type have most impact 13 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  43. 43.

    Introduction Query Languages Empirical Evaluation Conclusion Join Benchmark with Integers

    and Strings | Method: HC−HJ,JQL CollectionSize < 2250 CollectionType: ArrayList,Vector 247.4 3651.0 8447.0 80720.0 Join Benchmark with Integers and Strings 14 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  44. 44.

    Introduction Query Languages Empirical Evaluation Conclusion Join Benchmark with Integers

    and Strings | Method: HC−HJ,JQL CollectionSize < 2250 CollectionType: ArrayList,Vector 247.4 3651.0 8447.0 80720.0 Join Benchmark with Integers and Strings Reflection’s Impact: HC-HJ and JQL exhibit lower values than JoSQL 14 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  45. 45.

    Introduction Query Languages Empirical Evaluation Conclusion Join Benchmark with Integers

    and Strings | Method: HC−HJ,JQL CollectionSize < 2250 CollectionType: ArrayList,Vector 247.4 3651.0 8447.0 80720.0 Join Benchmark with Integers and Strings Reflection’s Impact: LinkedList still degrades JoSQL’s performance 14 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  46. 46.

    Introduction Query Languages Empirical Evaluation Conclusion Join Benchmark with Integers

    and Strings | Method: HC−HJ,JQL CollectionSize < 2250 CollectionType: ArrayList,Vector 247.4 3651.0 8447.0 80720.0 Join Benchmark with Integers and Strings Random Forest: Query method and collection type have most impact 14 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  47. 47.

    Introduction Query Languages Empirical Evaluation Conclusion Impact of Object Size

    on Joining Small Objects Collection Size Method Small Medium Large JQL 57.2 390.2 981.8 HC-HJ 69.3 378.1 923.5 JoSQL 997.3 3620.2 8823.1 Large Objects Collection Size Method Small Medium Large JQL 35.4 80.8 255.4 HC-HJ 11.4 63.3 217.8 JoSQL 930.3 3107.3 8165.9 15 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  48. 48.

    Introduction Query Languages Empirical Evaluation Conclusion Impact of Object Size

    on Joining Small Objects Collection Size Method Small Medium Large JQL 57.2 390.2 981.8 HC-HJ 69.3 378.1 923.5 JoSQL 997.3 3620.2 8823.1 Large Objects Collection Size Method Small Medium Large JQL 35.4 80.8 255.4 HC-HJ 11.4 63.3 217.8 JoSQL 930.3 3107.3 8165.9 15 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  49. 49.

    Introduction Query Languages Empirical Evaluation Conclusion Future Work in Performance

    Evaluation Framework Extension Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Statistical Analysis Incorporate new benchmarks, object types, and query languages in order to better characterize performance. Use statistical analysis to make reliable predictions. 16 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  50. 50.

    Introduction Query Languages Empirical Evaluation Conclusion Future Work in Performance

    Evaluation Framework Extension Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Statistical Analysis Incorporate new benchmarks, object types, and query languages in order to better characterize performance. Use statistical analysis to make reliable predictions. 16 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  51. 51.

    Introduction Query Languages Empirical Evaluation Conclusion Future Work in Performance

    Evaluation Framework Extension Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Statistical Analysis Incorporate new benchmarks, object types, and query languages in order to better characterize performance. Use statistical analysis to make reliable predictions. 16 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  52. 52.

    Introduction Query Languages Empirical Evaluation Conclusion Future Work in Performance

    Evaluation Framework Extension Method: HC, JQL CollectionType: ArrayList, Vector Mean Value Mean Value Mean Value Statistical Analysis Incorporate new benchmarks, object types, and query languages in order to better characterize performance. Use statistical analysis to make reliable predictions. 16 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  53. 53.

    Introduction Query Languages Empirical Evaluation Conclusion JQL: Web Site Reference

    See the Web site of Dr. David J. Pearce for additional resources 17 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  54. 54.

    Introduction Query Languages Empirical Evaluation Conclusion JoSQL: Web Site Reference

    http://josql.sourceforge.net/ provides tools and documentation 18 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  55. 55.

    Introduction Query Languages Empirical Evaluation Conclusion R Language for Statistical

    Computation http://www.r-project.org/ provides amazing tools and documentation 19 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  56. 56.

    Introduction Query Languages Empirical Evaluation Conclusion Concluding Remarks Benchmark Benchmark

    Executor Configuration Results Suggestions Performance Evaluation Prioritization Technique Execution Time (ms) 0 20 40 60 80 100 2OPT DGR GRD HGS JD Detailed Empirical Study Summary: Extended and empirically evaluated the efficiency and effectiveness of declarative approaches to finding data in the unstructured heap of a Java virtual machine. http://www.cs.allegheny.edu/~gkapfham/research/ 20 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  57. 57.

    Introduction Query Languages Empirical Evaluation Conclusion Concluding Remarks Benchmark Benchmark

    Executor Configuration Results Suggestions Performance Evaluation Prioritization Technique Execution Time (ms) 0 20 40 60 80 100 2OPT DGR GRD HGS JD Detailed Empirical Study Summary: Extended and empirically evaluated the efficiency and effectiveness of declarative approaches to finding data in the unstructured heap of a Java virtual machine. http://www.cs.allegheny.edu/~gkapfham/research/ 20 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  58. 58.

    Introduction Query Languages Empirical Evaluation Conclusion Concluding Remarks Benchmark Benchmark

    Executor Configuration Results Suggestions Performance Evaluation Prioritization Technique Execution Time (ms) 0 20 40 60 80 100 2OPT DGR GRD HGS JD Detailed Empirical Study Summary: Extended and empirically evaluated the efficiency and effectiveness of declarative approaches to finding data in the unstructured heap of a Java virtual machine. http://www.cs.allegheny.edu/~gkapfham/research/ 20 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  59. 59.

    Introduction Query Languages Empirical Evaluation Conclusion Concluding Remarks Benchmark Benchmark

    Executor Configuration Results Suggestions Performance Evaluation Prioritization Technique Execution Time (ms) 0 20 40 60 80 100 2OPT DGR GRD HGS JD Detailed Empirical Study Summary: Extended and empirically evaluated the efficiency and effectiveness of declarative approaches to finding data in the unstructured heap of a Java virtual machine. http://www.cs.allegheny.edu/~gkapfham/research/ 20 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps
  60. 60.

    Introduction Query Languages Empirical Evaluation Conclusion Concluding Remarks Benchmark Benchmark

    Executor Configuration Results Suggestions Performance Evaluation Prioritization Technique Execution Time (ms) 0 20 40 60 80 100 2OPT DGR GRD HGS JD Detailed Empirical Study Summary: Extended and empirically evaluated the efficiency and effectiveness of declarative approaches to finding data in the unstructured heap of a Java virtual machine. http://www.cs.allegheny.edu/~gkapfham/research/ 20 / 20 The Measured Performance of Declarative Approaches to Finding Data in Unstructured Heaps