An aspectj project for evaluating Hash Collection/hashCode() dispersement quality
Alternatives To Hashshmash
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
2 years ago145apache-2.0Groovy
A Android gradle plugin that effects AspectJ on Android project and can hook methods in Kotlin, aar and jar file.
Android Gradle Aspectj342
a year ago36apache-2.0Kotlin
gradle plug-in adding supports of AspectJ into Android project
6 years agoJava
8 years agoJava
Java Open Tibia server implementation made using SQL database for storage, AspectJ, JUnit, Apache MINA, StripesFramework, and Maven.
8 years agoJava
4 years ago1May 15, 2013apache-2.0Java
An aspectj project for evaluating Hash Collection/hashCode() dispersement quality
6 years agoJava
Multi-module Maven project showing how to weave aspects into JDK/JRE classes
Android Gradle Aspectj4
4 years agoapache-2.0Kotlin
gradle plug-in adding supports of AspectJ into Android project
Swf Flow Gradle3
6 years agoapache-2.0Java
Example of how to use AWS SWF Flow Framework with Gradle and IntelliJ
Alternatives To Hashshmash
Select To Compare

Alternative Project Comparisons

An aspectj library for evaluating the various metrics about hashed collections at runtime, such as:

  • Allocations of zero sized collections
  • Overly sized collections for their contents
  • poorly dispersed items due to poor hashCodes
  • excessive allocations of collections

To use, apply the aspect to your code with an ant task such as this:

    <target name="aspects" xmlns:aspectj="antlib:org.aspectj">  
        <aspectj:iajc outJar="${build.dir}/${your_jar_name}_aj.jar" showWeaveInfo="true">  
                <pathelement location="${lib.dir}/hashshmash-0.2.0.jar"/>
                <pathelement location="${build.dir}/${your_jar_name}.jar"/>  
                <pathelement location="${lib.dir}/aspectjrt.jar"/>  
                <path refid="your.classpath"/>  

When compiling the aspectjtools.jar should be in ant/lib

Then delete your original jar ${build.dir}/${your_jar_name}.jar and just use ${build.dir}/${your_jar_name}_aj.jar You will need to include aspectj.jar and hashshmash.jar in your classpath when running your application.

The aspect will generate a file in ${user.home}/.hashshmash with allocation information in the form

Type \t AllocationTime \t AllocationSite \t CollectionSize \t NumberOfBuckets \t UsedBuckets

You will need aspectjtools.jar to apply the aspect to your code, as well as aspectjrt.jar to run it.

Once you have collected a statistics file by running with aspects, you can generate an html report by running

java -classpath hashsmhash.jar:aspectjrt.jar:xml-apis.jar:xalan.jar:serializer.jar com.mebigfatguy.hashshmash.Report

or if using ant, there is an ant task

    <target name="report" xmlns:report="com.mebigfatguy.hashsmash.report">

HashShmash is available on maven.org

groupId:    com.mebigfatguy.hashshmash
artifactid: hashshmash
version:    0.2.0
Popular Aspectj Projects
Popular Jar Projects
Popular Software Architecture Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.