Benchmarking Update: Better Node Scoring & Richer Metadata Coming Soon!

Hey everyone,

Just wanted to share a quick update on some behind-the-scenes improvements I've made to the hive-bench and engine-bench utilities – the tools that power the node performance data published to the @nectarflower (for Hive nodes) and @flowerengine (for Hive-Engine nodes) accounts.

Nectar Logo

Previously, the ranking of nodes was often based on simpler metrics or performance in individual tests. While useful, it didn't always perfectly reflect which nodes feel best in real-world usage.

The main improvement I've implemented is a new weighted scoring system. This system assigns different levels of importance (weights) to the various benchmark tests (like block retrieval, history lookups, API call speed, latency, config access, etc.). For example, latency and block retrieval speed might be weighted more heavily than how quickly a node responds to a simple config request, as those factors often have a bigger impact on user experience in apps and wallets.

The result is a single weighted_score for each node, where a higher score indicates better overall performance based on these weighted factors.

Richer Data in Metadata

This change also means the JSON data published to the @nectarflower and @flowerengine accounts will be more informative in the upcoming runs. You can expect to see:

  1. Nodes Sorted by Weighted Score: The primary list of nodes will now be ordered based on this new, more realistic performance score (best score first).
  2. Weighted Score Included: Each node entry will include its calculated weighted_score.
  3. Tests Completed Count: Each node will also show how many of the benchmark tests it successfully completed (e.g., tests_completed: 5/5 or 4/5). This gives a quick indicator of reliability across different test types.
  4. Scoring Weights Published: The metadata will also include details about the specific weights used in the scoring calculation, for transparency.

Why Does This Matter?

The goal is to provide a more nuanced and useful picture of node performance. For developers using libraries like hive-nectar (which consume this data) or anyone manually selecting nodes, this weighted score and additional data should offer a better way to pick nodes that are not just technically working, but are likely to provide a better, faster experience for actual applications.

These updates (bumping the tools to v0.2.6) will be reflected in the benchmark runs and metadata updates going forward. Keep an eye on the @nectarflower and @flowerengine accounts!

As always,
Michael Garcia a.k.a. TheCrazyGM



0
0
0.000
28 comments
avatar

Selling Nodes... Like only fans for coders.

0
0
0.000
avatar

hahaha...

0
0
0.000
avatar

"Send nodes" reminds me of a joke from my old college roomate:

"Click here to download your free printer!"

!PIMP

0
0
0.000
avatar

I saw your nodes... and now I can't wash my mind of the image.

0
0
0.000
avatar

This development is the gift that keeps on giving! Too bad we can't make a site button for this stuff!

!PIMP
!PIZZA
!PAKX

0
0
0.000
avatar

View or trade PAKX tokens.

You have already used the number of vote calls you had for the day. You can call again later in 9h 54m or buy more PAKX tokens to call for more votes.

0
0
0.000
avatar

How many? Link me please to some table, thank you. Prayers for Pakistan.

0
0
0.000
avatar

Thank you for another very useful improvement! This more-complete metric to measure node performance is so needed! 😁 🙏 💚 ✨ 🤙

0
0
0.000
avatar

Can nectarengine be downloadeded with pip yet? I'm working on trading bots for people to use on phones and Termux is a bit more touchy.... Beem it allows, I'm just checking for consistency in coding.

0
0
0.000
avatar

hive-nectar I did lower the python version to 3.10, nectarengine I have not, but I will soon if it would help you.

0
0
0.000
avatar

Termux doesn't like to go the long route to download it. If its not accessible via PIP on Termux it cant really be implemented easily to work on that OS correctly.

0
0
0.000
avatar

well, i mean they are both on pip, yes, you can do pip install hive-nectar and pip install nectarengine but I haven't lowered the python version on nectarengine yet, you can try it, but I don't know if you will have the same issue you did on the Raspberry Pi...

0
0
0.000
avatar

I'll give it a shot on Termux and see what it says I'll update my post to include these in the mean time just incase

0
0
0.000
avatar

I did get that. nectarengine still has the same requirements though. I can't use that at the moment.

0
0
0.000
avatar

I will try to remedy that here very soon.

0
0
0.000
avatar

I'm going to update my GitHub later and I need some insight on a multiple transaction bit of code. I'm trying to run and host bots for others at the smallest PEK buy per hour for running their bot. I need to know if I need a separate gas.py or would it run in place_order.py

0
0
0.000
avatar

ping me when it's up and update me the link and i'll try to poke at it when i get a free minute. It's not a problem :)

0
0
0.000
avatar

I just now figured out I could tag you on github... but now I messaged you here and tagged you in the post.

0
0
0.000
avatar

This?

{
"node": "https://api.hive-engine.com/rpc",
"SSCnodeVersion": "ivm-1.0.0",
"engine": true,
"token": {
"ok": true,
"count": 16,
"time": 3.0331857204437256,
"rank": 16
},
"contract": {
"ok": true,
"count": 13,
"time": 1.452458381652832,
"rank": 12
},
"account_history": {
"ok": true,
"count": 97,
"time": 30.00242781639099,
"rank": 1
},
"config": {
"ok": true,
"time": 0.15889835357666016,
"access_time": 0.000022649765014648438,
"rank": 5
},
"latency": {
"ok": true,
"min_latency": 0.12316370010375977,
"max_latency": 0.14050722122192383,
"avg_latency": 0.1305757522583008,
"time": 0.6528787612915039,
"rank": 15
},
"weighted_score": 54.12,
"tests_completed": 5
},

!BEER
!invest_vote

0
0
0.000
avatar

yes, the weighted score and the number of tests pass/failed was added to each of the reports. the very end of the meta also has a list of the test params and the weights used to calculate that score.

0
0
0.000
avatar

Suggestion:
Link repo links to your posts. It will help people to follow more and explore.

0
0
0.000
avatar

That's an excellent and simple suggestion, I'll try to remember to do that from here on.

0
0
0.000