Qortal Core - Main Code Repository Decentralized Data Network - Blockchain - TRUE Cross-Chain Trading - Application and Website Hosting - Much More - Qortal is the future internet infrastructure for the global digital world.
Go to file
CalDescent 1b036b763c Major CPU optimization to block minter
Load sorted list of reward share public keys into memory, so that the indexes can be obtained. This is around 100x faster than querying each index separately (and the savings will increase as more keys are added).

For 4150 reward share keys, it was taking around 5000ms to query individually, vs 50ms using this approach.

The main trade off is that these 4150 keys require around 130kB of additional memory when minting (and this will increase proportionally with more minters). However, this one query was often accounting for 50% of the entire core's CPU usage, so the additional memory usage seems insignificant by comparison.

To gain confidence, I ran both old and new approaches side by side, and confirmed that the indexes matched exactly.
2022-03-05 16:10:43 +00:00
.github/workflows Automated testing (#38) 2021-05-26 11:27:46 +01:00
lib Add WaifUPnP-1.1 jar to project. 2022-02-18 20:05:14 +00:00
src Major CPU optimization to block minter 2022-03-05 16:10:43 +00:00
tools Updated approve-auto-update.sh to use new service format 2022-01-22 19:40:13 +00:00
WindowsInstaller Updated AdvancedInstaller project for v3.2.0 2022-03-03 20:02:30 +00:00
.gitignore Allow a new API key to be generated if the existing apikey.txt file has been deleted 2022-01-08 12:27:24 +00:00
AutoUpdates.md More detail in AutoUpdates.md 2021-02-21 17:12:02 +00:00
DATABASE.md Documentation updates 2021-02-06 10:59:31 +00:00
Dockerfile feat: add Dockerfile 2022-01-23 16:48:34 -08:00
log4j2.properties Updated log4j to 2.17.1 2022-01-02 20:50:38 +00:00
pom.xml Bump version to 3.2.0 2022-03-02 20:04:49 +00:00
README.md Fixed inaccurate README text that was accidentally merged from the data node repository. 2022-01-29 22:37:27 +00:00
run.sh Improved start-up shell script "start.sh" 2020-09-01 10:25:48 +01:00
start.sh Improved start-up shell script "start.sh" 2020-09-01 10:25:48 +01:00
stop.sh Updated stop.sh script to use the /admin/stop API endpoint if an apikey.txt file is available. 2022-01-13 19:18:39 +00:00
TestNets.md Updated testnet documentation 2022-02-25 11:08:37 +00:00

Qortal Project - Official Repo

Build / run

  • Requires Java 11. OpenJDK 11 recommended over Java SE.
  • Install Maven
  • Use Maven to fetch dependencies and build: mvn clean package
  • Built JAR should be something like target/qortal-1.0.jar
  • Create basic settings.json file: echo '{}' > settings.json
  • Run JAR in same working directory as settings.json: java -jar target/qortal-1.0.jar
  • Wrap in shell script, add JVM flags, redirection, backgrounding, etc. as necessary.
  • Or use supplied example shell script: start.sh