首页> 美国卫生研究院文献>Evolutionary Bioinformatics Online >Comparing Ease of Programming in C++ Go and Java for Implementing aNext-Generation Sequencing Tool
【2h】

Comparing Ease of Programming in C++ Go and Java for Implementing aNext-Generation Sequencing Tool

机译:比较使用C ++Go和Java进行编程的难易程度下一代测序工具

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

elPrep is an extensible multithreaded software framework for efficiently processing Sequence Alignment/Map (SAM)/Binary Alignment/Map (BAM) files in next-generation sequencing pipelines. Similar to other SAM/BAM tools, a key challenge in elPrep is memory management, as such programs need to manipulate large amounts of data. We therefore investigated 3 programming languages with support for assisted or automated memory management for implementing elPrep, namely C++, Go, and Java. We implemented a nontrivial subset of elPrep in all 3 programming languages and compared them by benchmarking their runtime performance and memory use to determine the best language in terms of computational performance. In a previous article, we motivated why, based on these results, we eventually selected Go as our implementation language. In this article, we discuss the difficulty of achieving the best performance in each language in terms of programming language constructs and standard library support. While benchmarks are easy to objectively measure and evaluate, this is less obvious for assessing ease of programming. However, because we expect elPrep to be regularly modified and extended, this is an equally important aspect. We illustrate representative examples of challenges in all 3 languages,and give our opinion why we think that Go is a reasonable choice also in thislight.
机译:elPrep是可扩展的多线程软件框架,用于有效处理下一代测序管线中的序列比对/图谱(SAM)/二进制比对/图谱(BAM)文件。与其他SAM / BAM工具类似,elPrep面临的主要挑战是内存管理,因为此类程序需要处理大量数据。因此,我们研究了3种编程语言,它们支持用于实现elPrep的辅助或自动内存管理,即C ++,Go和Java。我们在所有3种编程语言中实现了elPrep的一个重要子集,并通过对它们的运行时性能和内存使用进行基准测试来比较它们,从而根据计算性能确定最佳语言。在上一篇文章中,我们提出了动机,为什么基于这些结果,我们最终选择Go作为我们的实现语言。在本文中,我们从编程语言结构和标准库支持的角度讨论了在每种语言中实现最佳性能的困难。虽然基准很容易客观地衡量和评估,但对于评估编程的难易程度却不太明显。但是,因为我们期望elPrep会定期修改和扩展,所以这是同等重要的方面。我们用所有3种语言举例说明挑战的典型例子,并给出我们的意见,为什么我们也认为Go是一个合理的选择光。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号