百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

可汗学院为何用Golang重写他们的Python后端?

off999 2024-10-19 07:14 31 浏览 0 评论

可汗学院最近进行了大规模重写,他们用 Go 编写的面向服务的后端替换了旧的 Python 2 单体。

Kevin Dangoor 和 Marta Kosarchyn 是可汗学院的高级工程师,他们写了一系列关于重写的技术选择、执行和结果的博客文章。我们将在下面总结这个系列。

2019 年底,可汗学院正在寻求升级他们的后端。该站点建立在 Python 2 单体架构上,并且运行良好 10 多年。

然而,Python 2 即将在2020 年 1 月 1 日正式结束生命周期,因此可汗学院的工程师决定他们必须进行更新。

可汗学院有几种选择:

  • 从 Python 2 迁移到 Python 3 - 这将使 KA 的后端服务器代码性能和 Python 3 的语言特性提高 10-15%。
  • 从 Python 2 迁移到 Kotlin - KA 开始将 Kotlin用于计算密集型后端任务,因为它比 Python 2 性能更高。从 Python 切换到 Kotlin 可能意味着可汗学院的响应速度更快,服务器成本下降。
  • 从 Python 2 迁移到 Go - Go 是一种简单而简洁的语言,编译时间非常快,对Google App Engine的一流支持以及比 Kotlin 更少的内存使用量(基于 KA 的测试)。

在这些选项中,可汗学院决定采用第三种选择,并使用 Go 重写他们的 Python 2 单体。

他们进行了性能测试,发现 Go 和 Kotlin(在 JVM 上)的性能相似,Kotlin 领先几个百分点。但是,Go 使用的内存要少得多。

Go 和 Python 之间的巨大性能差异使得转换所涉及的努力是值得的。

文中链接在:可汗学院如何用Golang重写他们的Python后端?

相关推荐

pubg加速器免费版(pubg加速器免费版无广告)

现在加速吃鸡的游戏加速器是有专线路线的比较好,专线的稳定很多,不过目前是没有完全免费的加速软件,很多都可以先体验,注册就可以体验的,可以多去体验几款,对比一下。目前的加速器可以分为三个等级第一等级:全...

如何用u盘重装电脑系统win7(用u盘怎样重装系统win7)
如何用u盘重装电脑系统win7(用u盘怎样重装系统win7)

u盘怎么装win7系统步骤如下:1、先下载Windows7镜像,根据自己需求选择下载的版本:简化版、家庭基础版、家庭高级版、企业版等。2、下载工具软碟通。直接在搜索引擎中输入“软碟通”,选择合适的下载地址,直接下载安装即可。3、制作系统U...

2025-12-27 08:51 off999

系统驱动怎么安装(系统驱动的安装)

首先进入系统的设备管理器,检查一下是否存在有没有正确安装或者找不到的驱动程序的设备,然后进入硬件生产厂商官网去下载对应的操作系统的驱动程序,进行安装。如果嫌麻烦,可下载第三方软件进行辅助安装。1、如果...

设置bios密码(银河麒麟怎么设置bios密码)
设置bios密码(银河麒麟怎么设置bios密码)

想电脑BIOS开机密码,其实很简单,只要进入BIOS设置界面,然后选择“security”选项卡,在“security”内设置好开机密码即可。下面就跟随小编一起来学习一下具体提设置步骤吧!1、首先开机,然后快速按“F2”或者“F12”进入B...

2025-12-27 07:51 off999

华硕售后服务中心查询(华硕售后维修服务网点查询)

首先查看包装盒、保修卡、机器底部。三个地方的SN码及机器的序列号是不是一致。如果不一致那一定是有问题的。2然后,如果一致,我们可以拨打华硕的客服,通过机器的序列号,查询机器的基本情况,然后与说明书上的...

如何更改硬盘分区(硬盘怎么更改分区)

要修改磁盘分区,首先需要使用磁盘管理工具,如DiskManagement(Windows)或DiskUtility(Mac)。在工具中,选择要修改的磁盘并右键点击,然后选择“修改分区”选项。接着,...

无线路由器当交换机使用(路由器当交换机用无线wifi还可以上网吗)

若您想将无线路由器用作交换机,您可以按照以下步骤操作:1.确保您的无线路由器具有交换器功能。不是所有的无线路由器都具备此功能,请先确保您的设备支持。2.将您的无线路由器与网络中的其他设备连接。通常...

computer(computer lab)

"电脑"这个名称实际上是人们对具有计算功能电子设备的俗称。而计算机(Computer)则是这个设备的正式名称,因为"计算"是其核心功能。在英文中,Computer是指可...

电脑怎么连打印机(如何在电脑上安装打印机)
  • 电脑怎么连打印机(如何在电脑上安装打印机)
  • 电脑怎么连打印机(如何在电脑上安装打印机)
  • 电脑怎么连打印机(如何在电脑上安装打印机)
  • 电脑怎么连打印机(如何在电脑上安装打印机)
电脑重置20多个小时了(重置电脑一直12%)

重置电脑时间太长了解决办法如下1、将电脑关机然后开机或者直接点击重启,然后按住DELETE键,电脑会自动进入到BIOS;2、电脑屏幕上会显示两个选项,两个选项一般都在电脑屏幕的右方;3、其中一个选项是...

电脑虚拟机是什么(电脑虚拟机有啥用)

电脑虚拟机(VirtualMachine,VM),也称为虚拟计算机,是一种软件模拟的计算机,它在现有的计算机硬件上创建一个虚拟的计算机环境。这个虚拟环境可以用来运行操作系统、应用程序等软件,就像是在...

键盘图片大图(键盘图片大图清晰)

这个是仿苹果机上的无线键盘(妙控一代)的,属于山寨产品。1、在手机的微信或者短信或者其他可以打开键盘的应用中打开键盘,点击键盘左上角的输入法设置图标,页面显示输入法的各种设置功能;2、在输入法的设置...

win11系统可以更新吗(w11系统可以用了吗)

可以1.点击“开始”,打开“设置”。2.找到“更新和安全”,选择“预览体验计划”。3.点击“开始”,需要登录微软账户。4.登录完成后弹出一个升级的渠道,选择dev进行下载win11即可。方法二:首...

winxp安装系统镜像iso下载(xp的镜像系统怎么安装)

要安装一个ISO镜像文件,首先需要将ISO文件挂载到计算机上。在Windows系统中,可以右键点击ISO文件,并选择“挂载”选项,然后打开文件资源管理器就能看到ISO文件被挂载的虚拟驱动器。在Linu...

网易邮箱帐号注册(网易邮箱帐号注册网易游戏)
  • 网易邮箱帐号注册(网易邮箱帐号注册网易游戏)
  • 网易邮箱帐号注册(网易邮箱帐号注册网易游戏)
  • 网易邮箱帐号注册(网易邮箱帐号注册网易游戏)
  • 网易邮箱帐号注册(网易邮箱帐号注册网易游戏)

取消回复欢迎 发表评论: