A future is a programming construct designed for concurrent and asynchronous evaluation of code, making it particularly useful for parallel processing. The future package implements the Future API for programming with futures in R. This minimal API provides sufficient constructs for implementing parallel versions of well-established, high-level map-reduce APIs. The future ecosystem supports exception handling, output and condition relaying, parallel random number generation, and automatic identification of globals lowering the threshold to parallelize code. The Future API bridges parallel frontends with parallel backends following the philosophy that end-users are the ones who choose the parallel backend while the developer focuses on what to parallelize. A variety of backends exist and third-party contributions meeting the specifications, which ensure that the same code works on all backends, are automatically supported. The future framework solves several problems not addressed by other parallel frameworks in R.
翻译:未来是一个旨在同时和不同步地评估代码的编程结构,它特别有益于平行处理。未来的一揽子计划将未来API用于与R公司的未来编程。这种最低限度的API提供了足够的构件,用于实施完善的高级地图降生API的平行版本。未来的生态系统支持例外处理、产出和条件转接、平行随机数字生成和自动识别降低代码平行化门槛的全球数据。未来API连接前端和平行后端的平行后端,其理念是最终用户是选择平行后端的人,而开发者则侧重于平行化什么。存在各种后端,第三方的捐款符合规格,确保所有后端的同一代码工作得到自动支持。未来框架解决了R公司其他平行框架没有解决的一些问题。