TY - GEN
T1 - Server-Side Computation of Package Dependencies in Package-Management Systems
AU - Kasai, Nobuhiro
AU - Sasano, Isao
N1 - Publisher Copyright:
© 2021, Springer Nature Switzerland AG.
PY - 2021
Y1 - 2021
N2 - Package managers are often used in recent software development to obtain directly-dependent packages recursively. Typically, package managers make requests to the package registry more than once when computing indirect dependencies. Moreover, much amount of computations are duplicated by clients of package managers. This duplication can be avoided by computing indirect dependencies in advance on the server-side of package-management systems. Therefore, we propose two algorithms functioning in parallel on the server-side: one to compute the indirect dependencies when copying all packages in existing package managers to the server and one to add packages to the server. Based on these parallelized algorithms, we implement a server fpms-server and a client fpms for npm packages. By our experiments, our client obtains dependencies of some package more than two times faster than clients in existing npm and yarn systems.
AB - Package managers are often used in recent software development to obtain directly-dependent packages recursively. Typically, package managers make requests to the package registry more than once when computing indirect dependencies. Moreover, much amount of computations are duplicated by clients of package managers. This duplication can be avoided by computing indirect dependencies in advance on the server-side of package-management systems. Therefore, we propose two algorithms functioning in parallel on the server-side: one to compute the indirect dependencies when copying all packages in existing package managers to the server and one to add packages to the server. Based on these parallelized algorithms, we implement a server fpms-server and a client fpms for npm packages. By our experiments, our client obtains dependencies of some package more than two times faster than clients in existing npm and yarn systems.
KW - Package manager
KW - Parallelization
KW - Server-side computation
UR - http://www.scopus.com/inward/record.url?scp=85118121963&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85118121963&partnerID=8YFLogxK
U2 - 10.1007/978-3-030-89051-3_5
DO - 10.1007/978-3-030-89051-3_5
M3 - Conference contribution
AN - SCOPUS:85118121963
SN - 9783030890506
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 62
EP - 79
BT - Programming Languages and Systems - 19th Asian Symposium, APLAS 2021, Proceedings
A2 - Oh, Hakjoo
PB - Springer Science and Business Media Deutschland GmbH
T2 - 19th Asian Symposium on Programming Languages and Systems, APLAS 2021
Y2 - 17 October 2021 through 18 October 2021
ER -