Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

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

Stars

0 stars

Watchers

1 watching

Forks

Contributors