Skip to content

Commit 57c4151

Browse files
committed
Update dependencies, add table with current results
1 parent 66696b3 commit 57c4151

8 files changed

Lines changed: 381 additions & 16 deletions

File tree

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,19 @@ This is the companion repository to the following medium post: [Doing cool data
44
## Data
55
The data was extracted from [Eurostat](http://appsso.eurostat.ec.europa.eu/nui/show.do?dataset=urb_cpop1&lang=en) in the beginning of September 2018. I opened the extracted CSV in LibreOffice and saved it again because there were some illegal UTF-8 characters in the Eurostat output that some csv importers couldn't handle directly.
66

7+
# Results [June 2025]
8+
9+
| Library | Maintained | Version | Time (ms) |
10+
|------------------|------------|-----------|-----------|
11+
| DuckDb | Y | 1.3.0 | 93 |
12+
| Kotlin DataFrame | Y | 1.0-beta2 | 816 |
13+
| Tablesaw | Y | 0.44.1 | 820 |
14+
| Joinery | n | 1.9 | 1,478 |
15+
| Krangl | n | 0.18.4 | 1,796 |
16+
| Morpheus | n | 0.9.23 | * |
17+
18+
* Morpheus is no longer maintained and doesn't seem to work on later java versions (error related to accessing `sun.util.calendar.ZoneInfo`)
19+
720
## Code
821
The code for the three libraries is present in the `Test{libraryname}.java` files. They all use `CheckResult.java` to do a basic correctness check for the top-growing cities.
922

build.gradle

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
buildscript {
2-
ext.kotlin_version = '1.8.21'
2+
ext.kotlin_version = '2.1.21'
33
repositories {
44
mavenCentral()
55
}
@@ -13,31 +13,31 @@ apply plugin: 'java'
1313
apply plugin: 'kotlin'
1414
apply plugin: 'eclipse'
1515

16-
sourceCompatibility = 1.8
16+
sourceCompatibility = '21'
1717

1818
repositories {
1919
mavenCentral()
20-
jcenter()
20+
maven { url 'https://maven.scijava.org/content/repositories/public/' }
2121
}
2222

2323
dependencies {
24-
implementation 'tech.tablesaw:tablesaw-core:0.43.1'
24+
implementation 'tech.tablesaw:tablesaw-core:0.44.1'
2525
// needed for tablesaw
2626
implementation 'com.google.guava:guava:31.1-jre'
2727

2828
implementation 'joinery:joinery-dataframe:1.9'
2929
// For the CSV import joinery needs this dependency too:
3030
implementation 'org.apache.poi:poi:3.17'
3131

32-
implementation 'com.zavtech:morpheus-core:0.9.21'
32+
implementation 'com.zavtech:morpheus-core:0.9.23'
3333

3434
implementation 'org.datavec:datavec-api:1.0.0-beta2'
3535
implementation 'org.datavec:datavec-local:1.0.0-beta2'
3636

37-
implementation "de.mpicbg.scicomp:krangl:0.11"
37+
implementation 'com.github.holgerbrandl:krangl:0.18.4'
3838
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
3939

40-
implementation "org.jetbrains.kotlinx:dataframe:0.10.0"
41-
implementation 'org.duckdb:duckdb_jdbc:0.8.0'
40+
implementation "org.jetbrains.kotlinx:dataframe:1.0.0-Beta2"
41+
implementation 'org.duckdb:duckdb_jdbc:1.3.0.0'
4242
}
4343

gradle/wrapper/gradle-wrapper.jar

42.7 KB
Binary file not shown.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
distributionBase=GRADLE_USER_HOME
2+
distributionPath=wrapper/dists
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
4+
networkTimeout=10000
5+
validateDistributionUrl=true
6+
zipStoreBase=GRADLE_USER_HOME
7+
zipStorePath=wrapper/dists

gradlew

Lines changed: 251 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)