This project has 91 classes.
ECF: benchmark.ecf
. /source/comparison/special-string
. /source/comparison/structures
Application root
Build specification
Further Information
Click on class link to see notes.
Command line interface to class EL_BENCHMARK_COMMAND_SHELL which contains a menu of benchmarks for various classes.
Further Information
Click on class link to see notes.
Eiffel entry for Software Drag Racing: C++ vs C# vs Python
Further Information
Click on class link to see notes.
Command line interface to class STRING_BENCHMARK_SHELL which contains a menu of benchmarks for various classes.
Further Information
Click on class link to see notes.
Command line interface to create and execute ZSTRING_BENCHMARK_COMMAND
Further Information
Click on class link to see notes.
Compare checking if identifier is attached vs checking if boolean is true
Further Information
Click on class link to see notes.
Compare methods to caculate population of 1's in NATURAL_64
Further Information
Click on class link to see notes.
Compare methods to caculated shift count for a bit-mask in descendants of [EL_NUMERIC_BIT_ROUTINES]
Further Information
Click on class link to see notes.
Compare getting dynamic_type for COLLECTION [ANY]} from calls
1. {COLLECTION [ANY]}.type_id 2. Class_id.COLLECTION_ANY
Further Information
Click on class link to see notes.
Compare using EL_COMPACTABLE_REFLECTIVE to automate object data compaction to numeric types vs traditional manual method.
Further Information
Click on class link to see notes.
Once off comparisons for developer testing
Further Information
Click on class link to see notes.
Finding files with extension comparison
Further Information
Click on class link to see notes.
Compare optimized way of field read/write by reflection to the original implementation of EL_REFLECTED_FIELD
Further Information
Click on class link to see notes.
Compare call on expanded vs once ref object
Further Information
Click on class link to see notes.
Compare EL_SYSTEM_TIME with C_DATE for calculating milliseconds elapsed since mid night.
Further Information
Click on class link to see notes.
Compare {L1_UC_STRING}.make_general and {ZSTRING}.make_general
Further Information
Click on class link to see notes.
Compare {L1_UC_STRING}.unicode and {ZSTRING}.unicode
Further Information
Click on class link to see notes.
Compact substrings buffering comparison
Further Information
Click on class link to see notes.
Compare EL_COMPACT_SUBSTRINGS_32 iteration methods
Further Information
Click on class link to see notes.
Compare conditional assignment depending on consecutive elseif attachment attempts to two experimental techniques:
Further Information
Click on class link to see notes.
Compare iterating immutable VS changeable string list
Further Information
Click on class link to see notes.
Test variations of class CSV_LINE_PARSER
Further Information
Click on class link to see notes.
Compare call to {EL_POINTER_ROUTINES}.i_th_lower_upper with using inline code
Further Information
Click on class link to see notes.
Replace substring comparison
Further Information
Click on class link to see notes.
Compare parsing comma separated list of reals using across iteration over:
Further Information
Click on class link to see notes.
String benchmark comparison
Compare various ways of concatenating strings
Further Information
Click on class link to see notes.
Compare {STRING_8}.item VS character_32_item
Further Information
Click on class link to see notes.
String split iteration comparison
Further Information
Click on class link to see notes.
Substring index comparison
Compare XML processing using tokenized xpaths in class EL_CREATEABLE_FROM_XPATH_MATCH_EVENTS versus using a regular string path in EL_BUILDABLE_FROM_XML.
Further Information
Click on class link to see notes.
Compare arrayed intervals implemented as INTEGER_64 vs INTEGER_32 x 2
Further Information
Click on class link to see notes.
Question: at what point does a linear search of an INTEGER_32 array stop being faster than a hash set?
Answer: count > 10
Further Information
Click on class link to see notes.
Compare filling LINKED_LIST with filling ARRAYED_LIST
Further Information
Click on class link to see notes.
Compare key search speed of HASH_TABLE and EL_NAMEABLES_LIST
Further Information
Click on class link to see notes.
Compare 7 ways to iterate over a list
Further Information
Click on class link to see notes.
Ways to implement {EL_ZCODEC}.as_zcode
Further Information
Click on class link to see notes.
{ZSTRING}.append_general VS {ZSTRING}.append for ZSTRING argument
Further Information
Click on class link to see notes.
{ZSTRING}.append_z_code VS {ZSTRING}.append_character
Further Information
Click on class link to see notes.
Compare methods of iterating over {ZSTRING}.area
Further Information
Click on class link to see notes.
Once off comparisons for developer testing
Further Information
Click on class link to see notes.
Compare {ZSTRING}.substring_index_list VS {ZSTRING}.substring_intervals
Further Information
Click on class link to see notes.
Once off benchmark to determine best algorithm for {ZSTRING}.same_characters_zstring
Further Information
Click on class link to see notes.
ZSTRING split comparison
Further Information
Click on class link to see notes.
Compare {EL_ZSTRING}.split_list with {EL_ZSTRING_LIST}.make_split
Further Information
Click on class link to see notes.
Compare original {WORD_TOKEN_TABLE}.paragraph_list_tokens implementation to new one using routine {ZSTRING}.fill_alpha_numeric_intervals
Further Information
Click on class link to see notes.
Methods to obtain z_code from unicode character
Further Information
Click on class link to see notes.
Benchmark html
Benchmark table
Memory benchmark table
Performance benchmark table
Zstring benchmark command
CSV parser for lines encoded as Latin-1
CSV parser for lines encoded as Latin-1
CSV parser using agent states
CSV parser for lines encoded as Latin-1
Scan Rhythmbox database for total file size
Find sum of all file-size counts in rhythmdb.xml using regular xpath processing
Find sum of all file-size counts in rhythmdb.xml using tokenized xpath processing
Command to calculate primes using the the sieve of Eratosthenes method
TO_SPECIAL [BOOLEAN] implementation of PRIME_NUMBER_COMMAND
MANAGED_POINTER implementation of PRIME_NUMBER_COMMAND
EL_CPP_BOOLEAN_VECTOR implementation of PRIME_NUMBER_COMMAND
Implementation using bits compacted into an array of type SPECIAL [NATURAL_32]
Benchmark constants
Benchmark using a mix of Latin and Unicode encoded data
STRING_32 routines for benchmarking
Benchmark using pure Latin encodable string data
Provides access to shared string iteration cursor for string conforming to READABLE_STRING_GENERAL
Provides access to shared string iteration cursor for string conforming to READABLE_STRING_GENERAL
String routines for benchmarking
Test strings
ZSTRING routines for benchmarking
Benchmark using a mix of Latin and Unicode encoded data
Benchmark using pure Latin encodable string data
Test string 32
Benchmark using a mix of Latin and Unicode encoded data
Test zstring
Benchmark using pure Latin encodable string data
Command shell for various kinds of performance comparison benchmarks
EL_COMPACT_SUBSTRINGS_32_ITERATION that uses inline C for pointer get/set
Fast lookup of item in unencoded intervals array by caching area_index
Further Information
Click on class link to see notes.
Expanded ANY
EL_NATURAL_32_BIT_ROUTINES with shift_count calculated using iterative bit-shifts
EL_NATURAL_32_BIT_ROUTINES that calculates shift_count using a de Bruijn sequence
EL_NATURAL_32_BIT_ROUTINES that calculates shift_count using branching algorithm described on Stackoverflow article
String related benchmark comparisons
Sort a string conforming to READABLE_STRING_GENERAL into a tuple slot of the appropiate storage_type
Sort a string conforming to READABLE_STRING_GENERAL into a tuple slot of the appropiate string_storage_type
Further Information
Click on class link to see notes.
EL_WORD_TOKEN_TABLE using previous implementation of paragraph_list_tokens