欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

不同编程语言在发生*之前支持的调用栈最大嵌套层数 ABAPJAVAJavascriptPHPGoLang 

程序员文章站 2022-05-28 15:00:34
...

今天我的一位同事在微信群里发了一张图片,勾起了我的好奇心:不同编程语言支持的函数递归调用的最大嵌套层数是?

 
不同编程语言在发生*之前支持的调用栈最大嵌套层数
            
    
    
        ABAPJAVAJavascriptPHPGoLang 

Java 1.8


private static void recur(int i){

  System.out.println("Stack level: " + i);

  recur(++i);

}

测试结果:8644

 
不同编程语言在发生*之前支持的调用栈最大嵌套层数
            
    
    
        ABAPJAVAJavascriptPHPGoLang 

Javascript in Chrome

Chrome版本:

Version 70.0.3538.102 (Official Build) (64-bit)


function a(i){

   console.log("stack level: " + i)

   a(i+1);

}

a(0);

测试结果:11412

 
不同编程语言在发生*之前支持的调用栈最大嵌套层数
            
    
    
        ABAPJAVAJavascriptPHPGoLang 

JavaScript in nodejs

nodejs version: v8.11.3

 
不同编程语言在发生*之前支持的调用栈最大嵌套层数
            
    
    
        ABAPJAVAJavascriptPHPGoLang 

测试结果:11213

Golang

版本:

 
不同编程语言在发生*之前支持的调用栈最大嵌套层数
            
    
    
        ABAPJAVAJavascriptPHPGoLang 
 
不同编程语言在发生*之前支持的调用栈最大嵌套层数
            
    
    
        ABAPJAVAJavascriptPHPGoLang 

测试结果:3947556

 
不同编程语言在发生*之前支持的调用栈最大嵌套层数
            
    
    
        ABAPJAVAJavascriptPHPGoLang 

ABAP


data: lv_temp type int4.

form recur using iv type int4.

  sy-index = iv.

  lv_temp = iv + 1.

  perform recur using lv_temp .

endform.

START-OF-SELECTION.

   perform recur using 0.

实际上是out-of-memory错误。

 
不同编程语言在发生*之前支持的调用栈最大嵌套层数
            
    
    
        ABAPJAVAJavascriptPHPGoLang 

测试结果:12258206

 
不同编程语言在发生*之前支持的调用栈最大嵌套层数
            
    
    
        ABAPJAVAJavascriptPHPGoLang 

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

 
不同编程语言在发生*之前支持的调用栈最大嵌套层数
            
    
    
        ABAPJAVAJavascriptPHPGoLang