Skip to content

Experimental HashMap implementation in Sysmac Studio.

License

Notifications You must be signed in to change notification settings

kmu2030/ExperimentalHashMapLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExperimentalHashLib

ExperimentalHashMapLib is an experimental HashMap implementation for Sysmac. This was created to confirm issues when implementing associative arrays. It is a functional implementation of HashMap, as it cannot be extended linguistically. This implementation has performance issues that limit its use. It also lacks memory management, so deleting a value will not reuse that space. For details, please check this article (Japanese). The performance is as follows:

Operation Minimum(us) Maximum(us) Average(us)
Get 30 41 34
Put 66 86 72
Update 82 106 91
Delete 84 105 91

Performance with NX102-9000 Ver 1.64 (n=64, key=33 bytes)

Built environment

This project was built and performance verified in the following environment:

Controller NX102-9000 Ver 1.64
Sysmac Studio Ver.1.61

How to use "ExperimentalHashMapLib.smc2"

  1. git clone this repository or download the zip.
  2. Open "ExperimentalHashMapLib.smc2" in Sysmac Studio.
  3. Reference "lib/MurmurHash3Lib.slr" as a library.
  4. Reference "lib/STUnitLib.slr" as a library.
  5. Check "POU/Program/README".
  6. Match the controller settings to your running environment.
  7. Build the project.
  8. Run on the simulator or on the actual machine.

File hash

I recommend checking the hash value of the acquired Sysmac Studio project.

file sha256
ExperimentalHashMapLib.scm2 20456bd6496db0abb4b4b6f4935d1aad62b520cff6d08bb3fc5e601c0207da00

About

Experimental HashMap implementation in Sysmac Studio.

Topics

Resources

License

Stars

Watchers

Forks