I got the app running on Xcode in both Python in Ruby. I've never used either language and both of them want to run on the command line (terminal window) instead of Xcode. It took a while to get them running and get me up to speed on the language, infrastructure, etc. -- but that's another story.
So, unfamiliar db, unfamiliar language, coerced IDE...
The results are impressive to me -- and I even added a Blob sample to the Python version:
Here's a sample of the out put of the Python app:
The red area shows some samples of the Classes db a portion of the list (array) unformatted and formatted.
The blue area shows sizes and timings for the Class Scheduling app:
a total of 1,620 classes in a db of 32,742 bytes -- about 20 bytes per class
scheduling 2,659 * students to 5 classes each (10 random attempts) **
* 2,659 is the number of students in my youngest grandson's high school
** scheduling consists of 10 random attempts of the following operations until 5 classes are scheduled for each student:
signing up for a random class if seats are available
trying a different random class until one found with seats available
dropping classes
switching classes
Scheduling resulted in 26,590 transactions executed in 5,318 threads. It took 13.1 seconds to schedule all the students -- 2,028 transactions per second.
The yellow area shows the size and timing of FDB handling blobs:
blob size of 1,375,164
write the blob in .026 seconds
read the blob in .042 seconds
I ran this several times with similar results. There were about 1,999 processes running at the time -- apps like Xcode, iTunes, Terminal, Safari, Mail, Bbedit... even a Time Machine backup.
Comments
1) Swift Language Support
3) ARM Support for FoundationDB
https://forums.foundationdb.org/c/development/fdb-core
I used their sample Class Scheduling app:
https://apple.github.io/foundationdb/class-scheduling.html
I got the app running on Xcode in both Python in Ruby. I've never used either language and both of them want to run on the command line (terminal window) instead of Xcode. It took a while to get them running and get me up to speed on the language, infrastructure, etc. -- but that's another story.
So, unfamiliar db, unfamiliar language, coerced IDE...
The results are impressive to me -- and I even added a Blob sample to the Python version:
Here's a sample of the out put of the Python app:
The red area shows some samples of the Classes db a portion of the list (array) unformatted and formatted.
The blue area shows sizes and timings for the Class Scheduling app:
* 2,659 is the number of students in my youngest grandson's high school
** scheduling consists of 10 random attempts of the following operations until 5 classes are scheduled for each student:
- signing up for a random class if seats are available
- trying a different random class until one found with seats available
- dropping classes
- switching classes
Scheduling resulted in 26,590 transactions executed in 5,318 threads. It took 13.1 seconds to schedule all the students -- 2,028 transactions per second.The yellow area shows the size and timing of FDB handling blobs:
I ran this several times with similar results. There were about 1,999 processes running at the time -- apps like Xcode, iTunes, Terminal, Safari, Mail, Bbedit... even a Time Machine backup.