Dużo jest dysku używane.
Nawet z SSD kompilacja może zająć nawet ponad 20 minut.
To szukam sposobów jakby przyspieszyć buildy ;-)
Pierwszy to użycie RAM dysku.
Ale chciałbym mieć kontrolę nad tym czy używać tego RAM dysku czy też nie.
W tym celu w ~/.profile (czyli pliku ładowanym za każdym razem gdy tworzona jest nowa powłoka) dodałem sobie takie linie:
ramdisk() {
diskutil erasevolume HFS+ "RAMDisk" `hdiutil attach -nomount ram://8388608`
}
remove_ramdisk() {
umount -f "/Volumes/RAMDisk"
}
Dzięki nim po wpisaniu ramdisk stworzy mi się RAM dysk o pojemności 4GB, po remove_ramdisk zostanie on usunięty z systemu.
Teraz trzeba przekonać Gradle'a by użył RAM dysku.
Używamy do tego pliku ~/.gradle/init.gradle, który robimy taki:
boolean ramDisk = new File("/Volumes/RAMDisk").exists()
if (ramDisk) {
print "WILL USE RAMDISK :-)"
gradle.projectsLoaded {
rootProject.allprojects {
buildDir = "/Volumes/RAMDisk/gradle-build/${rootProject.name}/${project.name}"
//println "GOT RAMDISK? buildDir=$buildDir"
}
}
}
Najpierw do zmiennej ramDisk wrzucamy wynik testu czy nasz RAM dysk w ogóle istnieje, jeśli istnieje to zmieniamy buildDir dla projektu na taki, który będzie wskazywał na RAM dysk :-)
Uzyskałem przyspieszenie od 20 do 35% ;-) czyli niezbyt duże.....
A i z obserwacji df -H wynika, że wcalę nie potrzebuję 4 GB, 2 GB by wystarczyły ;-)
Podobne postybeta
SleepAdvisor - komórka pomaga w wyspaniu się ;-)
Wolne komputery nie pozwalają się skupić....
Cyfrowa partenogeneza
Android nie taki zły ;-)
Chrome OS, Chrome2Chrome i w ogóle Chrome ;-)
Brak komentarzy:
Prześlij komentarz