问题列表 - 第43051页

current_kernel_time()的可靠性如何?

我正在研究SDIO UART Linux/Android驱动程序的性能基准测试,并在待分析读取,写入功能实现的开始和结束时使用current_kernel_time(),然后打印时差.

大多数时候我得到时间差为0(零)纳秒(不管读/写数据的大小:16-2048字节),逻辑上我认为这是不正确的,只有极少数我得到一些值,希望这些是正确.

current_kernel_time()的可靠性如何?

为什么我大多数时间都会获得0ns?

我打算在内核级别进行分析以获取更多细节.在此之前,有人可以对这种行为有所了解......之前有人观察过这样的事情......

此外,欢迎任何帮助/纠正我的基准测试方法的建议!

谢谢.

编辑:
这是Linux内核版本2.6.32.9的读取代码.我在#ifdef-endif下添加了current_kernel_time(),如下所示:

static void sdio_uart_receive_chars(struct sdio_uart_port *port, unsigned int *status)
{
#ifdef SDIO_UART_DEBUG
struct timespec time_spec1, time_spec2;
time_spec1 = current_kernel_time();
#endif

    struct tty_struct *tty = port->tty;
    unsigned int ch, flag;
    int max_count = 256;

    do {
        ch = sdio_in(port, UART_RX);
        flag = TTY_NORMAL;
        port->icount.rx++;

        if (unlikely(*status & (UART_LSR_BI | UART_LSR_PE |
                        UART_LSR_FE | UART_LSR_OE))) {
            /*
             * For statistics only
             */
            if (*status & UART_LSR_BI) {
                *status &= ~(UART_LSR_FE | UART_LSR_PE); …
Run Code Online (Sandbox Code Playgroud)

linux benchmarking linux-device-driver linux-kernel

9
推荐指数
1
解决办法
6898
查看次数

如何使webview使用HTML5缓存清单?

在Android设备(包括4.4.2)上,默认的浏览器和Chrome支持HTML5缓存清单.但是,在这些相同的设备上,WebView组件似乎不支持HTML5缓存清单.有谁知道如何让WebView组件支持HTML5清单?

android webview

26
推荐指数
1
解决办法
7606
查看次数

使用正则表达式编码URL字符串

我正在尝试用不同的值替换几个不同的字符.例如,如果我有:#love hate那么我想做的就是回来%23love%20hate

这与团体有关吗?我试图理解使用组,但我真的不理解它.

java regex url

2
推荐指数
1
解决办法
3895
查看次数

关于工厂方法的建议

使用php 5.2,我正在尝试使用工厂将服务返回给控制器.我的请求uri的格式为www.mydomain.com/service/method/param1/param2/etc.然后我的控制器将使用uri中发送的令牌调用服务工厂.从我所看到的情况来看,我的工厂有两条主要路线可供选择.

单一方法:

class ServiceFactory { 
    public static function getInstance($token) { 
        switch($token) { 
            case 'location':
                return new StaticPageTemplateService('location');
                break;
            case 'product':
                return new DynamicPageTemplateService('product');
                break;
            case 'user'
                return new UserService();
                break;
            default:
                return new StaticPageTemplateService($token);
         }
    }
}
Run Code Online (Sandbox Code Playgroud)

或多种方法:

class ServiceFactory { 
    public static function getLocationService() { 
        return new StaticPageTemplateService('location');
    }
    public static function getProductService() { 
        return new DynamicPageTemplateService('product');
    }
    public static function getUserService() { 
        return new UserService();
    }
    public static function getDefaultService($token) { 
        return new StaticPageTemplateService($token);
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,考虑到这一点,我将有一些通用服务,我将传递该令牌(例如,StaticPageTemplateService和DynamicPageTemplateService),它可能会实现另一个工厂方法,就像这样来获取模板,域对象等等.将是特定服务(例如,UserService),它将是该令牌的1:1而不会被重用.因此,对于少量服务而言,这似乎是一种不错的方法(如果不是,请提供建议).但是,随着时间的推移,随着时间的推移和我的网站的增长,我最终会有100种可能性.这似乎不再是一个好方法.我只是开始使用或者是否有其他更适合的设计模式?谢谢. …

php design-patterns factory-pattern

6
推荐指数
1
解决办法
1541
查看次数

生成一个与Python中的RegEx匹配的String

可能重复:
在python中反转正则表达式

我想我遇到的问题听起来比它更容易......我不太确定.我想定义一个正则表达式,我想构建一些匹配它的字符串.

我可以导入任何具有此功能的模块吗?优选地,不是使用re.search或的蛮力方法re.match.必须有一种更优雅的方式来做到这一点.

python regex stringbuilder

15
推荐指数
2
解决办法
2万
查看次数

如何在git中保存未完全合并的索引?

我正在研究一个有几个冲突的长度合并过程.

我可以做些什么来保存中间状态,以便定期保留备份以防万一?

git merge patch

11
推荐指数
1
解决办法
740
查看次数

VB6中的标志不返回正确的值

我目前正在尝试在VB6/COM项目中使用一个标志枚举.但是,当尝试从枚举中读取值时,我得到的结果不一致.

这是枚举定义:

Enum Fruits
    None = 0
    Apple = 1
    Strawberry = 2
    Lemon = 4
End Enum
Run Code Online (Sandbox Code Playgroud)

我有一个暴露属于Fruits类型属性的对象

Public Get AvailableFruits as Fruits
Run Code Online (Sandbox Code Playgroud)

应该能够读取该值的代码用于显示/隐藏标签,具体取决于枚举的每个位的值:

lblAppleAvailable.Visible = basket.AvailableFruits And Fruits.Apple
Run Code Online (Sandbox Code Playgroud)

当我执行此代码时basket.AvailableFruits = 0,我得到True作为结果.

有什么可能导致这种行为的想法吗?

编辑:

我尝试过枚举的不同值:

basket.AvailableFruits = 0
basket.AvailableFruits And Apple        // Returns True
basket.AvailableFruits And Strawberry   // Returns True
basket.AvailableFruits And Lemon        // Returns False
Run Code Online (Sandbox Code Playgroud)

作为副节点,在调试代码时,如果我将表达式放在监视表达式中,我会得到正确的值; 但是当我的代码中计算表达式时,它仍然返回True.

我尝试使用不同的检查语法:

(basket.AvailableFruits And Fruits.Apple) = Fruits.Apple
Run Code Online (Sandbox Code Playgroud)

仍然是真的时候basket.AvailableFruits = 0:-(

在测试了不同的解决方案之后,我已经能够将问题缩小到COM组件.此组件的原始编码器将指针设置为0而不是将0作为值返回,这在尝试读取值时导致问题.

我选择了FlipScript答案因为辅助函数,这似乎是提高代码可读性的好方法.

vb6 enums bitflags

7
推荐指数
1
解决办法
1541
查看次数

现有UIPopoverController中的UIImagePickerController

有没有办法在现有的UIPopoverController导航控制器中推送UIImagePickerController?

我所知道的是你必须创建一个新的popover并在其中添加UIImagePickerController.但我有一个现有的popover及其导航控制器应该呈现图像选择器.

iphone uiimagepickercontroller uipopovercontroller

5
推荐指数
1
解决办法
1249
查看次数

setTimeout在匿名函数里面

我想在我的jQuery函数中调用editObject(),初始化调用确实有效,但是setTimeout不起作用,如何让它运行?控制台说setTimeout调用时没有定义editObject:

(function($){
    $.fn.extend({

                    ...

                    editObject()

            function editObject() {
                alert("Test!");
                setTimeout('editObject()', 1000);
            }

            return this.each(function() {
                var o = options;
            });
        }
    });
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

感谢帮助!

javascript anonymous-function settimeout

1
推荐指数
2
解决办法
4310
查看次数

C#类和只读成员

在C#中编写一个类时,如果只将它们分配给构造函数并且不会在类的其他地方进行更改,那么将所有私有成员变量标记为私有只读是一个好主意吗?或者这有点矫枉过正?

c#

8
推荐指数
1
解决办法
3079
查看次数